/* * 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.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: /// /// /// public partial interface IAmazonRoute53RecoveryCluster : IAmazonService, IDisposable { #if BCL45 || AWS_ASYNC_ENUMERABLES_API /// /// Paginators for the service /// IRoute53RecoveryClusterPaginatorFactory Paginators { get; } #endif #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); /// /// Initiates the asynchronous execution of the GetRoutingControlState operation. /// /// /// Container for the necessary parameters to execute the GetRoutingControlState operation on AmazonRoute53RecoveryClusterClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetRoutingControlState /// operation. /// REST API Reference for GetRoutingControlState Operation IAsyncResult BeginGetRoutingControlState(GetRoutingControlStateRequest request, AsyncCallback callback, object state); /// /// Finishes the asynchronous execution of the GetRoutingControlState operation. /// /// /// The IAsyncResult returned by the call to BeginGetRoutingControlState. /// /// Returns a GetRoutingControlStateResult from Route53RecoveryCluster. /// REST API Reference for GetRoutingControlState Operation GetRoutingControlStateResponse EndGetRoutingControlState(IAsyncResult asyncResult); #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); /// /// Initiates the asynchronous execution of the ListRoutingControls operation. /// /// /// Container for the necessary parameters to execute the ListRoutingControls operation on AmazonRoute53RecoveryClusterClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndListRoutingControls /// operation. /// REST API Reference for ListRoutingControls Operation IAsyncResult BeginListRoutingControls(ListRoutingControlsRequest request, AsyncCallback callback, object state); /// /// Finishes the asynchronous execution of the ListRoutingControls operation. /// /// /// The IAsyncResult returned by the call to BeginListRoutingControls. /// /// Returns a ListRoutingControlsResult from Route53RecoveryCluster. /// REST API Reference for ListRoutingControls Operation ListRoutingControlsResponse EndListRoutingControls(IAsyncResult asyncResult); #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); /// /// Initiates the asynchronous execution of the UpdateRoutingControlState operation. /// /// /// Container for the necessary parameters to execute the UpdateRoutingControlState operation on AmazonRoute53RecoveryClusterClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateRoutingControlState /// operation. /// REST API Reference for UpdateRoutingControlState Operation IAsyncResult BeginUpdateRoutingControlState(UpdateRoutingControlStateRequest request, AsyncCallback callback, object state); /// /// Finishes the asynchronous execution of the UpdateRoutingControlState operation. /// /// /// The IAsyncResult returned by the call to BeginUpdateRoutingControlState. /// /// Returns a UpdateRoutingControlStateResult from Route53RecoveryCluster. /// REST API Reference for UpdateRoutingControlState Operation UpdateRoutingControlStateResponse EndUpdateRoutingControlState(IAsyncResult asyncResult); #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); /// /// Initiates the asynchronous execution of the UpdateRoutingControlStates operation. /// /// /// Container for the necessary parameters to execute the UpdateRoutingControlStates operation on AmazonRoute53RecoveryClusterClient. /// An AsyncCallback delegate that is invoked when the operation completes. /// A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property. /// /// An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndUpdateRoutingControlStates /// operation. /// REST API Reference for UpdateRoutingControlStates Operation IAsyncResult BeginUpdateRoutingControlStates(UpdateRoutingControlStatesRequest request, AsyncCallback callback, object state); /// /// Finishes the asynchronous execution of the UpdateRoutingControlStates operation. /// /// /// The IAsyncResult returned by the call to BeginUpdateRoutingControlStates. /// /// Returns a UpdateRoutingControlStatesResult from Route53RecoveryCluster. /// REST API Reference for UpdateRoutingControlStates Operation UpdateRoutingControlStatesResponse EndUpdateRoutingControlStates(IAsyncResult asyncResult); #endregion } }