/* * 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.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Net; using Amazon.Route53RecoveryControlConfig.Model; using Amazon.Route53RecoveryControlConfig.Model.Internal.MarshallTransformations; using Amazon.Route53RecoveryControlConfig.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.Route53RecoveryControlConfig { /// /// Implementation for accessing Route53RecoveryControlConfig /// /// Recovery Control Configuration API Reference for Amazon Route 53 Application Recovery /// Controller /// public partial class AmazonRoute53RecoveryControlConfigClient : AmazonServiceClient, IAmazonRoute53RecoveryControlConfig { private static IServiceMetadata serviceMetadata = new AmazonRoute53RecoveryControlConfigMetadata(); #region Constructors /// /// Constructs AmazonRoute53RecoveryControlConfigClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonRoute53RecoveryControlConfigClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonRoute53RecoveryControlConfigConfig()) { } /// /// Constructs AmazonRoute53RecoveryControlConfigClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonRoute53RecoveryControlConfigClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonRoute53RecoveryControlConfigConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonRoute53RecoveryControlConfigClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonRoute53RecoveryControlConfigClient Configuration Object public AmazonRoute53RecoveryControlConfigClient(AmazonRoute53RecoveryControlConfigConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonRoute53RecoveryControlConfigClient with AWS Credentials /// /// AWS Credentials public AmazonRoute53RecoveryControlConfigClient(AWSCredentials credentials) : this(credentials, new AmazonRoute53RecoveryControlConfigConfig()) { } /// /// Constructs AmazonRoute53RecoveryControlConfigClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonRoute53RecoveryControlConfigClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonRoute53RecoveryControlConfigConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonRoute53RecoveryControlConfigClient with AWS Credentials and an /// AmazonRoute53RecoveryControlConfigClient Configuration object. /// /// AWS Credentials /// The AmazonRoute53RecoveryControlConfigClient Configuration Object public AmazonRoute53RecoveryControlConfigClient(AWSCredentials credentials, AmazonRoute53RecoveryControlConfigConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonRoute53RecoveryControlConfigClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonRoute53RecoveryControlConfigClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonRoute53RecoveryControlConfigConfig()) { } /// /// Constructs AmazonRoute53RecoveryControlConfigClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonRoute53RecoveryControlConfigClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonRoute53RecoveryControlConfigConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonRoute53RecoveryControlConfigClient with AWS Access Key ID, AWS Secret Key and an /// AmazonRoute53RecoveryControlConfigClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonRoute53RecoveryControlConfigClient Configuration Object public AmazonRoute53RecoveryControlConfigClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonRoute53RecoveryControlConfigConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonRoute53RecoveryControlConfigClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonRoute53RecoveryControlConfigClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonRoute53RecoveryControlConfigConfig()) { } /// /// Constructs AmazonRoute53RecoveryControlConfigClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonRoute53RecoveryControlConfigClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonRoute53RecoveryControlConfigConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonRoute53RecoveryControlConfigClient with AWS Access Key ID, AWS Secret Key and an /// AmazonRoute53RecoveryControlConfigClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonRoute53RecoveryControlConfigClient Configuration Object public AmazonRoute53RecoveryControlConfigClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonRoute53RecoveryControlConfigConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #if AWS_ASYNC_ENUMERABLES_API private IRoute53RecoveryControlConfigPaginatorFactory _paginators; /// /// Paginators for the service /// public IRoute53RecoveryControlConfigPaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new Route53RecoveryControlConfigPaginatorFactory(this); } return this._paginators; } } #endif #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customizes the runtime pipeline. /// /// Runtime pipeline for the current client. protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonRoute53RecoveryControlConfigEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region CreateCluster internal virtual CreateClusterResponse CreateCluster(CreateClusterRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateClusterRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateClusterResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task CreateClusterAsync(CreateClusterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateClusterRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateClusterResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateControlPanel internal virtual CreateControlPanelResponse CreateControlPanel(CreateControlPanelRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateControlPanelRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateControlPanelResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task CreateControlPanelAsync(CreateControlPanelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateControlPanelRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateControlPanelResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateRoutingControl internal virtual CreateRoutingControlResponse CreateRoutingControl(CreateRoutingControlRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRoutingControlRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRoutingControlResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task CreateRoutingControlAsync(CreateRoutingControlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRoutingControlRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRoutingControlResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateSafetyRule internal virtual CreateSafetyRuleResponse CreateSafetyRule(CreateSafetyRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSafetyRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSafetyRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task CreateSafetyRuleAsync(CreateSafetyRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSafetyRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSafetyRuleResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteCluster internal virtual DeleteClusterResponse DeleteCluster(DeleteClusterRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteClusterRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteClusterResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DeleteClusterAsync(DeleteClusterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteClusterRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteClusterResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteControlPanel internal virtual DeleteControlPanelResponse DeleteControlPanel(DeleteControlPanelRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteControlPanelRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteControlPanelResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DeleteControlPanelAsync(DeleteControlPanelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteControlPanelRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteControlPanelResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteRoutingControl internal virtual DeleteRoutingControlResponse DeleteRoutingControl(DeleteRoutingControlRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRoutingControlRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRoutingControlResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DeleteRoutingControlAsync(DeleteRoutingControlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRoutingControlRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRoutingControlResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteSafetyRule internal virtual DeleteSafetyRuleResponse DeleteSafetyRule(DeleteSafetyRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSafetyRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSafetyRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DeleteSafetyRuleAsync(DeleteSafetyRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSafetyRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSafetyRuleResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeCluster internal virtual DescribeClusterResponse DescribeCluster(DescribeClusterRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeClusterRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeClusterResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DescribeClusterAsync(DescribeClusterRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeClusterRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeClusterResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeControlPanel internal virtual DescribeControlPanelResponse DescribeControlPanel(DescribeControlPanelRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeControlPanelRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeControlPanelResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DescribeControlPanelAsync(DescribeControlPanelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeControlPanelRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeControlPanelResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeRoutingControl internal virtual DescribeRoutingControlResponse DescribeRoutingControl(DescribeRoutingControlRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeRoutingControlRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeRoutingControlResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DescribeRoutingControlAsync(DescribeRoutingControlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeRoutingControlRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeRoutingControlResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeSafetyRule internal virtual DescribeSafetyRuleResponse DescribeSafetyRule(DescribeSafetyRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeSafetyRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeSafetyRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task DescribeSafetyRuleAsync(DescribeSafetyRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeSafetyRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeSafetyRuleResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListAssociatedRoute53HealthChecks internal virtual ListAssociatedRoute53HealthChecksResponse ListAssociatedRoute53HealthChecks(ListAssociatedRoute53HealthChecksRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListAssociatedRoute53HealthChecksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListAssociatedRoute53HealthChecksResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListAssociatedRoute53HealthChecksAsync(ListAssociatedRoute53HealthChecksRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListAssociatedRoute53HealthChecksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListAssociatedRoute53HealthChecksResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListClusters internal virtual ListClustersResponse ListClusters(ListClustersRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListClustersRequestMarshaller.Instance; options.ResponseUnmarshaller = ListClustersResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListClustersAsync(ListClustersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListClustersRequestMarshaller.Instance; options.ResponseUnmarshaller = ListClustersResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListControlPanels internal virtual ListControlPanelsResponse ListControlPanels(ListControlPanelsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListControlPanelsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListControlPanelsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListControlPanelsAsync(ListControlPanelsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListControlPanelsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListControlPanelsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListRoutingControls internal virtual ListRoutingControlsResponse ListRoutingControls(ListRoutingControlsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListRoutingControlsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRoutingControlsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListRoutingControlsAsync(ListRoutingControlsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListRoutingControlsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRoutingControlsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListSafetyRules internal virtual ListSafetyRulesResponse ListSafetyRules(ListSafetyRulesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSafetyRulesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSafetyRulesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListSafetyRulesAsync(ListSafetyRulesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListSafetyRulesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSafetyRulesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTagsForResource internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region TagResource internal virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UntagResource internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateControlPanel internal virtual UpdateControlPanelResponse UpdateControlPanel(UpdateControlPanelRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateControlPanelRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateControlPanelResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task UpdateControlPanelAsync(UpdateControlPanelRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateControlPanelRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateControlPanelResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateRoutingControl internal virtual UpdateRoutingControlResponse UpdateRoutingControl(UpdateRoutingControlRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateRoutingControlRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateRoutingControlResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task UpdateRoutingControlAsync(UpdateRoutingControlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateRoutingControlRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateRoutingControlResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateSafetyRule internal virtual UpdateSafetyRuleResponse UpdateSafetyRule(UpdateSafetyRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateSafetyRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateSafetyRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 public virtual Task UpdateSafetyRuleAsync(UpdateSafetyRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateSafetyRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateSafetyRuleResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }