/*
* 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-control-config-2020-11-02.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.Route53RecoveryControlConfig.Model;
namespace Amazon.Route53RecoveryControlConfig
{
///
/// Interface for accessing Route53RecoveryControlConfig
///
/// Recovery Control Configuration API Reference for Amazon Route 53 Application Recovery
/// Controller
///
public partial interface IAmazonRoute53RecoveryControlConfig : IAmazonService, IDisposable
{
///
/// Paginators for the service
///
IRoute53RecoveryControlConfigPaginatorFactory Paginators { get; }
#region CreateCluster
///
/// 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.
///
/// Container for the necessary parameters to execute the CreateCluster service method.
///
/// The response from the CreateCluster service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 402 response - You attempted to create more resources than the service allows based
/// on service quotas.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for CreateCluster Operation
CreateClusterResponse CreateCluster(CreateClusterRequest request);
///
/// 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.
///
/// Container for the necessary parameters to execute the CreateCluster service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateCluster service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 402 response - You attempted to create more resources than the service allows based
/// on service quotas.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for CreateCluster Operation
Task CreateClusterAsync(CreateClusterRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateControlPanel
///
/// 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.
///
/// Container for the necessary parameters to execute the CreateControlPanel service method.
///
/// The response from the CreateControlPanel service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 402 response - You attempted to create more resources than the service allows based
/// on service quotas.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for CreateControlPanel Operation
CreateControlPanelResponse CreateControlPanel(CreateControlPanelRequest request);
///
/// 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.
///
/// Container for the necessary parameters to execute the CreateControlPanel service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateControlPanel service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 402 response - You attempted to create more resources than the service allows based
/// on service quotas.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for CreateControlPanel Operation
Task CreateControlPanelAsync(CreateControlPanelRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateRoutingControl
///
/// 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.
///
///
/// Container for the necessary parameters to execute the CreateRoutingControl service method.
///
/// The response from the CreateRoutingControl service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 402 response - You attempted to create more resources than the service allows based
/// on service quotas.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for CreateRoutingControl Operation
CreateRoutingControlResponse CreateRoutingControl(CreateRoutingControlRequest request);
///
/// 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.
///
///
/// Container for the necessary parameters to execute the CreateRoutingControl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateRoutingControl service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 402 response - You attempted to create more resources than the service allows based
/// on service quotas.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for CreateRoutingControl Operation
Task CreateRoutingControlAsync(CreateRoutingControlRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateSafetyRule
///
/// 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.
///
///
/// Container for the necessary parameters to execute the CreateSafetyRule service method.
///
/// The response from the CreateSafetyRule service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for CreateSafetyRule Operation
CreateSafetyRuleResponse CreateSafetyRule(CreateSafetyRuleRequest request);
///
/// 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.
///
///
/// Container for the necessary parameters to execute the CreateSafetyRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateSafetyRule service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for CreateSafetyRule Operation
Task CreateSafetyRuleAsync(CreateSafetyRuleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteCluster
///
/// Delete a cluster.
///
/// Container for the necessary parameters to execute the DeleteCluster service method.
///
/// The response from the DeleteCluster service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DeleteCluster Operation
DeleteClusterResponse DeleteCluster(DeleteClusterRequest request);
///
/// Delete a cluster.
///
/// Container for the necessary parameters to execute the DeleteCluster service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteCluster service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DeleteCluster Operation
Task DeleteClusterAsync(DeleteClusterRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteControlPanel
///
/// Deletes a control panel.
///
/// Container for the necessary parameters to execute the DeleteControlPanel service method.
///
/// The response from the DeleteControlPanel service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DeleteControlPanel Operation
DeleteControlPanelResponse DeleteControlPanel(DeleteControlPanelRequest request);
///
/// Deletes a control panel.
///
/// Container for the necessary parameters to execute the DeleteControlPanel service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteControlPanel service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DeleteControlPanel Operation
Task DeleteControlPanelAsync(DeleteControlPanelRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteRoutingControl
///
/// Deletes a routing control.
///
/// Container for the necessary parameters to execute the DeleteRoutingControl service method.
///
/// The response from the DeleteRoutingControl service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DeleteRoutingControl Operation
DeleteRoutingControlResponse DeleteRoutingControl(DeleteRoutingControlRequest request);
///
/// Deletes a routing control.
///
/// Container for the necessary parameters to execute the DeleteRoutingControl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteRoutingControl service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DeleteRoutingControl Operation
Task DeleteRoutingControlAsync(DeleteRoutingControlRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteSafetyRule
///
/// Deletes a safety rule.
///
/// />
///
/// Container for the necessary parameters to execute the DeleteSafetyRule service method.
///
/// The response from the DeleteSafetyRule service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DeleteSafetyRule Operation
DeleteSafetyRuleResponse DeleteSafetyRule(DeleteSafetyRuleRequest request);
///
/// Deletes a safety rule.
///
/// />
///
/// Container for the necessary parameters to execute the DeleteSafetyRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteSafetyRule service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DeleteSafetyRule Operation
Task DeleteSafetyRuleAsync(DeleteSafetyRuleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeCluster
///
/// Display the details about a cluster. The response includes the cluster name, endpoints,
/// status, and Amazon Resource Name (ARN).
///
/// Container for the necessary parameters to execute the DescribeCluster service method.
///
/// The response from the DescribeCluster service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DescribeCluster Operation
DescribeClusterResponse DescribeCluster(DescribeClusterRequest request);
///
/// Display the details about a cluster. The response includes the cluster name, endpoints,
/// status, and Amazon Resource Name (ARN).
///
/// Container for the necessary parameters to execute the DescribeCluster service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeCluster service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DescribeCluster Operation
Task DescribeClusterAsync(DescribeClusterRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeControlPanel
///
/// Displays details about a control panel.
///
/// Container for the necessary parameters to execute the DescribeControlPanel service method.
///
/// The response from the DescribeControlPanel service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DescribeControlPanel Operation
DescribeControlPanelResponse DescribeControlPanel(DescribeControlPanelRequest request);
///
/// Displays details about a control panel.
///
/// Container for the necessary parameters to execute the DescribeControlPanel service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeControlPanel service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DescribeControlPanel Operation
Task DescribeControlPanelAsync(DescribeControlPanelRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeRoutingControl
///
/// 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.
///
///
/// Container for the necessary parameters to execute the DescribeRoutingControl service method.
///
/// The response from the DescribeRoutingControl service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DescribeRoutingControl Operation
DescribeRoutingControlResponse DescribeRoutingControl(DescribeRoutingControlRequest request);
///
/// 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.
///
///
/// Container for the necessary parameters to execute the DescribeRoutingControl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeRoutingControl service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DescribeRoutingControl Operation
Task DescribeRoutingControlAsync(DescribeRoutingControlRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeSafetyRule
///
/// Returns information about a safety rule.
///
/// Container for the necessary parameters to execute the DescribeSafetyRule service method.
///
/// The response from the DescribeSafetyRule service method, as returned by Route53RecoveryControlConfig.
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DescribeSafetyRule Operation
DescribeSafetyRuleResponse DescribeSafetyRule(DescribeSafetyRuleRequest request);
///
/// Returns information about a safety rule.
///
/// Container for the necessary parameters to execute the DescribeSafetyRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeSafetyRule service method, as returned by Route53RecoveryControlConfig.
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for DescribeSafetyRule Operation
Task DescribeSafetyRuleAsync(DescribeSafetyRuleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAssociatedRoute53HealthChecks
///
/// Returns an array of all Amazon Route 53 health checks associated with a specific routing
/// control.
///
/// Container for the necessary parameters to execute the ListAssociatedRoute53HealthChecks service method.
///
/// The response from the ListAssociatedRoute53HealthChecks service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListAssociatedRoute53HealthChecks Operation
ListAssociatedRoute53HealthChecksResponse ListAssociatedRoute53HealthChecks(ListAssociatedRoute53HealthChecksRequest request);
///
/// Returns an array of all Amazon Route 53 health checks associated with a specific routing
/// control.
///
/// Container for the necessary parameters to execute the ListAssociatedRoute53HealthChecks service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAssociatedRoute53HealthChecks service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListAssociatedRoute53HealthChecks Operation
Task ListAssociatedRoute53HealthChecksAsync(ListAssociatedRoute53HealthChecksRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListClusters
///
/// Returns an array of all the clusters in an account.
///
/// Container for the necessary parameters to execute the ListClusters service method.
///
/// The response from the ListClusters service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListClusters Operation
ListClustersResponse ListClusters(ListClustersRequest request);
///
/// Returns an array of all the clusters in an account.
///
/// Container for the necessary parameters to execute the ListClusters service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListClusters service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListClusters Operation
Task ListClustersAsync(ListClustersRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListControlPanels
///
/// Returns an array of control panels in an account or in a cluster.
///
/// Container for the necessary parameters to execute the ListControlPanels service method.
///
/// The response from the ListControlPanels service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListControlPanels Operation
ListControlPanelsResponse ListControlPanels(ListControlPanelsRequest request);
///
/// Returns an array of control panels in an account or in a cluster.
///
/// Container for the necessary parameters to execute the ListControlPanels service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListControlPanels service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListControlPanels Operation
Task ListControlPanelsAsync(ListControlPanelsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListRoutingControls
///
/// 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.
///
/// Container for the necessary parameters to execute the ListRoutingControls service method.
///
/// The response from the ListRoutingControls service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListRoutingControls Operation
ListRoutingControlsResponse ListRoutingControls(ListRoutingControlsRequest request);
///
/// 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.
///
/// 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 Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListRoutingControls Operation
Task ListRoutingControlsAsync(ListRoutingControlsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListSafetyRules
///
/// List the safety rules (the assertion rules and gating rules) that you've defined for
/// the routing controls in a control panel.
///
/// Container for the necessary parameters to execute the ListSafetyRules service method.
///
/// The response from the ListSafetyRules service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListSafetyRules Operation
ListSafetyRulesResponse ListSafetyRules(ListSafetyRulesRequest request);
///
/// List the safety rules (the assertion rules and gating rules) that you've defined for
/// the routing controls in a control panel.
///
/// Container for the necessary parameters to execute the ListSafetyRules service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListSafetyRules service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListSafetyRules Operation
Task ListSafetyRulesAsync(ListSafetyRulesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Lists the tags for a resource.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// The response from the ListTagsForResource service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListTagsForResource Operation
ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request);
///
/// Lists the tags for a resource.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Adds a tag to a resource.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// The response from the TagResource service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for TagResource Operation
TagResourceResponse TagResource(TagResourceRequest request);
///
/// Adds a tag to a resource.
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes a tag from a resource.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// The response from the UntagResource service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for UntagResource Operation
UntagResourceResponse UntagResource(UntagResourceRequest request);
///
/// Removes a tag from a resource.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateControlPanel
///
/// Updates a control panel. The only update you can make to a control panel is to change
/// the name of the control panel.
///
/// Container for the necessary parameters to execute the UpdateControlPanel service method.
///
/// The response from the UpdateControlPanel service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for UpdateControlPanel Operation
UpdateControlPanelResponse UpdateControlPanel(UpdateControlPanelRequest request);
///
/// Updates a control panel. The only update you can make to a control panel is to change
/// the name of the control panel.
///
/// Container for the necessary parameters to execute the UpdateControlPanel service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateControlPanel service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for UpdateControlPanel Operation
Task UpdateControlPanelAsync(UpdateControlPanelRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateRoutingControl
///
/// 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.
///
/// Container for the necessary parameters to execute the UpdateRoutingControl service method.
///
/// The response from the UpdateRoutingControl service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for UpdateRoutingControl Operation
UpdateRoutingControlResponse UpdateRoutingControl(UpdateRoutingControlRequest request);
///
/// 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.
///
/// Container for the necessary parameters to execute the UpdateRoutingControl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateRoutingControl service method, as returned by Route53RecoveryControlConfig.
///
/// 403 response - You do not have sufficient access to perform this action.
///
///
/// 409 response - ConflictException. You might be using a predefined variable.
///
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 429 response - LimitExceededException or TooManyRequestsException.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for UpdateRoutingControl Operation
Task UpdateRoutingControlAsync(UpdateRoutingControlRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateSafetyRule
///
/// 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.
///
/// Container for the necessary parameters to execute the UpdateSafetyRule service method.
///
/// The response from the UpdateSafetyRule service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for UpdateSafetyRule Operation
UpdateSafetyRuleResponse UpdateSafetyRule(UpdateSafetyRuleRequest request);
///
/// 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.
///
/// Container for the necessary parameters to execute the UpdateSafetyRule service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateSafetyRule service method, as returned by Route53RecoveryControlConfig.
///
/// 500 response - InternalServiceError. Temporary service error. Retry the request.
///
///
/// 404 response - MalformedQueryString. The query string contains a syntax error or resource
/// not found.
///
///
/// 400 response - Multiple causes. For example, you might have a malformed query string
/// and input parameter might be out of range, or you might have used parameters together
/// incorrectly.
///
/// REST API Reference for UpdateSafetyRule Operation
Task UpdateSafetyRuleAsync(UpdateSafetyRuleRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}