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

Product update

We recommend Amazon Web Services * Application Migration Service (Amazon Web Services MGN) as the primary * migration service for lift-and-shift migrations. If Amazon Web Services MGN is * unavailable in a specific Amazon Web Services Region, you can use the Server * Migration Service APIs through March 2023.

Server Migration * Service (Server Migration Service) makes it easier and faster for you to migrate * your on-premises workloads to Amazon Web Services. To learn more about Server * Migration Service, see the following resources:

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

Creates an application. An application consists of one or more server groups. * Each server group contain one or more servers.

See Also:

AWS API * Reference

*/ virtual Model::CreateAppOutcome CreateApp(const Model::CreateAppRequest& request) const; /** * A Callable wrapper for CreateApp that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateAppOutcomeCallable CreateAppCallable(const CreateAppRequestT& request) const { return SubmitCallable(&SMSClient::CreateApp, request); } /** * An Async wrapper for CreateApp that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateAppAsync(const CreateAppRequestT& request, const CreateAppResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::CreateApp, request, handler, context); } /** *

Creates a replication job. The replication job schedules periodic replication * runs to replicate your server to Amazon Web Services. Each replication run * creates an Amazon Machine Image (AMI).

See Also:

AWS * API Reference

*/ virtual Model::CreateReplicationJobOutcome CreateReplicationJob(const Model::CreateReplicationJobRequest& request) const; /** * A Callable wrapper for CreateReplicationJob that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateReplicationJobOutcomeCallable CreateReplicationJobCallable(const CreateReplicationJobRequestT& request) const { return SubmitCallable(&SMSClient::CreateReplicationJob, request); } /** * An Async wrapper for CreateReplicationJob that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateReplicationJobAsync(const CreateReplicationJobRequestT& request, const CreateReplicationJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::CreateReplicationJob, request, handler, context); } /** *

Deletes the specified application. Optionally deletes the launched stack * associated with the application and all Server Migration Service replication * jobs for servers in the application.

See Also:

AWS API * Reference

*/ virtual Model::DeleteAppOutcome DeleteApp(const Model::DeleteAppRequest& request) const; /** * A Callable wrapper for DeleteApp that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteAppOutcomeCallable DeleteAppCallable(const DeleteAppRequestT& request) const { return SubmitCallable(&SMSClient::DeleteApp, request); } /** * An Async wrapper for DeleteApp that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteAppAsync(const DeleteAppRequestT& request, const DeleteAppResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::DeleteApp, request, handler, context); } /** *

Deletes the launch configuration for the specified application.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteAppLaunchConfigurationOutcome DeleteAppLaunchConfiguration(const Model::DeleteAppLaunchConfigurationRequest& request) const; /** * A Callable wrapper for DeleteAppLaunchConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteAppLaunchConfigurationOutcomeCallable DeleteAppLaunchConfigurationCallable(const DeleteAppLaunchConfigurationRequestT& request) const { return SubmitCallable(&SMSClient::DeleteAppLaunchConfiguration, request); } /** * An Async wrapper for DeleteAppLaunchConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteAppLaunchConfigurationAsync(const DeleteAppLaunchConfigurationRequestT& request, const DeleteAppLaunchConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::DeleteAppLaunchConfiguration, request, handler, context); } /** *

Deletes the replication configuration for the specified * application.

See Also:

AWS * API Reference

*/ virtual Model::DeleteAppReplicationConfigurationOutcome DeleteAppReplicationConfiguration(const Model::DeleteAppReplicationConfigurationRequest& request) const; /** * A Callable wrapper for DeleteAppReplicationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteAppReplicationConfigurationOutcomeCallable DeleteAppReplicationConfigurationCallable(const DeleteAppReplicationConfigurationRequestT& request) const { return SubmitCallable(&SMSClient::DeleteAppReplicationConfiguration, request); } /** * An Async wrapper for DeleteAppReplicationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteAppReplicationConfigurationAsync(const DeleteAppReplicationConfigurationRequestT& request, const DeleteAppReplicationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::DeleteAppReplicationConfiguration, request, handler, context); } /** *

Deletes the validation configuration for the specified * application.

See Also:

AWS * API Reference

*/ virtual Model::DeleteAppValidationConfigurationOutcome DeleteAppValidationConfiguration(const Model::DeleteAppValidationConfigurationRequest& request) const; /** * A Callable wrapper for DeleteAppValidationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteAppValidationConfigurationOutcomeCallable DeleteAppValidationConfigurationCallable(const DeleteAppValidationConfigurationRequestT& request) const { return SubmitCallable(&SMSClient::DeleteAppValidationConfiguration, request); } /** * An Async wrapper for DeleteAppValidationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteAppValidationConfigurationAsync(const DeleteAppValidationConfigurationRequestT& request, const DeleteAppValidationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::DeleteAppValidationConfiguration, request, handler, context); } /** *

Deletes the specified replication job.

After you delete a replication * job, there are no further replication runs. Amazon Web Services deletes the * contents of the Amazon S3 bucket used to store Server Migration Service * artifacts. The AMIs created by the replication runs are not * deleted.

See Also:

AWS * API Reference

*/ virtual Model::DeleteReplicationJobOutcome DeleteReplicationJob(const Model::DeleteReplicationJobRequest& request) const; /** * A Callable wrapper for DeleteReplicationJob that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteReplicationJobOutcomeCallable DeleteReplicationJobCallable(const DeleteReplicationJobRequestT& request) const { return SubmitCallable(&SMSClient::DeleteReplicationJob, request); } /** * An Async wrapper for DeleteReplicationJob that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteReplicationJobAsync(const DeleteReplicationJobRequestT& request, const DeleteReplicationJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::DeleteReplicationJob, request, handler, context); } /** *

Deletes all servers from your server catalog.

See Also:

AWS * API Reference

*/ virtual Model::DeleteServerCatalogOutcome DeleteServerCatalog(const Model::DeleteServerCatalogRequest& request) const; /** * A Callable wrapper for DeleteServerCatalog that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteServerCatalogOutcomeCallable DeleteServerCatalogCallable(const DeleteServerCatalogRequestT& request) const { return SubmitCallable(&SMSClient::DeleteServerCatalog, request); } /** * An Async wrapper for DeleteServerCatalog that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteServerCatalogAsync(const DeleteServerCatalogRequestT& request, const DeleteServerCatalogResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::DeleteServerCatalog, request, handler, context); } /** *

Disassociates the specified connector from Server Migration Service.

*

After you disassociate a connector, it is no longer available to support * replication jobs.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateConnectorOutcome DisassociateConnector(const Model::DisassociateConnectorRequest& request) const; /** * A Callable wrapper for DisassociateConnector that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateConnectorOutcomeCallable DisassociateConnectorCallable(const DisassociateConnectorRequestT& request) const { return SubmitCallable(&SMSClient::DisassociateConnector, request); } /** * An Async wrapper for DisassociateConnector that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateConnectorAsync(const DisassociateConnectorRequestT& request, const DisassociateConnectorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::DisassociateConnector, request, handler, context); } /** *

Generates a target change set for a currently launched stack and writes it to * an Amazon S3 object in the customer’s Amazon S3 bucket.

See Also:

* AWS * API Reference

*/ virtual Model::GenerateChangeSetOutcome GenerateChangeSet(const Model::GenerateChangeSetRequest& request) const; /** * A Callable wrapper for GenerateChangeSet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GenerateChangeSetOutcomeCallable GenerateChangeSetCallable(const GenerateChangeSetRequestT& request) const { return SubmitCallable(&SMSClient::GenerateChangeSet, request); } /** * An Async wrapper for GenerateChangeSet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GenerateChangeSetAsync(const GenerateChangeSetRequestT& request, const GenerateChangeSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GenerateChangeSet, request, handler, context); } /** *

Generates an CloudFormation template based on the current launch * configuration and writes it to an Amazon S3 object in the customer’s Amazon S3 * bucket.

See Also:

AWS * API Reference

*/ virtual Model::GenerateTemplateOutcome GenerateTemplate(const Model::GenerateTemplateRequest& request) const; /** * A Callable wrapper for GenerateTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GenerateTemplateOutcomeCallable GenerateTemplateCallable(const GenerateTemplateRequestT& request) const { return SubmitCallable(&SMSClient::GenerateTemplate, request); } /** * An Async wrapper for GenerateTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GenerateTemplateAsync(const GenerateTemplateRequestT& request, const GenerateTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GenerateTemplate, request, handler, context); } /** *

Retrieve information about the specified application.

See * Also:

AWS API * Reference

*/ virtual Model::GetAppOutcome GetApp(const Model::GetAppRequest& request) const; /** * A Callable wrapper for GetApp that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAppOutcomeCallable GetAppCallable(const GetAppRequestT& request) const { return SubmitCallable(&SMSClient::GetApp, request); } /** * An Async wrapper for GetApp that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAppAsync(const GetAppRequestT& request, const GetAppResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GetApp, request, handler, context); } /** *

Retrieves the application launch configuration associated with the specified * application.

See Also:

AWS * API Reference

*/ virtual Model::GetAppLaunchConfigurationOutcome GetAppLaunchConfiguration(const Model::GetAppLaunchConfigurationRequest& request) const; /** * A Callable wrapper for GetAppLaunchConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAppLaunchConfigurationOutcomeCallable GetAppLaunchConfigurationCallable(const GetAppLaunchConfigurationRequestT& request) const { return SubmitCallable(&SMSClient::GetAppLaunchConfiguration, request); } /** * An Async wrapper for GetAppLaunchConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAppLaunchConfigurationAsync(const GetAppLaunchConfigurationRequestT& request, const GetAppLaunchConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GetAppLaunchConfiguration, request, handler, context); } /** *

Retrieves the application replication configuration associated with the * specified application.

See Also:

AWS * API Reference

*/ virtual Model::GetAppReplicationConfigurationOutcome GetAppReplicationConfiguration(const Model::GetAppReplicationConfigurationRequest& request) const; /** * A Callable wrapper for GetAppReplicationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAppReplicationConfigurationOutcomeCallable GetAppReplicationConfigurationCallable(const GetAppReplicationConfigurationRequestT& request) const { return SubmitCallable(&SMSClient::GetAppReplicationConfiguration, request); } /** * An Async wrapper for GetAppReplicationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAppReplicationConfigurationAsync(const GetAppReplicationConfigurationRequestT& request, const GetAppReplicationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GetAppReplicationConfiguration, request, handler, context); } /** *

Retrieves information about a configuration for validating an * application.

See Also:

AWS * API Reference

*/ virtual Model::GetAppValidationConfigurationOutcome GetAppValidationConfiguration(const Model::GetAppValidationConfigurationRequest& request) const; /** * A Callable wrapper for GetAppValidationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAppValidationConfigurationOutcomeCallable GetAppValidationConfigurationCallable(const GetAppValidationConfigurationRequestT& request) const { return SubmitCallable(&SMSClient::GetAppValidationConfiguration, request); } /** * An Async wrapper for GetAppValidationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAppValidationConfigurationAsync(const GetAppValidationConfigurationRequestT& request, const GetAppValidationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GetAppValidationConfiguration, request, handler, context); } /** *

Retrieves output from validating an application.

See Also:

* AWS * API Reference

*/ virtual Model::GetAppValidationOutputOutcome GetAppValidationOutput(const Model::GetAppValidationOutputRequest& request) const; /** * A Callable wrapper for GetAppValidationOutput that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetAppValidationOutputOutcomeCallable GetAppValidationOutputCallable(const GetAppValidationOutputRequestT& request) const { return SubmitCallable(&SMSClient::GetAppValidationOutput, request); } /** * An Async wrapper for GetAppValidationOutput that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetAppValidationOutputAsync(const GetAppValidationOutputRequestT& request, const GetAppValidationOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GetAppValidationOutput, request, handler, context); } /** *

Describes the connectors registered with the Server Migration * Service.

See Also:

AWS * API Reference

*/ virtual Model::GetConnectorsOutcome GetConnectors(const Model::GetConnectorsRequest& request) const; /** * A Callable wrapper for GetConnectors that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetConnectorsOutcomeCallable GetConnectorsCallable(const GetConnectorsRequestT& request) const { return SubmitCallable(&SMSClient::GetConnectors, request); } /** * An Async wrapper for GetConnectors that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetConnectorsAsync(const GetConnectorsRequestT& request, const GetConnectorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GetConnectors, request, handler, context); } /** *

Describes the specified replication job or all of your replication * jobs.

See Also:

AWS * API Reference

*/ virtual Model::GetReplicationJobsOutcome GetReplicationJobs(const Model::GetReplicationJobsRequest& request) const; /** * A Callable wrapper for GetReplicationJobs that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetReplicationJobsOutcomeCallable GetReplicationJobsCallable(const GetReplicationJobsRequestT& request) const { return SubmitCallable(&SMSClient::GetReplicationJobs, request); } /** * An Async wrapper for GetReplicationJobs that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetReplicationJobsAsync(const GetReplicationJobsRequestT& request, const GetReplicationJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GetReplicationJobs, request, handler, context); } /** *

Describes the replication runs for the specified replication * job.

See Also:

AWS * API Reference

*/ virtual Model::GetReplicationRunsOutcome GetReplicationRuns(const Model::GetReplicationRunsRequest& request) const; /** * A Callable wrapper for GetReplicationRuns that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetReplicationRunsOutcomeCallable GetReplicationRunsCallable(const GetReplicationRunsRequestT& request) const { return SubmitCallable(&SMSClient::GetReplicationRuns, request); } /** * An Async wrapper for GetReplicationRuns that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetReplicationRunsAsync(const GetReplicationRunsRequestT& request, const GetReplicationRunsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GetReplicationRuns, request, handler, context); } /** *

Describes the servers in your server catalog.

Before you can describe * your servers, you must import them using * ImportServerCatalog.

See Also:

AWS API * Reference

*/ virtual Model::GetServersOutcome GetServers(const Model::GetServersRequest& request) const; /** * A Callable wrapper for GetServers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetServersOutcomeCallable GetServersCallable(const GetServersRequestT& request) const { return SubmitCallable(&SMSClient::GetServers, request); } /** * An Async wrapper for GetServers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetServersAsync(const GetServersRequestT& request, const GetServersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::GetServers, request, handler, context); } /** *

Allows application import from Migration Hub.

See Also:

AWS * API Reference

*/ virtual Model::ImportAppCatalogOutcome ImportAppCatalog(const Model::ImportAppCatalogRequest& request) const; /** * A Callable wrapper for ImportAppCatalog that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ImportAppCatalogOutcomeCallable ImportAppCatalogCallable(const ImportAppCatalogRequestT& request) const { return SubmitCallable(&SMSClient::ImportAppCatalog, request); } /** * An Async wrapper for ImportAppCatalog that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ImportAppCatalogAsync(const ImportAppCatalogRequestT& request, const ImportAppCatalogResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::ImportAppCatalog, request, handler, context); } /** *

Gathers a complete list of on-premises servers. Connectors must be installed * and monitoring all servers to import.

This call returns immediately, but * might take additional time to retrieve all the servers.

See Also:

* AWS * API Reference

*/ virtual Model::ImportServerCatalogOutcome ImportServerCatalog(const Model::ImportServerCatalogRequest& request) const; /** * A Callable wrapper for ImportServerCatalog that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ImportServerCatalogOutcomeCallable ImportServerCatalogCallable(const ImportServerCatalogRequestT& request) const { return SubmitCallable(&SMSClient::ImportServerCatalog, request); } /** * An Async wrapper for ImportServerCatalog that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ImportServerCatalogAsync(const ImportServerCatalogRequestT& request, const ImportServerCatalogResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::ImportServerCatalog, request, handler, context); } /** *

Launches the specified application as a stack in * CloudFormation.

See Also:

AWS API * Reference

*/ virtual Model::LaunchAppOutcome LaunchApp(const Model::LaunchAppRequest& request) const; /** * A Callable wrapper for LaunchApp that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::LaunchAppOutcomeCallable LaunchAppCallable(const LaunchAppRequestT& request) const { return SubmitCallable(&SMSClient::LaunchApp, request); } /** * An Async wrapper for LaunchApp that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void LaunchAppAsync(const LaunchAppRequestT& request, const LaunchAppResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::LaunchApp, request, handler, context); } /** *

Retrieves summaries for all applications.

See Also:

AWS API * Reference

*/ virtual Model::ListAppsOutcome ListApps(const Model::ListAppsRequest& request) const; /** * A Callable wrapper for ListApps that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAppsOutcomeCallable ListAppsCallable(const ListAppsRequestT& request) const { return SubmitCallable(&SMSClient::ListApps, request); } /** * An Async wrapper for ListApps that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAppsAsync(const ListAppsRequestT& request, const ListAppsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::ListApps, request, handler, context); } /** *

Provides information to Server Migration Service about whether application * validation is successful.

See Also:

AWS * API Reference

*/ virtual Model::NotifyAppValidationOutputOutcome NotifyAppValidationOutput(const Model::NotifyAppValidationOutputRequest& request) const; /** * A Callable wrapper for NotifyAppValidationOutput that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::NotifyAppValidationOutputOutcomeCallable NotifyAppValidationOutputCallable(const NotifyAppValidationOutputRequestT& request) const { return SubmitCallable(&SMSClient::NotifyAppValidationOutput, request); } /** * An Async wrapper for NotifyAppValidationOutput that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void NotifyAppValidationOutputAsync(const NotifyAppValidationOutputRequestT& request, const NotifyAppValidationOutputResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::NotifyAppValidationOutput, request, handler, context); } /** *

Creates or updates the launch configuration for the specified * application.

See Also:

AWS * API Reference

*/ virtual Model::PutAppLaunchConfigurationOutcome PutAppLaunchConfiguration(const Model::PutAppLaunchConfigurationRequest& request) const; /** * A Callable wrapper for PutAppLaunchConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutAppLaunchConfigurationOutcomeCallable PutAppLaunchConfigurationCallable(const PutAppLaunchConfigurationRequestT& request) const { return SubmitCallable(&SMSClient::PutAppLaunchConfiguration, request); } /** * An Async wrapper for PutAppLaunchConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutAppLaunchConfigurationAsync(const PutAppLaunchConfigurationRequestT& request, const PutAppLaunchConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::PutAppLaunchConfiguration, request, handler, context); } /** *

Creates or updates the replication configuration for the specified * application.

See Also:

AWS * API Reference

*/ virtual Model::PutAppReplicationConfigurationOutcome PutAppReplicationConfiguration(const Model::PutAppReplicationConfigurationRequest& request) const; /** * A Callable wrapper for PutAppReplicationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutAppReplicationConfigurationOutcomeCallable PutAppReplicationConfigurationCallable(const PutAppReplicationConfigurationRequestT& request) const { return SubmitCallable(&SMSClient::PutAppReplicationConfiguration, request); } /** * An Async wrapper for PutAppReplicationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutAppReplicationConfigurationAsync(const PutAppReplicationConfigurationRequestT& request, const PutAppReplicationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::PutAppReplicationConfiguration, request, handler, context); } /** *

Creates or updates a validation configuration for the specified * application.

See Also:

AWS * API Reference

*/ virtual Model::PutAppValidationConfigurationOutcome PutAppValidationConfiguration(const Model::PutAppValidationConfigurationRequest& request) const; /** * A Callable wrapper for PutAppValidationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutAppValidationConfigurationOutcomeCallable PutAppValidationConfigurationCallable(const PutAppValidationConfigurationRequestT& request) const { return SubmitCallable(&SMSClient::PutAppValidationConfiguration, request); } /** * An Async wrapper for PutAppValidationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutAppValidationConfigurationAsync(const PutAppValidationConfigurationRequestT& request, const PutAppValidationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::PutAppValidationConfiguration, request, handler, context); } /** *

Starts replicating the specified application by creating replication jobs for * each server in the application.

See Also:

AWS * API Reference

*/ virtual Model::StartAppReplicationOutcome StartAppReplication(const Model::StartAppReplicationRequest& request) const; /** * A Callable wrapper for StartAppReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartAppReplicationOutcomeCallable StartAppReplicationCallable(const StartAppReplicationRequestT& request) const { return SubmitCallable(&SMSClient::StartAppReplication, request); } /** * An Async wrapper for StartAppReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartAppReplicationAsync(const StartAppReplicationRequestT& request, const StartAppReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::StartAppReplication, request, handler, context); } /** *

Starts an on-demand replication run for the specified * application.

See Also:

AWS * API Reference

*/ virtual Model::StartOnDemandAppReplicationOutcome StartOnDemandAppReplication(const Model::StartOnDemandAppReplicationRequest& request) const; /** * A Callable wrapper for StartOnDemandAppReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartOnDemandAppReplicationOutcomeCallable StartOnDemandAppReplicationCallable(const StartOnDemandAppReplicationRequestT& request) const { return SubmitCallable(&SMSClient::StartOnDemandAppReplication, request); } /** * An Async wrapper for StartOnDemandAppReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartOnDemandAppReplicationAsync(const StartOnDemandAppReplicationRequestT& request, const StartOnDemandAppReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::StartOnDemandAppReplication, request, handler, context); } /** *

Starts an on-demand replication run for the specified replication job. This * replication run starts immediately. This replication run is in addition to the * ones already scheduled.

There is a limit on the number of on-demand * replications runs that you can request in a 24-hour period.

See * Also:

AWS * API Reference

*/ virtual Model::StartOnDemandReplicationRunOutcome StartOnDemandReplicationRun(const Model::StartOnDemandReplicationRunRequest& request) const; /** * A Callable wrapper for StartOnDemandReplicationRun that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartOnDemandReplicationRunOutcomeCallable StartOnDemandReplicationRunCallable(const StartOnDemandReplicationRunRequestT& request) const { return SubmitCallable(&SMSClient::StartOnDemandReplicationRun, request); } /** * An Async wrapper for StartOnDemandReplicationRun that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartOnDemandReplicationRunAsync(const StartOnDemandReplicationRunRequestT& request, const StartOnDemandReplicationRunResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::StartOnDemandReplicationRun, request, handler, context); } /** *

Stops replicating the specified application by deleting the replication job * for each server in the application.

See Also:

AWS * API Reference

*/ virtual Model::StopAppReplicationOutcome StopAppReplication(const Model::StopAppReplicationRequest& request) const; /** * A Callable wrapper for StopAppReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopAppReplicationOutcomeCallable StopAppReplicationCallable(const StopAppReplicationRequestT& request) const { return SubmitCallable(&SMSClient::StopAppReplication, request); } /** * An Async wrapper for StopAppReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopAppReplicationAsync(const StopAppReplicationRequestT& request, const StopAppReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::StopAppReplication, request, handler, context); } /** *

Terminates the stack for the specified application.

See Also:

* AWS * API Reference

*/ virtual Model::TerminateAppOutcome TerminateApp(const Model::TerminateAppRequest& request) const; /** * A Callable wrapper for TerminateApp that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TerminateAppOutcomeCallable TerminateAppCallable(const TerminateAppRequestT& request) const { return SubmitCallable(&SMSClient::TerminateApp, request); } /** * An Async wrapper for TerminateApp that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TerminateAppAsync(const TerminateAppRequestT& request, const TerminateAppResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::TerminateApp, request, handler, context); } /** *

Updates the specified application.

See Also:

AWS API * Reference

*/ virtual Model::UpdateAppOutcome UpdateApp(const Model::UpdateAppRequest& request) const; /** * A Callable wrapper for UpdateApp that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateAppOutcomeCallable UpdateAppCallable(const UpdateAppRequestT& request) const { return SubmitCallable(&SMSClient::UpdateApp, request); } /** * An Async wrapper for UpdateApp that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateAppAsync(const UpdateAppRequestT& request, const UpdateAppResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::UpdateApp, request, handler, context); } /** *

Updates the specified settings for the specified replication * job.

See Also:

AWS * API Reference

*/ virtual Model::UpdateReplicationJobOutcome UpdateReplicationJob(const Model::UpdateReplicationJobRequest& request) const; /** * A Callable wrapper for UpdateReplicationJob that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateReplicationJobOutcomeCallable UpdateReplicationJobCallable(const UpdateReplicationJobRequestT& request) const { return SubmitCallable(&SMSClient::UpdateReplicationJob, request); } /** * An Async wrapper for UpdateReplicationJob that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateReplicationJobAsync(const UpdateReplicationJobRequestT& request, const UpdateReplicationJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&SMSClient::UpdateReplicationJob, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const SMSClientConfiguration& clientConfiguration); SMSClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace SMS } // namespace Aws