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

AWS Elastic Disaster Recovery Service.

*/ class AWS_DRS_API DrsClient : 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 DrsClientConfiguration ClientConfigurationType; typedef DrsEndpointProvider 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. */ DrsClient(const Aws::drs::DrsClientConfiguration& clientConfiguration = Aws::drs::DrsClientConfiguration(), 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. */ DrsClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::drs::DrsClientConfiguration& clientConfiguration = Aws::drs::DrsClientConfiguration()); /** * 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 */ DrsClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::drs::DrsClientConfiguration& clientConfiguration = Aws::drs::DrsClientConfiguration()); /* 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. */ DrsClient(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. */ DrsClient(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 */ DrsClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~DrsClient(); /** *

Associate a Source Network to an existing CloudFormation Stack and modify * launch templates to use this network. Can be used for reverting to previously * deployed CloudFormation stacks.

See Also:

AWS * API Reference

*/ virtual Model::AssociateSourceNetworkStackOutcome AssociateSourceNetworkStack(const Model::AssociateSourceNetworkStackRequest& request) const; /** * A Callable wrapper for AssociateSourceNetworkStack that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateSourceNetworkStackOutcomeCallable AssociateSourceNetworkStackCallable(const AssociateSourceNetworkStackRequestT& request) const { return SubmitCallable(&DrsClient::AssociateSourceNetworkStack, request); } /** * An Async wrapper for AssociateSourceNetworkStack that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateSourceNetworkStackAsync(const AssociateSourceNetworkStackRequestT& request, const AssociateSourceNetworkStackResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::AssociateSourceNetworkStack, request, handler, context); } /** *

Create an extended source server in the target Account based on the source * server in staging account.

See Also:

AWS * API Reference

*/ virtual Model::CreateExtendedSourceServerOutcome CreateExtendedSourceServer(const Model::CreateExtendedSourceServerRequest& request) const; /** * A Callable wrapper for CreateExtendedSourceServer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateExtendedSourceServerOutcomeCallable CreateExtendedSourceServerCallable(const CreateExtendedSourceServerRequestT& request) const { return SubmitCallable(&DrsClient::CreateExtendedSourceServer, request); } /** * An Async wrapper for CreateExtendedSourceServer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateExtendedSourceServerAsync(const CreateExtendedSourceServerRequestT& request, const CreateExtendedSourceServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::CreateExtendedSourceServer, 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(&DrsClient::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(&DrsClient::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(&DrsClient::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(&DrsClient::CreateReplicationConfigurationTemplate, request, handler, context); } /** *

Create a new Source Network resource for a provided VPC ID.

See * Also:

AWS * API Reference

*/ virtual Model::CreateSourceNetworkOutcome CreateSourceNetwork(const Model::CreateSourceNetworkRequest& request) const; /** * A Callable wrapper for CreateSourceNetwork that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateSourceNetworkOutcomeCallable CreateSourceNetworkCallable(const CreateSourceNetworkRequestT& request) const { return SubmitCallable(&DrsClient::CreateSourceNetwork, request); } /** * An Async wrapper for CreateSourceNetwork that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateSourceNetworkAsync(const CreateSourceNetworkRequestT& request, const CreateSourceNetworkResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::CreateSourceNetwork, 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(&DrsClient::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(&DrsClient::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(&DrsClient::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(&DrsClient::DeleteLaunchConfigurationTemplate, request, handler, context); } /** *

Deletes a single Recovery Instance by ID. This deletes the Recovery Instance * resource from Elastic Disaster Recovery. The Recovery Instance must be * disconnected first in order to delete it.

See Also:

AWS * API Reference

*/ virtual Model::DeleteRecoveryInstanceOutcome DeleteRecoveryInstance(const Model::DeleteRecoveryInstanceRequest& request) const; /** * A Callable wrapper for DeleteRecoveryInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteRecoveryInstanceOutcomeCallable DeleteRecoveryInstanceCallable(const DeleteRecoveryInstanceRequestT& request) const { return SubmitCallable(&DrsClient::DeleteRecoveryInstance, request); } /** * An Async wrapper for DeleteRecoveryInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteRecoveryInstanceAsync(const DeleteRecoveryInstanceRequestT& request, const DeleteRecoveryInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::DeleteRecoveryInstance, 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(&DrsClient::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(&DrsClient::DeleteReplicationConfigurationTemplate, request, handler, context); } /** *

Delete Source Network resource.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSourceNetworkOutcome DeleteSourceNetwork(const Model::DeleteSourceNetworkRequest& request) const; /** * A Callable wrapper for DeleteSourceNetwork that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSourceNetworkOutcomeCallable DeleteSourceNetworkCallable(const DeleteSourceNetworkRequestT& request) const { return SubmitCallable(&DrsClient::DeleteSourceNetwork, request); } /** * An Async wrapper for DeleteSourceNetwork that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSourceNetworkAsync(const DeleteSourceNetworkRequestT& request, const DeleteSourceNetworkResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::DeleteSourceNetwork, request, handler, context); } /** *

Deletes a single Source Server by ID. The Source Server must be disconnected * first.

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(&DrsClient::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(&DrsClient::DeleteSourceServer, request, handler, context); } /** *

Retrieves a detailed Job log with pagination.

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(&DrsClient::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(&DrsClient::DescribeJobLogItems, request, handler, context); } /** *

Returns a list of Jobs. Use the JobsID and fromDate and toDate filters to * limit which jobs are returned. The response is sorted by creationDataTime - * latest date first. Jobs are created by the StartRecovery, * TerminateRecoveryInstances and StartFailbackLaunch 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(&DrsClient::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(&DrsClient::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(&DrsClient::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(&DrsClient::DescribeLaunchConfigurationTemplates, request, handler, context); } /** *

Lists all Recovery Instances or multiple Recovery Instances by * ID.

See Also:

AWS * API Reference

*/ virtual Model::DescribeRecoveryInstancesOutcome DescribeRecoveryInstances(const Model::DescribeRecoveryInstancesRequest& request) const; /** * A Callable wrapper for DescribeRecoveryInstances that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeRecoveryInstancesOutcomeCallable DescribeRecoveryInstancesCallable(const DescribeRecoveryInstancesRequestT& request) const { return SubmitCallable(&DrsClient::DescribeRecoveryInstances, request); } /** * An Async wrapper for DescribeRecoveryInstances that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeRecoveryInstancesAsync(const DescribeRecoveryInstancesRequestT& request, const DescribeRecoveryInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::DescribeRecoveryInstances, request, handler, context); } /** *

Lists all Recovery Snapshots for a single Source Server.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeRecoverySnapshotsOutcome DescribeRecoverySnapshots(const Model::DescribeRecoverySnapshotsRequest& request) const; /** * A Callable wrapper for DescribeRecoverySnapshots that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeRecoverySnapshotsOutcomeCallable DescribeRecoverySnapshotsCallable(const DescribeRecoverySnapshotsRequestT& request) const { return SubmitCallable(&DrsClient::DescribeRecoverySnapshots, request); } /** * An Async wrapper for DescribeRecoverySnapshots that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeRecoverySnapshotsAsync(const DescribeRecoverySnapshotsRequestT& request, const DescribeRecoverySnapshotsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::DescribeRecoverySnapshots, 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(&DrsClient::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(&DrsClient::DescribeReplicationConfigurationTemplates, request, handler, context); } /** *

Lists all Source Networks or multiple Source Networks filtered by * ID.

See Also:

AWS * API Reference

*/ virtual Model::DescribeSourceNetworksOutcome DescribeSourceNetworks(const Model::DescribeSourceNetworksRequest& request) const; /** * A Callable wrapper for DescribeSourceNetworks that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeSourceNetworksOutcomeCallable DescribeSourceNetworksCallable(const DescribeSourceNetworksRequestT& request) const { return SubmitCallable(&DrsClient::DescribeSourceNetworks, request); } /** * An Async wrapper for DescribeSourceNetworks that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeSourceNetworksAsync(const DescribeSourceNetworksRequestT& request, const DescribeSourceNetworksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::DescribeSourceNetworks, request, handler, context); } /** *

Lists all Source Servers or multiple Source Servers filtered 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(&DrsClient::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(&DrsClient::DescribeSourceServers, request, handler, context); } /** *

Disconnect a Recovery Instance from Elastic Disaster Recovery. Data * replication is stopped immediately. All AWS resources created by Elastic * Disaster Recovery for enabling the replication of the Recovery Instance will be * terminated / deleted within 90 minutes. If the agent on the Recovery Instance * has not been prevented from communicating with the Elastic Disaster Recovery * service, then it will receive a command to uninstall itself (within * approximately 10 minutes). The following properties of the Recovery Instance * 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::DisconnectRecoveryInstanceOutcome DisconnectRecoveryInstance(const Model::DisconnectRecoveryInstanceRequest& request) const; /** * A Callable wrapper for DisconnectRecoveryInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisconnectRecoveryInstanceOutcomeCallable DisconnectRecoveryInstanceCallable(const DisconnectRecoveryInstanceRequestT& request) const { return SubmitCallable(&DrsClient::DisconnectRecoveryInstance, request); } /** * An Async wrapper for DisconnectRecoveryInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisconnectRecoveryInstanceAsync(const DisconnectRecoveryInstanceRequestT& request, const DisconnectRecoveryInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::DisconnectRecoveryInstance, request, handler, context); } /** *

Disconnects a specific Source Server from Elastic Disaster Recovery. Data * replication is stopped immediately. All AWS resources created by Elastic * Disaster Recovery for enabling the replication of the Source Server will be * terminated / deleted within 90 minutes. You cannot disconnect a Source Server if * it has a Recovery Instance. If the agent on the Source Server has not been * prevented from communicating with the Elastic Disaster Recovery 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::DisconnectSourceServerOutcome DisconnectSourceServer(const Model::DisconnectSourceServerRequest& request) const; /** * A Callable wrapper for DisconnectSourceServer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisconnectSourceServerOutcomeCallable DisconnectSourceServerCallable(const DisconnectSourceServerRequestT& request) const { return SubmitCallable(&DrsClient::DisconnectSourceServer, request); } /** * An Async wrapper for DisconnectSourceServer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisconnectSourceServerAsync(const DisconnectSourceServerRequestT& request, const DisconnectSourceServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::DisconnectSourceServer, request, handler, context); } /** *

Export the Source Network CloudFormation template to an S3 * bucket.

See Also:

AWS * API Reference

*/ virtual Model::ExportSourceNetworkCfnTemplateOutcome ExportSourceNetworkCfnTemplate(const Model::ExportSourceNetworkCfnTemplateRequest& request) const; /** * A Callable wrapper for ExportSourceNetworkCfnTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ExportSourceNetworkCfnTemplateOutcomeCallable ExportSourceNetworkCfnTemplateCallable(const ExportSourceNetworkCfnTemplateRequestT& request) const { return SubmitCallable(&DrsClient::ExportSourceNetworkCfnTemplate, request); } /** * An Async wrapper for ExportSourceNetworkCfnTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ExportSourceNetworkCfnTemplateAsync(const ExportSourceNetworkCfnTemplateRequestT& request, const ExportSourceNetworkCfnTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::ExportSourceNetworkCfnTemplate, request, handler, context); } /** *

Lists all Failback ReplicationConfigurations, filtered by Recovery Instance * ID.

See Also:

AWS * API Reference

*/ virtual Model::GetFailbackReplicationConfigurationOutcome GetFailbackReplicationConfiguration(const Model::GetFailbackReplicationConfigurationRequest& request) const; /** * A Callable wrapper for GetFailbackReplicationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetFailbackReplicationConfigurationOutcomeCallable GetFailbackReplicationConfigurationCallable(const GetFailbackReplicationConfigurationRequestT& request) const { return SubmitCallable(&DrsClient::GetFailbackReplicationConfiguration, request); } /** * An Async wrapper for GetFailbackReplicationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetFailbackReplicationConfigurationAsync(const GetFailbackReplicationConfigurationRequestT& request, const GetFailbackReplicationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::GetFailbackReplicationConfiguration, request, handler, context); } /** *

Gets a LaunchConfiguration, 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(&DrsClient::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(&DrsClient::GetLaunchConfiguration, request, handler, context); } /** *

Gets a ReplicationConfiguration, 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(&DrsClient::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(&DrsClient::GetReplicationConfiguration, request, handler, context); } /** *

Initialize Elastic Disaster Recovery.

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(&DrsClient::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(&DrsClient::InitializeService, request, handler, context); } /** *

Returns a list of source servers on a staging account that are extensible, * which means that: a. The source server is not already extended into this * Account. b. The source server on the Account we’re reading from is not an * extension of another source server.

See Also:

AWS * API Reference

*/ virtual Model::ListExtensibleSourceServersOutcome ListExtensibleSourceServers(const Model::ListExtensibleSourceServersRequest& request) const; /** * A Callable wrapper for ListExtensibleSourceServers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListExtensibleSourceServersOutcomeCallable ListExtensibleSourceServersCallable(const ListExtensibleSourceServersRequestT& request) const { return SubmitCallable(&DrsClient::ListExtensibleSourceServers, request); } /** * An Async wrapper for ListExtensibleSourceServers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListExtensibleSourceServersAsync(const ListExtensibleSourceServersRequestT& request, const ListExtensibleSourceServersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::ListExtensibleSourceServers, request, handler, context); } /** *

Returns an array of staging accounts for existing extended source * servers.

See Also:

AWS * API Reference

*/ virtual Model::ListStagingAccountsOutcome ListStagingAccounts(const Model::ListStagingAccountsRequest& request) const; /** * A Callable wrapper for ListStagingAccounts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListStagingAccountsOutcomeCallable ListStagingAccountsCallable(const ListStagingAccountsRequestT& request) const { return SubmitCallable(&DrsClient::ListStagingAccounts, request); } /** * An Async wrapper for ListStagingAccounts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListStagingAccountsAsync(const ListStagingAccountsRequestT& request, const ListStagingAccountsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::ListStagingAccounts, request, handler, context); } /** *

List all tags for your Elastic Disaster Recovery 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(&DrsClient::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(&DrsClient::ListTagsForResource, request, handler, context); } /** *

Start replication to origin / target region - applies only to protected * instances that originated in EC2. For recovery instances on target region - * starts replication back to origin region. For failback instances on origin * region - starts replication to target region to re-protect them.

See * Also:

AWS * API Reference

*/ virtual Model::ReverseReplicationOutcome ReverseReplication(const Model::ReverseReplicationRequest& request) const; /** * A Callable wrapper for ReverseReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ReverseReplicationOutcomeCallable ReverseReplicationCallable(const ReverseReplicationRequestT& request) const { return SubmitCallable(&DrsClient::ReverseReplication, request); } /** * An Async wrapper for ReverseReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ReverseReplicationAsync(const ReverseReplicationRequestT& request, const ReverseReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::ReverseReplication, request, handler, context); } /** *

Initiates a Job for launching the machine that is being failed back to from * the specified Recovery Instance. This will run conversion on the failback client * and will reboot your machine, thus completing the failback * process.

See Also:

AWS * API Reference

*/ virtual Model::StartFailbackLaunchOutcome StartFailbackLaunch(const Model::StartFailbackLaunchRequest& request) const; /** * A Callable wrapper for StartFailbackLaunch that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartFailbackLaunchOutcomeCallable StartFailbackLaunchCallable(const StartFailbackLaunchRequestT& request) const { return SubmitCallable(&DrsClient::StartFailbackLaunch, request); } /** * An Async wrapper for StartFailbackLaunch that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartFailbackLaunchAsync(const StartFailbackLaunchRequestT& request, const StartFailbackLaunchResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::StartFailbackLaunch, request, handler, context); } /** *

Launches Recovery Instances for the specified Source Servers. For each Source * Server you may choose a point in time snapshot to launch from, or use an on * demand snapshot.

See Also:

AWS * API Reference

*/ virtual Model::StartRecoveryOutcome StartRecovery(const Model::StartRecoveryRequest& request) const; /** * A Callable wrapper for StartRecovery that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartRecoveryOutcomeCallable StartRecoveryCallable(const StartRecoveryRequestT& request) const { return SubmitCallable(&DrsClient::StartRecovery, request); } /** * An Async wrapper for StartRecovery that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartRecoveryAsync(const StartRecoveryRequestT& request, const StartRecoveryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::StartRecovery, request, handler, context); } /** *

Starts replication for a stopped Source Server. This action would make the * Source Server protected again and restart billing for it.

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(&DrsClient::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(&DrsClient::StartReplication, request, handler, context); } /** *

Deploy VPC for the specified Source Network and modify launch templates to * use this network. The VPC will be deployed using a dedicated CloudFormation * stack.

See Also:

AWS * API Reference

*/ virtual Model::StartSourceNetworkRecoveryOutcome StartSourceNetworkRecovery(const Model::StartSourceNetworkRecoveryRequest& request) const; /** * A Callable wrapper for StartSourceNetworkRecovery that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartSourceNetworkRecoveryOutcomeCallable StartSourceNetworkRecoveryCallable(const StartSourceNetworkRecoveryRequestT& request) const { return SubmitCallable(&DrsClient::StartSourceNetworkRecovery, request); } /** * An Async wrapper for StartSourceNetworkRecovery that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartSourceNetworkRecoveryAsync(const StartSourceNetworkRecoveryRequestT& request, const StartSourceNetworkRecoveryResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::StartSourceNetworkRecovery, request, handler, context); } /** *

Starts replication for a Source Network. This action would make the Source * Network protected.

See Also:

AWS * API Reference

*/ virtual Model::StartSourceNetworkReplicationOutcome StartSourceNetworkReplication(const Model::StartSourceNetworkReplicationRequest& request) const; /** * A Callable wrapper for StartSourceNetworkReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartSourceNetworkReplicationOutcomeCallable StartSourceNetworkReplicationCallable(const StartSourceNetworkReplicationRequestT& request) const { return SubmitCallable(&DrsClient::StartSourceNetworkReplication, request); } /** * An Async wrapper for StartSourceNetworkReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartSourceNetworkReplicationAsync(const StartSourceNetworkReplicationRequestT& request, const StartSourceNetworkReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::StartSourceNetworkReplication, request, handler, context); } /** *

Stops the failback process for a specified Recovery Instance. This changes * the Failback State of the Recovery Instance back to * FAILBACK_NOT_STARTED.

See Also:

AWS * API Reference

*/ virtual Model::StopFailbackOutcome StopFailback(const Model::StopFailbackRequest& request) const; /** * A Callable wrapper for StopFailback that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopFailbackOutcomeCallable StopFailbackCallable(const StopFailbackRequestT& request) const { return SubmitCallable(&DrsClient::StopFailback, request); } /** * An Async wrapper for StopFailback that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopFailbackAsync(const StopFailbackRequestT& request, const StopFailbackResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::StopFailback, request, handler, context); } /** *

Stops replication for a Source Server. This action would make the Source * Server unprotected, delete its existing snapshots and stop billing for * it.

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(&DrsClient::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(&DrsClient::StopReplication, request, handler, context); } /** *

Stops replication for a Source Network. This action would make the Source * Network unprotected.

See Also:

AWS * API Reference

*/ virtual Model::StopSourceNetworkReplicationOutcome StopSourceNetworkReplication(const Model::StopSourceNetworkReplicationRequest& request) const; /** * A Callable wrapper for StopSourceNetworkReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopSourceNetworkReplicationOutcomeCallable StopSourceNetworkReplicationCallable(const StopSourceNetworkReplicationRequestT& request) const { return SubmitCallable(&DrsClient::StopSourceNetworkReplication, request); } /** * An Async wrapper for StopSourceNetworkReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopSourceNetworkReplicationAsync(const StopSourceNetworkReplicationRequestT& request, const StopSourceNetworkReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::StopSourceNetworkReplication, request, handler, context); } /** *

Adds or overwrites only the specified tags for the specified Elastic Disaster * Recovery 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(&DrsClient::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(&DrsClient::TagResource, request, handler, context); } /** *

Initiates a Job for terminating the EC2 resources associated with the * specified Recovery Instances, and then will delete the Recovery Instances from * the Elastic Disaster Recovery service.

See Also:

AWS * API Reference

*/ virtual Model::TerminateRecoveryInstancesOutcome TerminateRecoveryInstances(const Model::TerminateRecoveryInstancesRequest& request) const; /** * A Callable wrapper for TerminateRecoveryInstances that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TerminateRecoveryInstancesOutcomeCallable TerminateRecoveryInstancesCallable(const TerminateRecoveryInstancesRequestT& request) const { return SubmitCallable(&DrsClient::TerminateRecoveryInstances, request); } /** * An Async wrapper for TerminateRecoveryInstances that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TerminateRecoveryInstancesAsync(const TerminateRecoveryInstancesRequestT& request, const TerminateRecoveryInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::TerminateRecoveryInstances, request, handler, context); } /** *

Deletes the specified set of tags from the specified set of Elastic Disaster * Recovery 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(&DrsClient::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(&DrsClient::UntagResource, request, handler, context); } /** *

Allows you to update the failback replication configuration of a Recovery * Instance by ID.

See Also:

AWS * API Reference

*/ virtual Model::UpdateFailbackReplicationConfigurationOutcome UpdateFailbackReplicationConfiguration(const Model::UpdateFailbackReplicationConfigurationRequest& request) const; /** * A Callable wrapper for UpdateFailbackReplicationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateFailbackReplicationConfigurationOutcomeCallable UpdateFailbackReplicationConfigurationCallable(const UpdateFailbackReplicationConfigurationRequestT& request) const { return SubmitCallable(&DrsClient::UpdateFailbackReplicationConfiguration, request); } /** * An Async wrapper for UpdateFailbackReplicationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateFailbackReplicationConfigurationAsync(const UpdateFailbackReplicationConfigurationRequestT& request, const UpdateFailbackReplicationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&DrsClient::UpdateFailbackReplicationConfiguration, request, handler, context); } /** *

Updates a LaunchConfiguration 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(&DrsClient::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(&DrsClient::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(&DrsClient::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(&DrsClient::UpdateLaunchConfigurationTemplate, request, handler, context); } /** *

Allows you to update a ReplicationConfiguration 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(&DrsClient::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(&DrsClient::UpdateReplicationConfiguration, request, handler, context); } /** *

Updates a ReplicationConfigurationTemplate 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(&DrsClient::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(&DrsClient::UpdateReplicationConfigurationTemplate, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const DrsClientConfiguration& clientConfiguration); DrsClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace drs } // namespace Aws