/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the route53-recovery-cluster-2019-12-02.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.Route53RecoveryCluster.Model;
namespace Amazon.Route53RecoveryCluster
{
///
/// Interface for accessing Route53RecoveryCluster
///
/// Welcome to the Routing Control (Recovery Cluster) API Reference Guide for Amazon Route
/// 53 Application Recovery Controller.
///
///
///
/// With Route 53 ARC, you can use routing control with extreme reliability to recover
/// applications by rerouting traffic across Availability Zones or Amazon Web Services
/// Regions. Routing controls are simple on/off switches hosted on a highly available
/// cluster in Route 53 ARC. A cluster provides a set of five redundant Regional endpoints
/// against which you can run API calls to get or update the state of routing controls.
/// To implement failover, you set one routing control On and another one Off, to reroute
/// traffic from one Availability Zone or Amazon Web Services Region to another.
///
///
///
/// Be aware that you must specify a Regional endpoint for a cluster when you work
/// with API cluster operations to get or update routing control states in Route 53 ARC.
/// In addition, you must specify the US West (Oregon) Region for Route 53 ARC API calls.
/// For example, use the parameter --region us-west-2
with AWS CLI commands.
/// For more information, see
/// Get and update routing control states using the API in the Amazon Route 53 Application
/// Recovery Controller Developer Guide.
///
///
///
/// This API guide includes information about the API operations for how to get and update
/// routing control states in Route 53 ARC. To work with routing control in Route 53 ARC,
/// you must first create the required components (clusters, control panels, and routing
/// controls) using the recovery cluster configuration API.
///
///
///
/// For more information about working with routing control in Route 53 ARC, see the following:
///
/// -
///
/// Create clusters, control panels, and routing controls by using API operations. For
/// more information, see the Recovery
/// Control Configuration API Reference Guide for Amazon Route 53 Application Recovery
/// Controller.
///
///
-
///
/// Learn about the components in recovery control, including clusters, routing controls,
/// and control panels, and how to work with Route 53 ARC in the Amazon Web Services console.
/// For more information, see
/// Recovery control components in the Amazon Route 53 Application Recovery Controller
/// Developer Guide.
///
///
-
///
/// Route 53 ARC also provides readiness checks that continually audit resources to help
/// make sure that your applications are scaled and ready to handle failover traffic.
/// For more information about the related API operations, see the Recovery
/// Readiness API Reference Guide for Amazon Route 53 Application Recovery Controller.
///
///
-
///
/// For more information about creating resilient applications and preparing for recovery
/// readiness with Route 53 ARC, see the Amazon
/// Route 53 Application Recovery Controller Developer Guide.
///
///
///
public partial interface IAmazonRoute53RecoveryCluster : IAmazonService, IDisposable
{
///
/// Paginators for the service
///
IRoute53RecoveryClusterPaginatorFactory Paginators { get; }
#region GetRoutingControlState
///
/// Get the state for a routing control. A routing control is a simple on/off switch that
/// you can use to route traffic to cells. When a routing control state is On, traffic
/// flows to a cell. When the state is Off, traffic does not flow.
///
///
///
/// Before you can create a routing control, you must first create a cluster, and then
/// host the control in a control panel on the cluster. For more information, see
/// Create routing control structures in the Amazon Route 53 Application Recovery
/// Controller Developer Guide. You access one of the endpoints for the cluster to get
/// or update the routing control state to redirect traffic for your application.
///
///
///
/// You must specify Regional endpoints when you work with API cluster operations
/// to get or update routing control states in Route 53 ARC.
///
///
///
/// To see a code example for getting a routing control state, including accessing Regional
/// cluster endpoints in sequence, see API
/// examples in the Amazon Route 53 Application Recovery Controller Developer Guide.
///
///
///
/// Learn more about working with routing controls in the following topics in the Amazon
/// Route 53 Application Recovery Controller Developer Guide:
///
///
///
/// Container for the necessary parameters to execute the GetRoutingControlState service method.
///
/// The response from the GetRoutingControlState service method, as returned by Route53RecoveryCluster.
///
/// You don't have sufficient permissions to perform this action.
///
///
/// The cluster endpoint isn't available. Try another cluster endpoint.
///
///
/// There was an unexpected error during processing of the request.
///
///
/// The request references a routing control or control panel that was not found.
///
///
/// The request was denied because of request throttling.
///
///
/// There was a validation error on the request.
///
/// REST API Reference for GetRoutingControlState Operation
GetRoutingControlStateResponse GetRoutingControlState(GetRoutingControlStateRequest request);
///
/// Get the state for a routing control. A routing control is a simple on/off switch that
/// you can use to route traffic to cells. When a routing control state is On, traffic
/// flows to a cell. When the state is Off, traffic does not flow.
///
///
///
/// Before you can create a routing control, you must first create a cluster, and then
/// host the control in a control panel on the cluster. For more information, see
/// Create routing control structures in the Amazon Route 53 Application Recovery
/// Controller Developer Guide. You access one of the endpoints for the cluster to get
/// or update the routing control state to redirect traffic for your application.
///
///
///
/// You must specify Regional endpoints when you work with API cluster operations
/// to get or update routing control states in Route 53 ARC.
///
///
///
/// To see a code example for getting a routing control state, including accessing Regional
/// cluster endpoints in sequence, see API
/// examples in the Amazon Route 53 Application Recovery Controller Developer Guide.
///
///
///
/// Learn more about working with routing controls in the following topics in the Amazon
/// Route 53 Application Recovery Controller Developer Guide:
///
///
///
/// Container for the necessary parameters to execute the GetRoutingControlState service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetRoutingControlState service method, as returned by Route53RecoveryCluster.
///
/// You don't have sufficient permissions to perform this action.
///
///
/// The cluster endpoint isn't available. Try another cluster endpoint.
///
///
/// There was an unexpected error during processing of the request.
///
///
/// The request references a routing control or control panel that was not found.
///
///
/// The request was denied because of request throttling.
///
///
/// There was a validation error on the request.
///
/// REST API Reference for GetRoutingControlState Operation
Task GetRoutingControlStateAsync(GetRoutingControlStateRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListRoutingControls
///
/// List routing control names and Amazon Resource Names (ARNs), as well as the routing
/// control state for each routing control, along with the control panel name and control
/// panel ARN for the routing controls. If you specify a control panel ARN, this call
/// lists the routing controls in the control panel. Otherwise, it lists all the routing
/// controls in the cluster.
///
///
///
/// A routing control is a simple on/off switch in Route 53 ARC that you can use to route
/// traffic to cells. When a routing control state is On, traffic flows to a cell. When
/// the state is Off, traffic does not flow.
///
///
///
/// Before you can create a routing control, you must first create a cluster, and then
/// host the control in a control panel on the cluster. For more information, see
/// Create routing control structures in the Amazon Route 53 Application Recovery
/// Controller Developer Guide. You access one of the endpoints for the cluster to get
/// or update the routing control state to redirect traffic for your application.
///
///
///
/// You must specify Regional endpoints when you work with API cluster operations
/// to use this API operation to list routing controls in Route 53 ARC.
///
///
///
/// Learn more about working with routing controls in the following topics in the Amazon
/// Route 53 Application Recovery Controller Developer Guide:
///
///
///
/// Container for the necessary parameters to execute the ListRoutingControls service method.
///
/// The response from the ListRoutingControls service method, as returned by Route53RecoveryCluster.
///
/// You don't have sufficient permissions to perform this action.
///
///
/// The cluster endpoint isn't available. Try another cluster endpoint.
///
///
/// There was an unexpected error during processing of the request.
///
///
/// The request references a routing control or control panel that was not found.
///
///
/// The request was denied because of request throttling.
///
///
/// There was a validation error on the request.
///
/// REST API Reference for ListRoutingControls Operation
ListRoutingControlsResponse ListRoutingControls(ListRoutingControlsRequest request);
///
/// List routing control names and Amazon Resource Names (ARNs), as well as the routing
/// control state for each routing control, along with the control panel name and control
/// panel ARN for the routing controls. If you specify a control panel ARN, this call
/// lists the routing controls in the control panel. Otherwise, it lists all the routing
/// controls in the cluster.
///
///
///
/// A routing control is a simple on/off switch in Route 53 ARC that you can use to route
/// traffic to cells. When a routing control state is On, traffic flows to a cell. When
/// the state is Off, traffic does not flow.
///
///
///
/// Before you can create a routing control, you must first create a cluster, and then
/// host the control in a control panel on the cluster. For more information, see
/// Create routing control structures in the Amazon Route 53 Application Recovery
/// Controller Developer Guide. You access one of the endpoints for the cluster to get
/// or update the routing control state to redirect traffic for your application.
///
///
///
/// You must specify Regional endpoints when you work with API cluster operations
/// to use this API operation to list routing controls in Route 53 ARC.
///
///
///
/// Learn more about working with routing controls in the following topics in the Amazon
/// Route 53 Application Recovery Controller Developer Guide:
///
///
///
/// Container for the necessary parameters to execute the ListRoutingControls service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListRoutingControls service method, as returned by Route53RecoveryCluster.
///
/// You don't have sufficient permissions to perform this action.
///
///
/// The cluster endpoint isn't available. Try another cluster endpoint.
///
///
/// There was an unexpected error during processing of the request.
///
///
/// The request references a routing control or control panel that was not found.
///
///
/// The request was denied because of request throttling.
///
///
/// There was a validation error on the request.
///
/// REST API Reference for ListRoutingControls Operation
Task ListRoutingControlsAsync(ListRoutingControlsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateRoutingControlState
///
/// Set the state of the routing control to reroute traffic. You can set the value to
/// be On or Off. When the state is On, traffic flows to a cell. When the state is Off,
/// traffic does not flow.
///
///
///
/// With Route 53 ARC, you can add safety rules for routing controls, which are safeguards
/// for routing control state updates that help prevent unexpected outcomes, like fail
/// open traffic routing. However, there are scenarios when you might want to bypass the
/// routing control safeguards that are enforced with safety rules that you've configured.
/// For example, you might want to fail over quickly for disaster recovery, and one or
/// more safety rules might be unexpectedly preventing you from updating a routing control
/// state to reroute traffic. In a "break glass" scenario like this, you can override
/// one or more safety rules to change a routing control state and fail over your application.
///
///
///
/// The SafetyRulesToOverride
property enables you override one or more safety
/// rules and update routing control states. For more information, see
/// Override safety rules to reroute traffic in the Amazon Route 53 Application Recovery
/// Controller Developer Guide.
///
///
///
/// You must specify Regional endpoints when you work with API cluster operations
/// to get or update routing control states in Route 53 ARC.
///
///
///
/// To see a code example for getting a routing control state, including accessing Regional
/// cluster endpoints in sequence, see API
/// examples in the Amazon Route 53 Application Recovery Controller Developer Guide.
///
///
///
/// Container for the necessary parameters to execute the UpdateRoutingControlState service method.
///
/// The response from the UpdateRoutingControlState service method, as returned by Route53RecoveryCluster.
///
/// You don't have sufficient permissions to perform this action.
///
///
/// There was a conflict with this request. Try again.
///
///
/// The cluster endpoint isn't available. Try another cluster endpoint.
///
///
/// There was an unexpected error during processing of the request.
///
///
/// The request references a routing control or control panel that was not found.
///
///
/// The request was denied because of request throttling.
///
///
/// There was a validation error on the request.
///
/// REST API Reference for UpdateRoutingControlState Operation
UpdateRoutingControlStateResponse UpdateRoutingControlState(UpdateRoutingControlStateRequest request);
///
/// Set the state of the routing control to reroute traffic. You can set the value to
/// be On or Off. When the state is On, traffic flows to a cell. When the state is Off,
/// traffic does not flow.
///
///
///
/// With Route 53 ARC, you can add safety rules for routing controls, which are safeguards
/// for routing control state updates that help prevent unexpected outcomes, like fail
/// open traffic routing. However, there are scenarios when you might want to bypass the
/// routing control safeguards that are enforced with safety rules that you've configured.
/// For example, you might want to fail over quickly for disaster recovery, and one or
/// more safety rules might be unexpectedly preventing you from updating a routing control
/// state to reroute traffic. In a "break glass" scenario like this, you can override
/// one or more safety rules to change a routing control state and fail over your application.
///
///
///
/// The SafetyRulesToOverride
property enables you override one or more safety
/// rules and update routing control states. For more information, see
/// Override safety rules to reroute traffic in the Amazon Route 53 Application Recovery
/// Controller Developer Guide.
///
///
///
/// You must specify Regional endpoints when you work with API cluster operations
/// to get or update routing control states in Route 53 ARC.
///
///
///
/// To see a code example for getting a routing control state, including accessing Regional
/// cluster endpoints in sequence, see API
/// examples in the Amazon Route 53 Application Recovery Controller Developer Guide.
///
///
///
/// Container for the necessary parameters to execute the UpdateRoutingControlState service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateRoutingControlState service method, as returned by Route53RecoveryCluster.
///
/// You don't have sufficient permissions to perform this action.
///
///
/// There was a conflict with this request. Try again.
///
///
/// The cluster endpoint isn't available. Try another cluster endpoint.
///
///
/// There was an unexpected error during processing of the request.
///
///
/// The request references a routing control or control panel that was not found.
///
///
/// The request was denied because of request throttling.
///
///
/// There was a validation error on the request.
///
/// REST API Reference for UpdateRoutingControlState Operation
Task UpdateRoutingControlStateAsync(UpdateRoutingControlStateRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateRoutingControlStates
///
/// Set multiple routing control states. You can set the value for each state to be On
/// or Off. When the state is On, traffic flows to a cell. When it's Off, traffic does
/// not flow.
///
///
///
/// With Route 53 ARC, you can add safety rules for routing controls, which are safeguards
/// for routing control state updates that help prevent unexpected outcomes, like fail
/// open traffic routing. However, there are scenarios when you might want to bypass the
/// routing control safeguards that are enforced with safety rules that you've configured.
/// For example, you might want to fail over quickly for disaster recovery, and one or
/// more safety rules might be unexpectedly preventing you from updating a routing control
/// state to reroute traffic. In a "break glass" scenario like this, you can override
/// one or more safety rules to change a routing control state and fail over your application.
///
///
///
/// The SafetyRulesToOverride
property enables you override one or more safety
/// rules and update routing control states. For more information, see
/// Override safety rules to reroute traffic in the Amazon Route 53 Application Recovery
/// Controller Developer Guide.
///
///
///
/// You must specify Regional endpoints when you work with API cluster operations
/// to get or update routing control states in Route 53 ARC.
///
///
///
/// To see a code example for getting a routing control state, including accessing Regional
/// cluster endpoints in sequence, see API
/// examples in the Amazon Route 53 Application Recovery Controller Developer Guide.
///
///
///
/// Container for the necessary parameters to execute the UpdateRoutingControlStates service method.
///
/// The response from the UpdateRoutingControlStates service method, as returned by Route53RecoveryCluster.
///
/// You don't have sufficient permissions to perform this action.
///
///
/// There was a conflict with this request. Try again.
///
///
/// The cluster endpoint isn't available. Try another cluster endpoint.
///
///
/// There was an unexpected error during processing of the request.
///
///
/// The request references a routing control or control panel that was not found.
///
///
/// The request can't update that many routing control states at the same time. Try again
/// with fewer routing control states.
///
///
/// The request was denied because of request throttling.
///
///
/// There was a validation error on the request.
///
/// REST API Reference for UpdateRoutingControlStates Operation
UpdateRoutingControlStatesResponse UpdateRoutingControlStates(UpdateRoutingControlStatesRequest request);
///
/// Set multiple routing control states. You can set the value for each state to be On
/// or Off. When the state is On, traffic flows to a cell. When it's Off, traffic does
/// not flow.
///
///
///
/// With Route 53 ARC, you can add safety rules for routing controls, which are safeguards
/// for routing control state updates that help prevent unexpected outcomes, like fail
/// open traffic routing. However, there are scenarios when you might want to bypass the
/// routing control safeguards that are enforced with safety rules that you've configured.
/// For example, you might want to fail over quickly for disaster recovery, and one or
/// more safety rules might be unexpectedly preventing you from updating a routing control
/// state to reroute traffic. In a "break glass" scenario like this, you can override
/// one or more safety rules to change a routing control state and fail over your application.
///
///
///
/// The SafetyRulesToOverride
property enables you override one or more safety
/// rules and update routing control states. For more information, see
/// Override safety rules to reroute traffic in the Amazon Route 53 Application Recovery
/// Controller Developer Guide.
///
///
///
/// You must specify Regional endpoints when you work with API cluster operations
/// to get or update routing control states in Route 53 ARC.
///
///
///
/// To see a code example for getting a routing control state, including accessing Regional
/// cluster endpoints in sequence, see API
/// examples in the Amazon Route 53 Application Recovery Controller Developer Guide.
///
///
///
/// Container for the necessary parameters to execute the UpdateRoutingControlStates service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateRoutingControlStates service method, as returned by Route53RecoveryCluster.
///
/// You don't have sufficient permissions to perform this action.
///
///
/// There was a conflict with this request. Try again.
///
///
/// The cluster endpoint isn't available. Try another cluster endpoint.
///
///
/// There was an unexpected error during processing of the request.
///
///
/// The request references a routing control or control panel that was not found.
///
///
/// The request can't update that many routing control states at the same time. Try again
/// with fewer routing control states.
///
///
/// The request was denied because of request throttling.
///
///
/// There was a validation error on the request.
///
/// REST API Reference for UpdateRoutingControlStates Operation
Task UpdateRoutingControlStatesAsync(UpdateRoutingControlStatesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}