/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace AppConfig
{
namespace Model
{
class CreateApplicationRequest;
class CreateConfigurationProfileRequest;
class CreateDeploymentStrategyRequest;
class CreateEnvironmentRequest;
class CreateHostedConfigurationVersionRequest;
class DeleteApplicationRequest;
class DeleteConfigurationProfileRequest;
class DeleteDeploymentStrategyRequest;
class DeleteEnvironmentRequest;
class DeleteHostedConfigurationVersionRequest;
class GetApplicationRequest;
class GetConfigurationRequest;
class GetConfigurationProfileRequest;
class GetDeploymentRequest;
class GetDeploymentStrategyRequest;
class GetEnvironmentRequest;
class GetHostedConfigurationVersionRequest;
class ListApplicationsRequest;
class ListConfigurationProfilesRequest;
class ListDeploymentStrategiesRequest;
class ListDeploymentsRequest;
class ListEnvironmentsRequest;
class ListHostedConfigurationVersionsRequest;
class ListTagsForResourceRequest;
class StartDeploymentRequest;
class StopDeploymentRequest;
class TagResourceRequest;
class UntagResourceRequest;
class UpdateApplicationRequest;
class UpdateConfigurationProfileRequest;
class UpdateDeploymentStrategyRequest;
class UpdateEnvironmentRequest;
class ValidateConfigurationRequest;
typedef Aws::Utils::Outcome CreateApplicationOutcome;
typedef Aws::Utils::Outcome CreateConfigurationProfileOutcome;
typedef Aws::Utils::Outcome CreateDeploymentStrategyOutcome;
typedef Aws::Utils::Outcome CreateEnvironmentOutcome;
typedef Aws::Utils::Outcome CreateHostedConfigurationVersionOutcome;
typedef Aws::Utils::Outcome DeleteApplicationOutcome;
typedef Aws::Utils::Outcome DeleteConfigurationProfileOutcome;
typedef Aws::Utils::Outcome DeleteDeploymentStrategyOutcome;
typedef Aws::Utils::Outcome DeleteEnvironmentOutcome;
typedef Aws::Utils::Outcome DeleteHostedConfigurationVersionOutcome;
typedef Aws::Utils::Outcome GetApplicationOutcome;
typedef Aws::Utils::Outcome GetConfigurationOutcome;
typedef Aws::Utils::Outcome GetConfigurationProfileOutcome;
typedef Aws::Utils::Outcome GetDeploymentOutcome;
typedef Aws::Utils::Outcome GetDeploymentStrategyOutcome;
typedef Aws::Utils::Outcome GetEnvironmentOutcome;
typedef Aws::Utils::Outcome GetHostedConfigurationVersionOutcome;
typedef Aws::Utils::Outcome ListApplicationsOutcome;
typedef Aws::Utils::Outcome ListConfigurationProfilesOutcome;
typedef Aws::Utils::Outcome ListDeploymentStrategiesOutcome;
typedef Aws::Utils::Outcome ListDeploymentsOutcome;
typedef Aws::Utils::Outcome ListEnvironmentsOutcome;
typedef Aws::Utils::Outcome ListHostedConfigurationVersionsOutcome;
typedef Aws::Utils::Outcome ListTagsForResourceOutcome;
typedef Aws::Utils::Outcome StartDeploymentOutcome;
typedef Aws::Utils::Outcome StopDeploymentOutcome;
typedef Aws::Utils::Outcome TagResourceOutcome;
typedef Aws::Utils::Outcome UntagResourceOutcome;
typedef Aws::Utils::Outcome UpdateApplicationOutcome;
typedef Aws::Utils::Outcome UpdateConfigurationProfileOutcome;
typedef Aws::Utils::Outcome UpdateDeploymentStrategyOutcome;
typedef Aws::Utils::Outcome UpdateEnvironmentOutcome;
typedef Aws::Utils::Outcome ValidateConfigurationOutcome;
typedef std::future CreateApplicationOutcomeCallable;
typedef std::future CreateConfigurationProfileOutcomeCallable;
typedef std::future CreateDeploymentStrategyOutcomeCallable;
typedef std::future CreateEnvironmentOutcomeCallable;
typedef std::future CreateHostedConfigurationVersionOutcomeCallable;
typedef std::future DeleteApplicationOutcomeCallable;
typedef std::future DeleteConfigurationProfileOutcomeCallable;
typedef std::future DeleteDeploymentStrategyOutcomeCallable;
typedef std::future DeleteEnvironmentOutcomeCallable;
typedef std::future DeleteHostedConfigurationVersionOutcomeCallable;
typedef std::future GetApplicationOutcomeCallable;
typedef std::future GetConfigurationOutcomeCallable;
typedef std::future GetConfigurationProfileOutcomeCallable;
typedef std::future GetDeploymentOutcomeCallable;
typedef std::future GetDeploymentStrategyOutcomeCallable;
typedef std::future GetEnvironmentOutcomeCallable;
typedef std::future GetHostedConfigurationVersionOutcomeCallable;
typedef std::future ListApplicationsOutcomeCallable;
typedef std::future ListConfigurationProfilesOutcomeCallable;
typedef std::future ListDeploymentStrategiesOutcomeCallable;
typedef std::future ListDeploymentsOutcomeCallable;
typedef std::future ListEnvironmentsOutcomeCallable;
typedef std::future ListHostedConfigurationVersionsOutcomeCallable;
typedef std::future ListTagsForResourceOutcomeCallable;
typedef std::future StartDeploymentOutcomeCallable;
typedef std::future StopDeploymentOutcomeCallable;
typedef std::future TagResourceOutcomeCallable;
typedef std::future UntagResourceOutcomeCallable;
typedef std::future UpdateApplicationOutcomeCallable;
typedef std::future UpdateConfigurationProfileOutcomeCallable;
typedef std::future UpdateDeploymentStrategyOutcomeCallable;
typedef std::future UpdateEnvironmentOutcomeCallable;
typedef std::future ValidateConfigurationOutcomeCallable;
} // namespace Model
class AppConfigClient;
typedef std::function&) > CreateApplicationResponseReceivedHandler;
typedef std::function&) > CreateConfigurationProfileResponseReceivedHandler;
typedef std::function&) > CreateDeploymentStrategyResponseReceivedHandler;
typedef std::function&) > CreateEnvironmentResponseReceivedHandler;
typedef std::function&) > CreateHostedConfigurationVersionResponseReceivedHandler;
typedef std::function&) > DeleteApplicationResponseReceivedHandler;
typedef std::function&) > DeleteConfigurationProfileResponseReceivedHandler;
typedef std::function&) > DeleteDeploymentStrategyResponseReceivedHandler;
typedef std::function&) > DeleteEnvironmentResponseReceivedHandler;
typedef std::function&) > DeleteHostedConfigurationVersionResponseReceivedHandler;
typedef std::function&) > GetApplicationResponseReceivedHandler;
typedef std::function&) > GetConfigurationResponseReceivedHandler;
typedef std::function&) > GetConfigurationProfileResponseReceivedHandler;
typedef std::function&) > GetDeploymentResponseReceivedHandler;
typedef std::function&) > GetDeploymentStrategyResponseReceivedHandler;
typedef std::function&) > GetEnvironmentResponseReceivedHandler;
typedef std::function&) > GetHostedConfigurationVersionResponseReceivedHandler;
typedef std::function&) > ListApplicationsResponseReceivedHandler;
typedef std::function&) > ListConfigurationProfilesResponseReceivedHandler;
typedef std::function&) > ListDeploymentStrategiesResponseReceivedHandler;
typedef std::function&) > ListDeploymentsResponseReceivedHandler;
typedef std::function&) > ListEnvironmentsResponseReceivedHandler;
typedef std::function&) > ListHostedConfigurationVersionsResponseReceivedHandler;
typedef std::function&) > ListTagsForResourceResponseReceivedHandler;
typedef std::function&) > StartDeploymentResponseReceivedHandler;
typedef std::function&) > StopDeploymentResponseReceivedHandler;
typedef std::function&) > TagResourceResponseReceivedHandler;
typedef std::function&) > UntagResourceResponseReceivedHandler;
typedef std::function&) > UpdateApplicationResponseReceivedHandler;
typedef std::function&) > UpdateConfigurationProfileResponseReceivedHandler;
typedef std::function&) > UpdateDeploymentStrategyResponseReceivedHandler;
typedef std::function&) > UpdateEnvironmentResponseReceivedHandler;
typedef std::function&) > ValidateConfigurationResponseReceivedHandler;
/**
* AWS AppConfig Use AWS AppConfig, a capability of AWS
* Systems Manager, to create, manage, and quickly deploy application
* configurations. AppConfig supports controlled deployments to applications of any
* size and includes built-in validation checks and monitoring. You can use
* AppConfig with applications hosted on Amazon EC2 instances, AWS Lambda,
* containers, mobile applications, or IoT devices.
To prevent errors when
* deploying application configurations, especially for production systems where a
* simple typo could cause an unexpected outage, AppConfig includes validators. A
* validator provides a syntactic or semantic check to ensure that the
* configuration you want to deploy works as intended. To validate your application
* configuration data, you provide a schema or a Lambda function that runs against
* the configuration. The configuration deployment or update can only proceed when
* the configuration data is valid.
During a configuration deployment,
* AppConfig monitors the application to ensure that the deployment is successful.
* If the system encounters an error, AppConfig rolls back the change to minimize
* impact for your application users. You can configure a deployment strategy for
* each application or environment that includes deployment criteria, including
* velocity, bake time, and alarms to monitor. Similar to error monitoring, if a
* deployment triggers an alarm, AppConfig automatically rolls back to the previous
* version.
AppConfig supports multiple use cases. Here are some
* examples.
-
Application tuning: Use AppConfig to
* carefully introduce changes to your application that can only be tested with
* production traffic.
-
Feature toggle: Use AppConfig to
* turn on new features that require a timely deployment, such as a product launch
* or announcement.
-
Allow list: Use AppConfig to allow
* premium subscribers to access paid content.
-
Operational
* issues: Use AppConfig to reduce stress on your application when a dependency
* or other external factor impacts the system.
This reference
* is intended to be used with the AWS
* AppConfig User Guide.
*/
class AWS_APPCONFIG_API AppConfigClient : public Aws::Client::AWSJsonClient
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
AppConfigClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
AppConfigClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
AppConfigClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~AppConfigClient();
/**
* An application in AppConfig is a logical unit of code that provides
* capabilities for your customers. For example, an application can be a
* microservice that runs on Amazon EC2 instances, a mobile application installed
* by your users, a serverless application using Amazon API Gateway and AWS Lambda,
* or any system you run on behalf of others.
See Also:
AWS
* API Reference
*/
virtual Model::CreateApplicationOutcome CreateApplication(const Model::CreateApplicationRequest& request) const;
/**
* An application in AppConfig is a logical unit of code that provides
* capabilities for your customers. For example, an application can be a
* microservice that runs on Amazon EC2 instances, a mobile application installed
* by your users, a serverless application using Amazon API Gateway and AWS Lambda,
* or any system you run on behalf of others.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateApplicationOutcomeCallable CreateApplicationCallable(const Model::CreateApplicationRequest& request) const;
/**
* An application in AppConfig is a logical unit of code that provides
* capabilities for your customers. For example, an application can be a
* microservice that runs on Amazon EC2 instances, a mobile application installed
* by your users, a serverless application using Amazon API Gateway and AWS Lambda,
* or any system you run on behalf of others.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateApplicationAsync(const Model::CreateApplicationRequest& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Information that enables AppConfig to access the configuration source. Valid
* configuration sources include Systems Manager (SSM) documents, SSM Parameter
* Store parameters, and Amazon S3 objects. A configuration profile includes the
* following information.
-
The Uri location of the configuration
* data.
-
The AWS Identity and Access Management (IAM) role that
* provides access to the configuration data.
-
A validator for the
* configuration data. Available validators include either a JSON Schema or an AWS
* Lambda function.
For more information, see Create
* a Configuration and a Configuration Profile in the AWS AppConfig User
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::CreateConfigurationProfileOutcome CreateConfigurationProfile(const Model::CreateConfigurationProfileRequest& request) const;
/**
* Information that enables AppConfig to access the configuration source. Valid
* configuration sources include Systems Manager (SSM) documents, SSM Parameter
* Store parameters, and Amazon S3 objects. A configuration profile includes the
* following information.
-
The Uri location of the configuration
* data.
-
The AWS Identity and Access Management (IAM) role that
* provides access to the configuration data.
-
A validator for the
* configuration data. Available validators include either a JSON Schema or an AWS
* Lambda function.
For more information, see Create
* a Configuration and a Configuration Profile in the AWS AppConfig User
* Guide.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateConfigurationProfileOutcomeCallable CreateConfigurationProfileCallable(const Model::CreateConfigurationProfileRequest& request) const;
/**
* Information that enables AppConfig to access the configuration source. Valid
* configuration sources include Systems Manager (SSM) documents, SSM Parameter
* Store parameters, and Amazon S3 objects. A configuration profile includes the
* following information.
-
The Uri location of the configuration
* data.
-
The AWS Identity and Access Management (IAM) role that
* provides access to the configuration data.
-
A validator for the
* configuration data. Available validators include either a JSON Schema or an AWS
* Lambda function.
For more information, see Create
* a Configuration and a Configuration Profile in the AWS AppConfig User
* Guide.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateConfigurationProfileAsync(const Model::CreateConfigurationProfileRequest& request, const CreateConfigurationProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* A deployment strategy defines important criteria for rolling out your
* configuration to the designated targets. A deployment strategy includes: the
* overall duration required, a percentage of targets to receive the deployment
* during each interval, an algorithm that defines how percentage grows, and bake
* time.
See Also:
AWS
* API Reference
*/
virtual Model::CreateDeploymentStrategyOutcome CreateDeploymentStrategy(const Model::CreateDeploymentStrategyRequest& request) const;
/**
* A deployment strategy defines important criteria for rolling out your
* configuration to the designated targets. A deployment strategy includes: the
* overall duration required, a percentage of targets to receive the deployment
* during each interval, an algorithm that defines how percentage grows, and bake
* time.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateDeploymentStrategyOutcomeCallable CreateDeploymentStrategyCallable(const Model::CreateDeploymentStrategyRequest& request) const;
/**
* A deployment strategy defines important criteria for rolling out your
* configuration to the designated targets. A deployment strategy includes: the
* overall duration required, a percentage of targets to receive the deployment
* during each interval, an algorithm that defines how percentage grows, and bake
* time.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateDeploymentStrategyAsync(const Model::CreateDeploymentStrategyRequest& request, const CreateDeploymentStrategyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* For each application, you define one or more environments. An environment is
* a logical deployment group of AppConfig targets, such as applications in a
* Beta or Production environment. You can also define
* environments for application subcomponents such as the Web,
* Mobile and Back-end components for your application.
* You can configure Amazon CloudWatch alarms for each environment. The system
* monitors alarms during a configuration deployment. If an alarm is triggered, the
* system rolls back the configuration.
See Also:
AWS
* API Reference
*/
virtual Model::CreateEnvironmentOutcome CreateEnvironment(const Model::CreateEnvironmentRequest& request) const;
/**
* For each application, you define one or more environments. An environment is
* a logical deployment group of AppConfig targets, such as applications in a
* Beta or Production environment. You can also define
* environments for application subcomponents such as the Web,
* Mobile and Back-end components for your application.
* You can configure Amazon CloudWatch alarms for each environment. The system
* monitors alarms during a configuration deployment. If an alarm is triggered, the
* system rolls back the configuration.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateEnvironmentOutcomeCallable CreateEnvironmentCallable(const Model::CreateEnvironmentRequest& request) const;
/**
* For each application, you define one or more environments. An environment is
* a logical deployment group of AppConfig targets, such as applications in a
* Beta or Production environment. You can also define
* environments for application subcomponents such as the Web,
* Mobile and Back-end components for your application.
* You can configure Amazon CloudWatch alarms for each environment. The system
* monitors alarms during a configuration deployment. If an alarm is triggered, the
* system rolls back the configuration.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateEnvironmentAsync(const Model::CreateEnvironmentRequest& request, const CreateEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Create a new configuration in the AppConfig configuration
* store.
See Also:
AWS
* API Reference
*/
virtual Model::CreateHostedConfigurationVersionOutcome CreateHostedConfigurationVersion(const Model::CreateHostedConfigurationVersionRequest& request) const;
/**
* Create a new configuration in the AppConfig configuration
* store.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateHostedConfigurationVersionOutcomeCallable CreateHostedConfigurationVersionCallable(const Model::CreateHostedConfigurationVersionRequest& request) const;
/**
* Create a new configuration in the AppConfig configuration
* store.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateHostedConfigurationVersionAsync(const Model::CreateHostedConfigurationVersionRequest& request, const CreateHostedConfigurationVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Delete an application. Deleting an application does not delete a
* configuration from a host.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteApplicationOutcome DeleteApplication(const Model::DeleteApplicationRequest& request) const;
/**
* Delete an application. Deleting an application does not delete a
* configuration from a host.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteApplicationOutcomeCallable DeleteApplicationCallable(const Model::DeleteApplicationRequest& request) const;
/**
* Delete an application. Deleting an application does not delete a
* configuration from a host.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteApplicationAsync(const Model::DeleteApplicationRequest& request, const DeleteApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Delete a configuration profile. Deleting a configuration profile does not
* delete a configuration from a host.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteConfigurationProfileOutcome DeleteConfigurationProfile(const Model::DeleteConfigurationProfileRequest& request) const;
/**
* Delete a configuration profile. Deleting a configuration profile does not
* delete a configuration from a host.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteConfigurationProfileOutcomeCallable DeleteConfigurationProfileCallable(const Model::DeleteConfigurationProfileRequest& request) const;
/**
* Delete a configuration profile. Deleting a configuration profile does not
* delete a configuration from a host.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteConfigurationProfileAsync(const Model::DeleteConfigurationProfileRequest& request, const DeleteConfigurationProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Delete a deployment strategy. Deleting a deployment strategy does not delete
* a configuration from a host.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteDeploymentStrategyOutcome DeleteDeploymentStrategy(const Model::DeleteDeploymentStrategyRequest& request) const;
/**
* Delete a deployment strategy. Deleting a deployment strategy does not delete
* a configuration from a host.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteDeploymentStrategyOutcomeCallable DeleteDeploymentStrategyCallable(const Model::DeleteDeploymentStrategyRequest& request) const;
/**
* Delete a deployment strategy. Deleting a deployment strategy does not delete
* a configuration from a host.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteDeploymentStrategyAsync(const Model::DeleteDeploymentStrategyRequest& request, const DeleteDeploymentStrategyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Delete an environment. Deleting an environment does not delete a
* configuration from a host.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteEnvironmentOutcome DeleteEnvironment(const Model::DeleteEnvironmentRequest& request) const;
/**
* Delete an environment. Deleting an environment does not delete a
* configuration from a host.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteEnvironmentOutcomeCallable DeleteEnvironmentCallable(const Model::DeleteEnvironmentRequest& request) const;
/**
* Delete an environment. Deleting an environment does not delete a
* configuration from a host.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteEnvironmentAsync(const Model::DeleteEnvironmentRequest& request, const DeleteEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Delete a version of a configuration from the AppConfig configuration
* store.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteHostedConfigurationVersionOutcome DeleteHostedConfigurationVersion(const Model::DeleteHostedConfigurationVersionRequest& request) const;
/**
* Delete a version of a configuration from the AppConfig configuration
* store.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteHostedConfigurationVersionOutcomeCallable DeleteHostedConfigurationVersionCallable(const Model::DeleteHostedConfigurationVersionRequest& request) const;
/**
* Delete a version of a configuration from the AppConfig configuration
* store.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteHostedConfigurationVersionAsync(const Model::DeleteHostedConfigurationVersionRequest& request, const DeleteHostedConfigurationVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Retrieve information about an application.
See Also:
AWS
* API Reference
*/
virtual Model::GetApplicationOutcome GetApplication(const Model::GetApplicationRequest& request) const;
/**
* Retrieve information about an application.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetApplicationOutcomeCallable GetApplicationCallable(const Model::GetApplicationRequest& request) const;
/**
* Retrieve information about an application.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetApplicationAsync(const Model::GetApplicationRequest& request, const GetApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Receive information about a configuration.
AWS AppConfig
* uses the value of the ClientConfigurationVersion parameter to
* identify the configuration version on your clients. If you don’t send
* ClientConfigurationVersion with each call to
* GetConfiguration, your clients receive the current configuration.
* You are charged each time your clients receive a configuration.
To avoid
* excess charges, we recommend that you include the
* ClientConfigurationVersion value with every call to
* GetConfiguration. This value must be saved on your client.
* Subsequent calls to GetConfiguration must pass this value by using
* the ClientConfigurationVersion parameter.
* See Also:
AWS
* API Reference
*/
virtual Model::GetConfigurationOutcome GetConfiguration(const Model::GetConfigurationRequest& request) const;
/**
* Receive information about a configuration.
AWS AppConfig
* uses the value of the ClientConfigurationVersion parameter to
* identify the configuration version on your clients. If you don’t send
* ClientConfigurationVersion with each call to
* GetConfiguration, your clients receive the current configuration.
* You are charged each time your clients receive a configuration.
To avoid
* excess charges, we recommend that you include the
* ClientConfigurationVersion value with every call to
* GetConfiguration. This value must be saved on your client.
* Subsequent calls to GetConfiguration must pass this value by using
* the ClientConfigurationVersion parameter.
* See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetConfigurationOutcomeCallable GetConfigurationCallable(const Model::GetConfigurationRequest& request) const;
/**
* Receive information about a configuration.
AWS AppConfig
* uses the value of the ClientConfigurationVersion parameter to
* identify the configuration version on your clients. If you don’t send
* ClientConfigurationVersion with each call to
* GetConfiguration, your clients receive the current configuration.
* You are charged each time your clients receive a configuration.
To avoid
* excess charges, we recommend that you include the
* ClientConfigurationVersion value with every call to
* GetConfiguration. This value must be saved on your client.
* Subsequent calls to GetConfiguration must pass this value by using
* the ClientConfigurationVersion parameter.
* See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetConfigurationAsync(const Model::GetConfigurationRequest& request, const GetConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Retrieve information about a configuration profile.
See Also:
* AWS
* API Reference
*/
virtual Model::GetConfigurationProfileOutcome GetConfigurationProfile(const Model::GetConfigurationProfileRequest& request) const;
/**
* Retrieve information about a configuration profile.
See Also:
* AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetConfigurationProfileOutcomeCallable GetConfigurationProfileCallable(const Model::GetConfigurationProfileRequest& request) const;
/**
* Retrieve information about a configuration profile.
See Also:
* AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetConfigurationProfileAsync(const Model::GetConfigurationProfileRequest& request, const GetConfigurationProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Retrieve information about a configuration deployment.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetDeploymentOutcome GetDeployment(const Model::GetDeploymentRequest& request) const;
/**
* Retrieve information about a configuration deployment.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetDeploymentOutcomeCallable GetDeploymentCallable(const Model::GetDeploymentRequest& request) const;
/**
* Retrieve information about a configuration deployment.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetDeploymentAsync(const Model::GetDeploymentRequest& request, const GetDeploymentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Retrieve information about a deployment strategy. A deployment strategy
* defines important criteria for rolling out your configuration to the designated
* targets. A deployment strategy includes: the overall duration required, a
* percentage of targets to receive the deployment during each interval, an
* algorithm that defines how percentage grows, and bake time.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetDeploymentStrategyOutcome GetDeploymentStrategy(const Model::GetDeploymentStrategyRequest& request) const;
/**
* Retrieve information about a deployment strategy. A deployment strategy
* defines important criteria for rolling out your configuration to the designated
* targets. A deployment strategy includes: the overall duration required, a
* percentage of targets to receive the deployment during each interval, an
* algorithm that defines how percentage grows, and bake time.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetDeploymentStrategyOutcomeCallable GetDeploymentStrategyCallable(const Model::GetDeploymentStrategyRequest& request) const;
/**
* Retrieve information about a deployment strategy. A deployment strategy
* defines important criteria for rolling out your configuration to the designated
* targets. A deployment strategy includes: the overall duration required, a
* percentage of targets to receive the deployment during each interval, an
* algorithm that defines how percentage grows, and bake time.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetDeploymentStrategyAsync(const Model::GetDeploymentStrategyRequest& request, const GetDeploymentStrategyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Retrieve information about an environment. An environment is a logical
* deployment group of AppConfig applications, such as applications in a
* Production environment or in an EU_Region environment.
* Each configuration deployment targets an environment. You can enable one or more
* Amazon CloudWatch alarms for an environment. If an alarm is triggered during a
* deployment, AppConfig roles back the configuration.
See Also:
* AWS
* API Reference
*/
virtual Model::GetEnvironmentOutcome GetEnvironment(const Model::GetEnvironmentRequest& request) const;
/**
* Retrieve information about an environment. An environment is a logical
* deployment group of AppConfig applications, such as applications in a
* Production environment or in an EU_Region environment.
* Each configuration deployment targets an environment. You can enable one or more
* Amazon CloudWatch alarms for an environment. If an alarm is triggered during a
* deployment, AppConfig roles back the configuration.
See Also:
* AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetEnvironmentOutcomeCallable GetEnvironmentCallable(const Model::GetEnvironmentRequest& request) const;
/**
* Retrieve information about an environment. An environment is a logical
* deployment group of AppConfig applications, such as applications in a
* Production environment or in an EU_Region environment.
* Each configuration deployment targets an environment. You can enable one or more
* Amazon CloudWatch alarms for an environment. If an alarm is triggered during a
* deployment, AppConfig roles back the configuration.
See Also:
* AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetEnvironmentAsync(const Model::GetEnvironmentRequest& request, const GetEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Get information about a specific configuration version.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetHostedConfigurationVersionOutcome GetHostedConfigurationVersion(const Model::GetHostedConfigurationVersionRequest& request) const;
/**
* Get information about a specific configuration version.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetHostedConfigurationVersionOutcomeCallable GetHostedConfigurationVersionCallable(const Model::GetHostedConfigurationVersionRequest& request) const;
/**
* Get information about a specific configuration version.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetHostedConfigurationVersionAsync(const Model::GetHostedConfigurationVersionRequest& request, const GetHostedConfigurationVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* List all applications in your AWS account.
See Also:
AWS
* API Reference
*/
virtual Model::ListApplicationsOutcome ListApplications(const Model::ListApplicationsRequest& request) const;
/**
* List all applications in your AWS account.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListApplicationsOutcomeCallable ListApplicationsCallable(const Model::ListApplicationsRequest& request) const;
/**
* List all applications in your AWS account.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListApplicationsAsync(const Model::ListApplicationsRequest& request, const ListApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the configuration profiles for an application.
See Also:
* AWS
* API Reference
*/
virtual Model::ListConfigurationProfilesOutcome ListConfigurationProfiles(const Model::ListConfigurationProfilesRequest& request) const;
/**
* Lists the configuration profiles for an application.
See Also:
* AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListConfigurationProfilesOutcomeCallable ListConfigurationProfilesCallable(const Model::ListConfigurationProfilesRequest& request) const;
/**
* Lists the configuration profiles for an application.
See Also:
* AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListConfigurationProfilesAsync(const Model::ListConfigurationProfilesRequest& request, const ListConfigurationProfilesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* List deployment strategies.
See Also:
AWS
* API Reference
*/
virtual Model::ListDeploymentStrategiesOutcome ListDeploymentStrategies(const Model::ListDeploymentStrategiesRequest& request) const;
/**
* List deployment strategies.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListDeploymentStrategiesOutcomeCallable ListDeploymentStrategiesCallable(const Model::ListDeploymentStrategiesRequest& request) const;
/**
* List deployment strategies.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListDeploymentStrategiesAsync(const Model::ListDeploymentStrategiesRequest& request, const ListDeploymentStrategiesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the deployments for an environment.
See Also:
AWS
* API Reference
*/
virtual Model::ListDeploymentsOutcome ListDeployments(const Model::ListDeploymentsRequest& request) const;
/**
* Lists the deployments for an environment.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListDeploymentsOutcomeCallable ListDeploymentsCallable(const Model::ListDeploymentsRequest& request) const;
/**
* Lists the deployments for an environment.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListDeploymentsAsync(const Model::ListDeploymentsRequest& request, const ListDeploymentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* List the environments for an application.
See Also:
AWS
* API Reference
*/
virtual Model::ListEnvironmentsOutcome ListEnvironments(const Model::ListEnvironmentsRequest& request) const;
/**
* List the environments for an application.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListEnvironmentsOutcomeCallable ListEnvironmentsCallable(const Model::ListEnvironmentsRequest& request) const;
/**
* List the environments for an application.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListEnvironmentsAsync(const Model::ListEnvironmentsRequest& request, const ListEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* View a list of configurations stored in the AppConfig configuration store by
* version.
See Also:
AWS
* API Reference
*/
virtual Model::ListHostedConfigurationVersionsOutcome ListHostedConfigurationVersions(const Model::ListHostedConfigurationVersionsRequest& request) const;
/**
* View a list of configurations stored in the AppConfig configuration store by
* version.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListHostedConfigurationVersionsOutcomeCallable ListHostedConfigurationVersionsCallable(const Model::ListHostedConfigurationVersionsRequest& request) const;
/**
* View a list of configurations stored in the AppConfig configuration store by
* version.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListHostedConfigurationVersionsAsync(const Model::ListHostedConfigurationVersionsRequest& request, const ListHostedConfigurationVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Retrieves the list of key-value tags assigned to the resource.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* Retrieves the list of key-value tags assigned to the resource.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
/**
* Retrieves the list of key-value tags assigned to the resource.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Starts a deployment.
See Also:
AWS
* API Reference
*/
virtual Model::StartDeploymentOutcome StartDeployment(const Model::StartDeploymentRequest& request) const;
/**
* Starts a deployment.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StartDeploymentOutcomeCallable StartDeploymentCallable(const Model::StartDeploymentRequest& request) const;
/**
* Starts a deployment.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StartDeploymentAsync(const Model::StartDeploymentRequest& request, const StartDeploymentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Stops a deployment. This API action works only on deployments that have a
* status of DEPLOYING. This action moves the deployment to a status
* of ROLLED_BACK.
See Also:
AWS
* API Reference
*/
virtual Model::StopDeploymentOutcome StopDeployment(const Model::StopDeploymentRequest& request) const;
/**
* Stops a deployment. This API action works only on deployments that have a
* status of DEPLOYING. This action moves the deployment to a status
* of ROLLED_BACK.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::StopDeploymentOutcomeCallable StopDeploymentCallable(const Model::StopDeploymentRequest& request) const;
/**
* Stops a deployment. This API action works only on deployments that have a
* status of DEPLOYING. This action moves the deployment to a status
* of ROLLED_BACK.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void StopDeploymentAsync(const Model::StopDeploymentRequest& request, const StopDeploymentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Metadata to assign to an AppConfig resource. Tags help organize and
* categorize your AppConfig resources. Each tag consists of a key and an optional
* value, both of which you define. You can specify a maximum of 50 tags for a
* resource.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* Metadata to assign to an AppConfig resource. Tags help organize and
* categorize your AppConfig resources. Each tag consists of a key and an optional
* value, both of which you define. You can specify a maximum of 50 tags for a
* resource.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
/**
* Metadata to assign to an AppConfig resource. Tags help organize and
* categorize your AppConfig resources. Each tag consists of a key and an optional
* value, both of which you define. You can specify a maximum of 50 tags for a
* resource.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes a tag key and value from an AppConfig resource.
See
* Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* Deletes a tag key and value from an AppConfig resource.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
/**
* Deletes a tag key and value from an AppConfig resource.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates an application.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateApplicationOutcome UpdateApplication(const Model::UpdateApplicationRequest& request) const;
/**
* Updates an application.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateApplicationOutcomeCallable UpdateApplicationCallable(const Model::UpdateApplicationRequest& request) const;
/**
* Updates an application.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateApplicationAsync(const Model::UpdateApplicationRequest& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates a configuration profile.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateConfigurationProfileOutcome UpdateConfigurationProfile(const Model::UpdateConfigurationProfileRequest& request) const;
/**
* Updates a configuration profile.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateConfigurationProfileOutcomeCallable UpdateConfigurationProfileCallable(const Model::UpdateConfigurationProfileRequest& request) const;
/**
* Updates a configuration profile.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateConfigurationProfileAsync(const Model::UpdateConfigurationProfileRequest& request, const UpdateConfigurationProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates a deployment strategy.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateDeploymentStrategyOutcome UpdateDeploymentStrategy(const Model::UpdateDeploymentStrategyRequest& request) const;
/**
* Updates a deployment strategy.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateDeploymentStrategyOutcomeCallable UpdateDeploymentStrategyCallable(const Model::UpdateDeploymentStrategyRequest& request) const;
/**
* Updates a deployment strategy.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateDeploymentStrategyAsync(const Model::UpdateDeploymentStrategyRequest& request, const UpdateDeploymentStrategyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates an environment.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateEnvironmentOutcome UpdateEnvironment(const Model::UpdateEnvironmentRequest& request) const;
/**
* Updates an environment.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateEnvironmentOutcomeCallable UpdateEnvironmentCallable(const Model::UpdateEnvironmentRequest& request) const;
/**
* Updates an environment.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateEnvironmentAsync(const Model::UpdateEnvironmentRequest& request, const UpdateEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Uses the validators in a configuration profile to validate a
* configuration.
See Also:
AWS
* API Reference
*/
virtual Model::ValidateConfigurationOutcome ValidateConfiguration(const Model::ValidateConfigurationRequest& request) const;
/**
* Uses the validators in a configuration profile to validate a
* configuration.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ValidateConfigurationOutcomeCallable ValidateConfigurationCallable(const Model::ValidateConfigurationRequest& request) const;
/**
* Uses the validators in a configuration profile to validate a
* configuration.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ValidateConfigurationAsync(const Model::ValidateConfigurationRequest& request, const ValidateConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void CreateApplicationAsyncHelper(const Model::CreateApplicationRequest& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateConfigurationProfileAsyncHelper(const Model::CreateConfigurationProfileRequest& request, const CreateConfigurationProfileResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateDeploymentStrategyAsyncHelper(const Model::CreateDeploymentStrategyRequest& request, const CreateDeploymentStrategyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateEnvironmentAsyncHelper(const Model::CreateEnvironmentRequest& request, const CreateEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateHostedConfigurationVersionAsyncHelper(const Model::CreateHostedConfigurationVersionRequest& request, const CreateHostedConfigurationVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteApplicationAsyncHelper(const Model::DeleteApplicationRequest& request, const DeleteApplicationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteConfigurationProfileAsyncHelper(const Model::DeleteConfigurationProfileRequest& request, const DeleteConfigurationProfileResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteDeploymentStrategyAsyncHelper(const Model::DeleteDeploymentStrategyRequest& request, const DeleteDeploymentStrategyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteEnvironmentAsyncHelper(const Model::DeleteEnvironmentRequest& request, const DeleteEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteHostedConfigurationVersionAsyncHelper(const Model::DeleteHostedConfigurationVersionRequest& request, const DeleteHostedConfigurationVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetApplicationAsyncHelper(const Model::GetApplicationRequest& request, const GetApplicationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetConfigurationAsyncHelper(const Model::GetConfigurationRequest& request, const GetConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetConfigurationProfileAsyncHelper(const Model::GetConfigurationProfileRequest& request, const GetConfigurationProfileResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetDeploymentAsyncHelper(const Model::GetDeploymentRequest& request, const GetDeploymentResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetDeploymentStrategyAsyncHelper(const Model::GetDeploymentStrategyRequest& request, const GetDeploymentStrategyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetEnvironmentAsyncHelper(const Model::GetEnvironmentRequest& request, const GetEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetHostedConfigurationVersionAsyncHelper(const Model::GetHostedConfigurationVersionRequest& request, const GetHostedConfigurationVersionResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListApplicationsAsyncHelper(const Model::ListApplicationsRequest& request, const ListApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListConfigurationProfilesAsyncHelper(const Model::ListConfigurationProfilesRequest& request, const ListConfigurationProfilesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListDeploymentStrategiesAsyncHelper(const Model::ListDeploymentStrategiesRequest& request, const ListDeploymentStrategiesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListDeploymentsAsyncHelper(const Model::ListDeploymentsRequest& request, const ListDeploymentsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListEnvironmentsAsyncHelper(const Model::ListEnvironmentsRequest& request, const ListEnvironmentsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListHostedConfigurationVersionsAsyncHelper(const Model::ListHostedConfigurationVersionsRequest& request, const ListHostedConfigurationVersionsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void StartDeploymentAsyncHelper(const Model::StartDeploymentRequest& request, const StartDeploymentResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void StopDeploymentAsyncHelper(const Model::StopDeploymentRequest& request, const StopDeploymentResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateApplicationAsyncHelper(const Model::UpdateApplicationRequest& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateConfigurationProfileAsyncHelper(const Model::UpdateConfigurationProfileRequest& request, const UpdateConfigurationProfileResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateDeploymentStrategyAsyncHelper(const Model::UpdateDeploymentStrategyRequest& request, const UpdateDeploymentStrategyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateEnvironmentAsyncHelper(const Model::UpdateEnvironmentRequest& request, const UpdateEnvironmentResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ValidateConfigurationAsyncHelper(const Model::ValidateConfigurationRequest& request, const ValidateConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr m_executor;
};
} // namespace AppConfig
} // namespace Aws