/**
* 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 Route53RecoveryControlConfig
{
/**
* Recovery Control Configuration API Reference for Amazon Route 53 Application
* Recovery Controller
*/
class AWS_ROUTE53RECOVERYCONTROLCONFIG_API Route53RecoveryControlConfigClient : 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 Route53RecoveryControlConfigClientConfiguration ClientConfigurationType;
typedef Route53RecoveryControlConfigEndpointProvider 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.
*/
Route53RecoveryControlConfigClient(const Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigClientConfiguration& clientConfiguration = Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigClientConfiguration(),
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.
*/
Route53RecoveryControlConfigClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigClientConfiguration& clientConfiguration = Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigClientConfiguration());
/**
* 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
*/
Route53RecoveryControlConfigClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigClientConfiguration& clientConfiguration = Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigClientConfiguration());
/* 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.
*/
Route53RecoveryControlConfigClient(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.
*/
Route53RecoveryControlConfigClient(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
*/
Route53RecoveryControlConfigClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~Route53RecoveryControlConfigClient();
/**
* Create a new cluster. A cluster is a set of redundant Regional endpoints
* against which you can run API calls to update or get the state of one or more
* routing controls. Each cluster has a name, status, Amazon Resource Name (ARN),
* and an array of the five cluster endpoints (one for each supported Amazon Web
* Services Region) that you can use with API calls to the cluster data
* plane.
See Also:
AWS
* API Reference
*/
virtual Model::CreateClusterOutcome CreateCluster(const Model::CreateClusterRequest& request) const;
/**
* A Callable wrapper for CreateCluster that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateClusterOutcomeCallable CreateClusterCallable(const CreateClusterRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::CreateCluster, request);
}
/**
* An Async wrapper for CreateCluster that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateClusterAsync(const CreateClusterRequestT& request, const CreateClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::CreateCluster, request, handler, context);
}
/**
* Creates a new control panel. A control panel represents a group of routing
* controls that can be changed together in a single transaction. You can use a
* control panel to centrally view the operational status of applications across
* your organization, and trigger multi-app failovers in a single transaction, for
* example, to fail over an Availability Zone or Amazon Web Services
* Region.
See Also:
AWS
* API Reference
*/
virtual Model::CreateControlPanelOutcome CreateControlPanel(const Model::CreateControlPanelRequest& request) const;
/**
* A Callable wrapper for CreateControlPanel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateControlPanelOutcomeCallable CreateControlPanelCallable(const CreateControlPanelRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::CreateControlPanel, request);
}
/**
* An Async wrapper for CreateControlPanel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateControlPanelAsync(const CreateControlPanelRequestT& request, const CreateControlPanelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::CreateControlPanel, request, handler, context);
}
/**
* Creates a new routing control.
A routing control has one of two
* states: ON and OFF. You can map the routing control state to the state of an
* Amazon Route 53 health check, which can be used to control traffic routing.
* To get or update the routing control state, see the Recovery Cluster (data
* plane) API actions for Amazon Route 53 Application Recovery
* Controller.
See Also:
AWS
* API Reference
*/
virtual Model::CreateRoutingControlOutcome CreateRoutingControl(const Model::CreateRoutingControlRequest& request) const;
/**
* A Callable wrapper for CreateRoutingControl that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateRoutingControlOutcomeCallable CreateRoutingControlCallable(const CreateRoutingControlRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::CreateRoutingControl, request);
}
/**
* An Async wrapper for CreateRoutingControl that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateRoutingControlAsync(const CreateRoutingControlRequestT& request, const CreateRoutingControlResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::CreateRoutingControl, request, handler, context);
}
/**
* Creates a safety rule in a control panel. Safety rules let you add safeguards
* around changing routing control states, and for enabling and disabling routing
* controls, to help prevent unexpected outcomes.
There are two types of
* safety rules: assertion rules and gating rules.
Assertion rule: An
* assertion rule enforces that, when you change a routing control state, that a
* certain criteria is met. For example, the criteria might be that at least one
* routing control state is On after the transaction so that traffic continues to
* flow to at least one cell for the application. This ensures that you avoid a
* fail-open scenario.
Gating rule: A gating rule lets you configure a
* gating routing control as an overall "on/off" switch for a group of routing
* controls. Or, you can configure more complex gating scenarios, for example by
* configuring multiple gating routing controls.
For more information, see
* Safety
* rules in the Amazon Route 53 Application Recovery Controller Developer
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::CreateSafetyRuleOutcome CreateSafetyRule(const Model::CreateSafetyRuleRequest& request) const;
/**
* A Callable wrapper for CreateSafetyRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateSafetyRuleOutcomeCallable CreateSafetyRuleCallable(const CreateSafetyRuleRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::CreateSafetyRule, request);
}
/**
* An Async wrapper for CreateSafetyRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateSafetyRuleAsync(const CreateSafetyRuleRequestT& request, const CreateSafetyRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::CreateSafetyRule, request, handler, context);
}
/**
* Delete a cluster.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteClusterOutcome DeleteCluster(const Model::DeleteClusterRequest& request) const;
/**
* A Callable wrapper for DeleteCluster that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteClusterOutcomeCallable DeleteClusterCallable(const DeleteClusterRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::DeleteCluster, request);
}
/**
* An Async wrapper for DeleteCluster that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteClusterAsync(const DeleteClusterRequestT& request, const DeleteClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::DeleteCluster, request, handler, context);
}
/**
* Deletes a control panel.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteControlPanelOutcome DeleteControlPanel(const Model::DeleteControlPanelRequest& request) const;
/**
* A Callable wrapper for DeleteControlPanel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteControlPanelOutcomeCallable DeleteControlPanelCallable(const DeleteControlPanelRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::DeleteControlPanel, request);
}
/**
* An Async wrapper for DeleteControlPanel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteControlPanelAsync(const DeleteControlPanelRequestT& request, const DeleteControlPanelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::DeleteControlPanel, request, handler, context);
}
/**
* Deletes a routing control.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteRoutingControlOutcome DeleteRoutingControl(const Model::DeleteRoutingControlRequest& request) const;
/**
* A Callable wrapper for DeleteRoutingControl that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteRoutingControlOutcomeCallable DeleteRoutingControlCallable(const DeleteRoutingControlRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::DeleteRoutingControl, request);
}
/**
* An Async wrapper for DeleteRoutingControl that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteRoutingControlAsync(const DeleteRoutingControlRequestT& request, const DeleteRoutingControlResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::DeleteRoutingControl, request, handler, context);
}
/**
* Deletes a safety rule.
/>See Also:
AWS
* API Reference
*/
virtual Model::DeleteSafetyRuleOutcome DeleteSafetyRule(const Model::DeleteSafetyRuleRequest& request) const;
/**
* A Callable wrapper for DeleteSafetyRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteSafetyRuleOutcomeCallable DeleteSafetyRuleCallable(const DeleteSafetyRuleRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::DeleteSafetyRule, request);
}
/**
* An Async wrapper for DeleteSafetyRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteSafetyRuleAsync(const DeleteSafetyRuleRequestT& request, const DeleteSafetyRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::DeleteSafetyRule, request, handler, context);
}
/**
* Display the details about a cluster. The response includes the cluster name,
* endpoints, status, and Amazon Resource Name (ARN).
See Also:
AWS
* API Reference
*/
virtual Model::DescribeClusterOutcome DescribeCluster(const Model::DescribeClusterRequest& request) const;
/**
* A Callable wrapper for DescribeCluster that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeClusterOutcomeCallable DescribeClusterCallable(const DescribeClusterRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::DescribeCluster, request);
}
/**
* An Async wrapper for DescribeCluster that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeClusterAsync(const DescribeClusterRequestT& request, const DescribeClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::DescribeCluster, request, handler, context);
}
/**
* Displays details about a control panel.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeControlPanelOutcome DescribeControlPanel(const Model::DescribeControlPanelRequest& request) const;
/**
* A Callable wrapper for DescribeControlPanel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeControlPanelOutcomeCallable DescribeControlPanelCallable(const DescribeControlPanelRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::DescribeControlPanel, request);
}
/**
* An Async wrapper for DescribeControlPanel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeControlPanelAsync(const DescribeControlPanelRequestT& request, const DescribeControlPanelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::DescribeControlPanel, request, handler, context);
}
/**
* Displays details about a routing control. A routing control has one of two
* states: ON and OFF. You can map the routing control state to the state of an
* Amazon Route 53 health check, which can be used to control routing.
To
* get or update the routing control state, see the Recovery Cluster (data plane)
* API actions for Amazon Route 53 Application Recovery Controller.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeRoutingControlOutcome DescribeRoutingControl(const Model::DescribeRoutingControlRequest& request) const;
/**
* A Callable wrapper for DescribeRoutingControl that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeRoutingControlOutcomeCallable DescribeRoutingControlCallable(const DescribeRoutingControlRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::DescribeRoutingControl, request);
}
/**
* An Async wrapper for DescribeRoutingControl that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeRoutingControlAsync(const DescribeRoutingControlRequestT& request, const DescribeRoutingControlResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::DescribeRoutingControl, request, handler, context);
}
/**
* Returns information about a safety rule.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeSafetyRuleOutcome DescribeSafetyRule(const Model::DescribeSafetyRuleRequest& request) const;
/**
* A Callable wrapper for DescribeSafetyRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeSafetyRuleOutcomeCallable DescribeSafetyRuleCallable(const DescribeSafetyRuleRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::DescribeSafetyRule, request);
}
/**
* An Async wrapper for DescribeSafetyRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeSafetyRuleAsync(const DescribeSafetyRuleRequestT& request, const DescribeSafetyRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::DescribeSafetyRule, request, handler, context);
}
/**
* Returns an array of all Amazon Route 53 health checks associated with a
* specific routing control.
See Also:
AWS
* API Reference
*/
virtual Model::ListAssociatedRoute53HealthChecksOutcome ListAssociatedRoute53HealthChecks(const Model::ListAssociatedRoute53HealthChecksRequest& request) const;
/**
* A Callable wrapper for ListAssociatedRoute53HealthChecks that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAssociatedRoute53HealthChecksOutcomeCallable ListAssociatedRoute53HealthChecksCallable(const ListAssociatedRoute53HealthChecksRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::ListAssociatedRoute53HealthChecks, request);
}
/**
* An Async wrapper for ListAssociatedRoute53HealthChecks that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAssociatedRoute53HealthChecksAsync(const ListAssociatedRoute53HealthChecksRequestT& request, const ListAssociatedRoute53HealthChecksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::ListAssociatedRoute53HealthChecks, request, handler, context);
}
/**
* Returns an array of all the clusters in an account.
See Also:
* AWS
* API Reference
*/
virtual Model::ListClustersOutcome ListClusters(const Model::ListClustersRequest& request) const;
/**
* A Callable wrapper for ListClusters that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListClustersOutcomeCallable ListClustersCallable(const ListClustersRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::ListClusters, request);
}
/**
* An Async wrapper for ListClusters that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListClustersAsync(const ListClustersRequestT& request, const ListClustersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::ListClusters, request, handler, context);
}
/**
* Returns an array of control panels in an account or in a
* cluster.
See Also:
AWS
* API Reference
*/
virtual Model::ListControlPanelsOutcome ListControlPanels(const Model::ListControlPanelsRequest& request) const;
/**
* A Callable wrapper for ListControlPanels that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListControlPanelsOutcomeCallable ListControlPanelsCallable(const ListControlPanelsRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::ListControlPanels, request);
}
/**
* An Async wrapper for ListControlPanels that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListControlPanelsAsync(const ListControlPanelsRequestT& request, const ListControlPanelsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::ListControlPanels, request, handler, context);
}
/**
* Returns an array of routing controls for a control panel. A routing control
* is an Amazon Route 53 Application Recovery Controller construct that has one of
* two states: ON and OFF. You can map the routing control state to the state of an
* Amazon Route 53 health check, which can be used to control
* routing.
See Also:
AWS
* API Reference
*/
virtual Model::ListRoutingControlsOutcome ListRoutingControls(const Model::ListRoutingControlsRequest& request) const;
/**
* A Callable wrapper for ListRoutingControls that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListRoutingControlsOutcomeCallable ListRoutingControlsCallable(const ListRoutingControlsRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::ListRoutingControls, request);
}
/**
* An Async wrapper for ListRoutingControls that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListRoutingControlsAsync(const ListRoutingControlsRequestT& request, const ListRoutingControlsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::ListRoutingControls, request, handler, context);
}
/**
* List the safety rules (the assertion rules and gating rules) that you've
* defined for the routing controls in a control panel.
See Also:
* AWS
* API Reference
*/
virtual Model::ListSafetyRulesOutcome ListSafetyRules(const Model::ListSafetyRulesRequest& request) const;
/**
* A Callable wrapper for ListSafetyRules that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListSafetyRulesOutcomeCallable ListSafetyRulesCallable(const ListSafetyRulesRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::ListSafetyRules, request);
}
/**
* An Async wrapper for ListSafetyRules that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListSafetyRulesAsync(const ListSafetyRulesRequestT& request, const ListSafetyRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::ListSafetyRules, request, handler, context);
}
/**
* Lists the tags for a resource.
See Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::ListTagsForResource, request, handler, context);
}
/**
* Adds a tag to a resource.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::TagResource, request, handler, context);
}
/**
* Removes a tag from a resource.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::UntagResource, request, handler, context);
}
/**
* Updates a control panel. The only update you can make to a control panel is
* to change the name of the control panel.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateControlPanelOutcome UpdateControlPanel(const Model::UpdateControlPanelRequest& request) const;
/**
* A Callable wrapper for UpdateControlPanel that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateControlPanelOutcomeCallable UpdateControlPanelCallable(const UpdateControlPanelRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::UpdateControlPanel, request);
}
/**
* An Async wrapper for UpdateControlPanel that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateControlPanelAsync(const UpdateControlPanelRequestT& request, const UpdateControlPanelResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::UpdateControlPanel, request, handler, context);
}
/**
* Updates a routing control. You can only update the name of the routing
* control. To get or update the routing control state, see the Recovery Cluster
* (data plane) API actions for Amazon Route 53 Application Recovery
* Controller.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateRoutingControlOutcome UpdateRoutingControl(const Model::UpdateRoutingControlRequest& request) const;
/**
* A Callable wrapper for UpdateRoutingControl that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateRoutingControlOutcomeCallable UpdateRoutingControlCallable(const UpdateRoutingControlRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::UpdateRoutingControl, request);
}
/**
* An Async wrapper for UpdateRoutingControl that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateRoutingControlAsync(const UpdateRoutingControlRequestT& request, const UpdateRoutingControlResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::UpdateRoutingControl, request, handler, context);
}
/**
* Update a safety rule (an assertion rule or gating rule). You can only update
* the name and the waiting period for a safety rule. To make other updates, delete
* the safety rule and create a new one.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateSafetyRuleOutcome UpdateSafetyRule(const Model::UpdateSafetyRuleRequest& request) const;
/**
* A Callable wrapper for UpdateSafetyRule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateSafetyRuleOutcomeCallable UpdateSafetyRuleCallable(const UpdateSafetyRuleRequestT& request) const
{
return SubmitCallable(&Route53RecoveryControlConfigClient::UpdateSafetyRule, request);
}
/**
* An Async wrapper for UpdateSafetyRule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateSafetyRuleAsync(const UpdateSafetyRuleRequestT& request, const UpdateSafetyRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&Route53RecoveryControlConfigClient::UpdateSafetyRule, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const Route53RecoveryControlConfigClientConfiguration& clientConfiguration);
Route53RecoveryControlConfigClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace Route53RecoveryControlConfig
} // namespace Aws