

# Resources


The Amazon Route 53 Application Recovery Controller REST API includes the following resources.

**Topics**
+ [

# CreateControlPanel, UpdateControlPanel
](controlpanel.md)
+ [

# CreateRoutingControl, UpdateRoutingControl
](routingcontrol.md)
+ [

# CreateSafetyRule, UpdateSafetyRule
](safetyrule.md)
+ [

# DescribeCluster, DeleteCluster
](cluster-clusterarn.md)
+ [

# DescribeControlPanel, DeleteControlPanel
](controlpanel-controlpanelarn.md)
+ [

# DescribeRoutingControl, DeleteRoutingControl
](routingcontrol-routingcontrolarn.md)
+ [

# DescribeSafetyRule, DeleteSafetyRule
](safetyrule-safetyrulearn.md)
+ [

# GetResourcePolicy
](resourcepolicy-resourcearn.md)
+ [

# ListAssociatedRoute53HealthChecks
](routingcontrol-routingcontrolarn-associatedroute53healthchecks.md)
+ [

# ListClusters, CreateCluster, UpdateCluster
](cluster.md)
+ [

# ListControlPanels
](controlpanels.md)
+ [

# ListRoutingControls
](controlpanel-controlpanelarn-routingcontrols.md)
+ [

# ListSafetyRules
](controlpanel-controlpanelarn-safetyrules.md)
+ [

# ListTagsForResource, TagResource, UntagResource
](tags-resourcearn.md)

# CreateControlPanel, UpdateControlPanel


## URI


`/controlpanel`

## HTTP methods


### POST


**Operation ID:** `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 AWS Region.


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | CreateControlPanelResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 402 | ServiceQuotaExceededException | 402 response | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### PUT


**Operation ID:** `UpdateControlPanel`

Updates a control panel. The only update that you can make to a control panel is to change its name.

Note that only ASCII characters are supported for control panel names, and each name must be unique within a control panel.


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | UpdateControlPanelResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Request bodies


#### POST schema
POST

```
{
  "ClusterArn": "string",
  "ClientToken": "string",
  "ControlPanelName": "string",
  "Tags": {
  }
}
```

#### PUT schema
PUT

```
{
  "ControlPanelArn": "string",
  "ControlPanelName": "string"
}
```

### Response bodies


#### CreateControlPanelResponse schema
CreateControlPanelResponse

```
{
  "ControlPanel": {
    "ClusterArn": "string",
    "Status": enum,
    "Owner": "string",
    "ControlPanelArn": "string",
    "DefaultControlPanel": boolean,
    "RoutingControlCount": integer,
    "Name": "string"
  }
}
```

#### UpdateControlPanelResponse schema
UpdateControlPanelResponse

```
{
  "ControlPanel": {
    "ClusterArn": "string",
    "Status": enum,
    "Owner": "string",
    "ControlPanelArn": "string",
    "DefaultControlPanel": boolean,
    "RoutingControlCount": integer,
    "Name": "string"
  }
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### ServiceQuotaExceededException schema
ServiceQuotaExceededException

```
{
  "message": "string"
}
```

#### AccessDeniedException schema
AccessDeniedException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### ConflictException schema
ConflictException

```
{
  "message": "string"
}
```

#### ThrottlingException schema
ThrottlingException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AccessDeniedException


403 response - You do not have sufficient access to perform this action.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ConflictException


409 response - ConflictException. You might be using a predefined variable.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ControlPanel


A control panel represents a group of routing controls that can be changed together in a single transaction.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ClusterArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the cluster that includes the control panel. | 
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the control panel. | 
| DefaultControlPanel | boolean | False | A flag that Amazon Route 53 Application Recovery Controller sets to true to designate the default control panel for a cluster. When you create a cluster, Amazon Route 53 Application Recovery Controller creates a control panel, and sets this flag for that control panel. If you create a control panel yourself, this flag is set to false. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | False | The name of the control panel. Note that only ASCII characters are supported for control panel names, and each name must be unique within a control panel. | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the control panel owner. | 
| RoutingControlCount | integerFormat: int32 | False | The number of routing controls in the control panel. | 
| Status | [Status](#controlpanel-model-status) | False | The deployment status of the control panel. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 

### CreateControlPanelRequest


A request to create a control panel.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ClientToken | stringPattern: `^[-a-z-A-z0-9 ]+$`MinLength: 1MaxLength: 64 | False | A unique, case-sensitive string of up to 64 ASCII characters. To make an idempotent API request with an action, specify a client token in the request. | 
| ClusterArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the cluster for the control panel. | 
| ControlPanelName | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the control panel. Note that only ASCII characters are supported for control panel names. | 
| Tags | object | False | The tags associated with the control panel. | 

### CreateControlPanelResponse


The result of a successful `CreateControlPanel` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanel | [ControlPanel](#controlpanel-model-controlpanel) | True | Information about a control panel, including a list of the routing controls included in it. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ServiceQuotaExceededException


402 response - You attempted to create more resources than the service allows based on service quotas.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### ThrottlingException


429 response - LimitExceededException or TooManyRequestsException.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### UpdateControlPanelRequest


Updates an existing control panel.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the control panel. | 
| ControlPanelName | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the control panel. Note that only ASCII characters are supported for control panel names, and each name must be unique within a control panel. | 

### UpdateControlPanelResponse


The result of a successful `UpdateControlPanel` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanel | [ControlPanel](#controlpanel-model-controlpanel) | True | The control panel to update. | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### CreateControlPanel

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/CreateControlPanel)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/CreateControlPanel)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/CreateControlPanel)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/CreateControlPanel)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/CreateControlPanel)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/CreateControlPanel)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/CreateControlPanel)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/CreateControlPanel)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/CreateControlPanel)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/CreateControlPanel)

### UpdateControlPanel

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/UpdateControlPanel)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/UpdateControlPanel)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/UpdateControlPanel)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/UpdateControlPanel)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/UpdateControlPanel)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/UpdateControlPanel)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/UpdateControlPanel)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/UpdateControlPanel)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/UpdateControlPanel)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/UpdateControlPanel)

# CreateRoutingControl, UpdateRoutingControl


## URI


`/routingcontrol`

## HTTP methods


### POST


**Operation ID:** `CreateRoutingControl`

Creates a new routing control. 

A routing control has one of two states: ON and OFF. You configure routing controls so they update Amazon Route 53 health checks, which reroute traffic for your application.

Note that a routing control name must be unique within a control panel.

To get or update the routing control state, see the [GetRoutingControlState](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_GetRoutingControlState.html) API in the Routing Control (Recovery Cluster) API Reference Guide for Amazon Route 53 Application Recovery Controller.


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | CreateRoutingControlResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 402 | ServiceQuotaExceededException | 402 response | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### PUT


**Operation ID:** `UpdateRoutingControl`

Updates a routing control. You can only update the name of the routing control. The name must be unique within a control panel. To get or update the routing control state, see the [GetRoutingControlState](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_GetRoutingControlState.html) API in the Routing Control (Recovery Cluster) API Reference Guide for Amazon Route 53 Application Recovery Controller.


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | UpdateRoutingControlResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Request bodies


#### POST schema
POST

```
{
  "ClusterArn": "string",
  "RoutingControlName": "string",
  "ControlPanelArn": "string",
  "ClientToken": "string"
}
```

#### PUT schema
PUT

```
{
  "RoutingControlName": "string",
  "RoutingControlArn": "string"
}
```

### Response bodies


#### CreateRoutingControlResponse schema
CreateRoutingControlResponse

```
{
  "RoutingControl": {
    "Status": enum,
    "Owner": "string",
    "RoutingControlArn": "string",
    "ControlPanelArn": "string",
    "Name": "string"
  }
}
```

#### UpdateRoutingControlResponse schema
UpdateRoutingControlResponse

```
{
  "RoutingControl": {
    "Status": enum,
    "Owner": "string",
    "RoutingControlArn": "string",
    "ControlPanelArn": "string",
    "Name": "string"
  }
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### ServiceQuotaExceededException schema
ServiceQuotaExceededException

```
{
  "message": "string"
}
```

#### AccessDeniedException schema
AccessDeniedException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### ConflictException schema
ConflictException

```
{
  "message": "string"
}
```

#### ThrottlingException schema
ThrottlingException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AccessDeniedException


403 response - You do not have sufficient access to perform this action.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ConflictException


409 response - ConflictException. You might be using a predefined variable.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### CreateRoutingControlRequest


A request to create a routing control. If you don't specify `ControlPanelArn`, Amazon Route 53 Application Recovery Controller creates the routing control in `DefaultControlPanel`.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ClientToken | stringPattern: `^[-a-z-A-z0-9 ]+$`MinLength: 1MaxLength: 64 | False | A unique, case-sensitive string of up to 64 ASCII characters. To make an idempotent API request with an action, specify a client token in the request. | 
| ClusterArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the cluster that includes the routing control. | 
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the control panel that includes the routing control. | 
| RoutingControlName | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the routing control. Note that only ASCII characters are supported for routing control names. | 

### CreateRoutingControlResponse


The result of a successful `CreateRoutingControl` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| RoutingControl | [RoutingControl](#routingcontrol-model-routingcontrol) | False | The routing control that is created. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### RoutingControl


A routing control has one of two states: ON and OFF. You configure routing controls so they update Amazon Route 53 health checks, which reroute traffic for your application.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the control panel that includes the routing control. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | False | The name of the routing control. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the routing control owner. | 
| RoutingControlArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the routing control. | 
| Status | [Status](#routingcontrol-model-status) | False | The deployment status of a routing control. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 

### ServiceQuotaExceededException


402 response - You attempted to create more resources than the service allows based on service quotas.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### ThrottlingException


429 response - LimitExceededException or TooManyRequestsException.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### UpdateRoutingControlRequest


A request to update a routing control.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| RoutingControlArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the routing control. | 
| RoutingControlName | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the routing control. Note that only ASCII characters are supported for control panel names, and each name must be unique within a control panel. | 

### UpdateRoutingControlResponse


The result of a successful `UpdateRoutingControl` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| RoutingControl | [RoutingControl](#routingcontrol-model-routingcontrol) | True | The routing control that was updated. | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### CreateRoutingControl

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/CreateRoutingControl)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/CreateRoutingControl)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/CreateRoutingControl)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/CreateRoutingControl)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/CreateRoutingControl)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/CreateRoutingControl)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/CreateRoutingControl)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/CreateRoutingControl)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/CreateRoutingControl)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/CreateRoutingControl)

### UpdateRoutingControl

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/UpdateRoutingControl)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/UpdateRoutingControl)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/UpdateRoutingControl)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/UpdateRoutingControl)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/UpdateRoutingControl)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/UpdateRoutingControl)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/UpdateRoutingControl)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/UpdateRoutingControl)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/UpdateRoutingControl)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/UpdateRoutingControl)

# CreateSafetyRule, UpdateSafetyRule


## URI


`/safetyrule`

## HTTP methods


### POST


**Operation ID:** `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.

Note that the name of a safety rule must be unique within a control panel.

For more information, see [Safety rules](https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.safety-rules.html) in the Amazon Route 53 Application Recovery Controller Developer Guide.


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | CreateSafetyRuleResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### PUT


**Operation ID:** `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.


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | UpdateSafetyRuleResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Request bodies


#### POST schema
POST

```
{
  "AssertionRule": {
    "ControlPanelArn": "string",
    "AssertedControls": [
      "string"
    ],
    "RuleConfig": {
      "Type": enum,
      "Inverted": boolean,
      "Threshold": integer
    },
    "WaitPeriodMs": integer,
    "Name": "string"
  },
  "ClientToken": "string",
  "GatingRule": {
    "TargetControls": [
      "string"
    ],
    "ControlPanelArn": "string",
    "GatingControls": [
      "string"
    ],
    "RuleConfig": {
      "Type": enum,
      "Inverted": boolean,
      "Threshold": integer
    },
    "WaitPeriodMs": integer,
    "Name": "string"
  },
  "Tags": {
  }
}
```

#### PUT schema
PUT

```
{
  "GatingRuleUpdate": {
    "SafetyRuleArn": "string",
    "WaitPeriodMs": integer,
    "Name": "string"
  },
  "AssertionRuleUpdate": {
    "SafetyRuleArn": "string",
    "WaitPeriodMs": integer,
    "Name": "string"
  }
}
```

### Response bodies


#### CreateSafetyRuleResponse schema
CreateSafetyRuleResponse

```
{
  "AssertionRule": {
    "Status": enum,
    "Owner": "string",
    "ControlPanelArn": "string",
    "AssertedControls": [
      "string"
    ],
    "SafetyRuleArn": "string",
    "RuleConfig": {
      "Type": enum,
      "Inverted": boolean,
      "Threshold": integer
    },
    "WaitPeriodMs": integer,
    "Name": "string"
  },
  "GatingRule": {
    "Status": enum,
    "TargetControls": [
      "string"
    ],
    "Owner": "string",
    "ControlPanelArn": "string",
    "GatingControls": [
      "string"
    ],
    "SafetyRuleArn": "string",
    "RuleConfig": {
      "Type": enum,
      "Inverted": boolean,
      "Threshold": integer
    },
    "WaitPeriodMs": integer,
    "Name": "string"
  }
}
```

#### UpdateSafetyRuleResponse schema
UpdateSafetyRuleResponse

```
{
  "AssertionRule": {
    "Status": enum,
    "Owner": "string",
    "ControlPanelArn": "string",
    "AssertedControls": [
      "string"
    ],
    "SafetyRuleArn": "string",
    "RuleConfig": {
      "Type": enum,
      "Inverted": boolean,
      "Threshold": integer
    },
    "WaitPeriodMs": integer,
    "Name": "string"
  },
  "GatingRule": {
    "Status": enum,
    "TargetControls": [
      "string"
    ],
    "Owner": "string",
    "ControlPanelArn": "string",
    "GatingControls": [
      "string"
    ],
    "SafetyRuleArn": "string",
    "RuleConfig": {
      "Type": enum,
      "Inverted": boolean,
      "Threshold": integer
    },
    "WaitPeriodMs": integer,
    "Name": "string"
  }
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AssertionRule


An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met. Otherwise, the change to the routing control is not accepted. 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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| AssertedControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The routing controls that are part of transactions that are evaluated to determine if a request to change a routing control state is allowed. For example, you might include three routing controls, one for each of three AWS Regions. | 
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the control panel. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | Name of the assertion rule. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the assertion rule owner. | 
| RuleConfig | [RuleConfig](#safetyrule-model-ruleconfig) | True | The criteria that you set for specific assertion routing controls (AssertedControls) that designate how many routing control states must be `ON` as the result of a transaction. For example, if you have three assertion routing controls, you might specify `atleast` 2 for your rule configuration. This means that at least two assertion routing control states must be `ON`, so that at least two AWS Regions have traffic flowing to them.  | 
| SafetyRuleArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the assertion rule. | 
| Status | [Status](#safetyrule-model-status) | True | The deployment status of an assertion rule. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 
| WaitPeriodMs | integerFormat: int32 | True | An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value. | 

### AssertionRuleUpdate


An update to an assertion rule. You can update the name or the evaluation period (wait period). If you don't specify one of the items to update, the item is unchanged.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the assertion rule. The name must be unique within a control panel. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| SafetyRuleArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the assertion rule. | 
| WaitPeriodMs | integerFormat: int32 | True | An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value. | 

### CreateSafetyRuleRequest


Request to create a safety rule. You can create either an assertion rule or a gating rule with a `CreateSafetyRuleRequest` call. To learn more, [Safety rules](https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.safety-rules.html) in the Amazon Route 53 Application Recovery Controller Developer Guide.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| AssertionRule | [NewAssertionRule](#safetyrule-model-newassertionrule) | False | The assertion rule requested. | 
| ClientToken | stringPattern: `^[-a-z-A-z0-9 ]+$`MinLength: 1MaxLength: 64 | False | A unique, case-sensitive string of up to 64 ASCII characters. To make an idempotent API request with an action, specify a client token in the request. | 
| GatingRule | [NewGatingRule](#safetyrule-model-newgatingrule) | False | The gating rule requested. | 
| Tags | object | False | The tags associated with the safety rule. | 

### CreateSafetyRuleResponse


The result of a successful `CreateSafetyRule` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| AssertionRule | [AssertionRule](#safetyrule-model-assertionrule) | False | The assertion rule created. | 
| GatingRule | [GatingRule](#safetyrule-model-gatingrule) | False | The gating rule created. | 

### GatingRule


A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.

For example, if you specify one gating routing control and you set the `Type` in the rule configuration to `OR`, that indicates that you must set the gating routing control to `On` for the rule to evaluate as true; that is, for the gating control "switch" to be "On". When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the control panel. | 
| GatingControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | An array of gating routing control Amazon Resource Names (ARNs). For a simple "on/off" switch, specify the ARN for one routing control. The gating routing controls are evaluated by the rule configuration that you specify to determine if the target routing control states can be changed. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the gating rule. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the gating rule owner. | 
| RuleConfig | [RuleConfig](#safetyrule-model-ruleconfig) | True | The criteria that you set for gating routing controls that designate how many of the routing control states must be `ON` to allow you to update target routing control states. | 
| SafetyRuleArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the gating rule. | 
| Status | [Status](#safetyrule-model-status) | True | The deployment status of a gating rule. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 
| TargetControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | An array of target routing control Amazon Resource Names (ARNs) for which the states can only be updated if the rule configuration that you specify evaluates to true for the gating routing control. As a simple example, if you have a single gating control, it acts as an overall "on/off" switch for a set of target routing controls. You can use this to manually override automated failover, for example. | 
| WaitPeriodMs | integerFormat: int32 | True | An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value. | 

### GatingRuleUpdate


Update to a gating rule. You can update the name or the evaluation period (wait period). If you don't specify one of the items to update, the item is unchanged.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the gating rule. The name must be unique within a control panel. Note that only ASCII characters are supported for gating rule names. | 
| SafetyRuleArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the gating rule. | 
| WaitPeriodMs | integerFormat: int32 | True | An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### NewAssertionRule


A new assertion rule for a control panel.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| AssertedControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The routing controls that are part of transactions that are evaluated to determine if a request to change a routing control state is allowed. For example, you might include three routing controls, one for each of three AWS Regions. | 
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) for the control panel. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the assertion rule. The name must be unique within a control panel. Note that only ASCII characters are supported for control panel names, and each name must be unique within a control panel. | 
| RuleConfig | [RuleConfig](#safetyrule-model-ruleconfig) | True | The criteria that you set for specific assertion controls (routing controls) that designate how many control states must be `ON` as the result of a transaction. For example, if you have three assertion controls, you might specify `ATLEAST 2` for your rule configuration. This means that at least two assertion controls must be `ON`, so that at least two AWS Regions have traffic flowing to them.  | 
| WaitPeriodMs | integerFormat: int32 | True | An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value. | 

### NewGatingRule


A new gating rule for a control panel. To learn more, [Safety rules](https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.safety-rules.html) in the Amazon Route 53 Application Recovery Controller Developer Guide.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the control panel. | 
| GatingControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The gating controls for the new gating rule. That is, routing controls that are evaluated by the rule configuration that you specify. To learn more, [Safety rules](https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.safety-rules.html) in the Amazon Route 53 Application Recovery Controller Developer Guide. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name for the new gating rule. | 
| RuleConfig | [RuleConfig](#safetyrule-model-ruleconfig) | True | The criteria that you set for specific gating controls (routing controls) that designate how many control states must be `ON` to allow you to change (set or unset) the target control states.  | 
| TargetControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | Routing controls that can only be set or unset if the specified `RuleConfig` evaluates to true for the specified `GatingControls`. For example, say you have three gating controls, one for each of three AWS Regions. Now you specify `ATLEAST 2` as your `RuleConfig`. With these settings, you can only change (set or unset) the routing controls that you have specified as `TargetControls` if that rule evaluates to true. In other words, your ability to change the routing controls that you have specified as `TargetControls` is gated by the rule that you set for the routing controls in `GatingControls`. | 
| WaitPeriodMs | integerFormat: int32 | True | An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value. | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### RuleConfig


The rule configuration for an assertion rule. That is, the criteria that you set for specific assertion controls (routing controls) that specify how many control states must be `ON` after a transaction completes.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Inverted | boolean | True | Logical negation of the rule. If the rule would usually evaluate true, it's evaluated as false, and vice versa. | 
| Threshold | integerFormat: int32 | True | The value of N, when you specify an `ATLEAST` rule type. That is, `Threshold` is the number of controls that must be set when you specify an `ATLEAST` type. | 
| Type | [RuleType](#safetyrule-model-ruletype) | True | A rule can be one of the following: `ATLEAST`, `AND`, or `OR`. | 

### RuleType


An enumerated type that determines how the evaluated rules are processed. `RuleType` can be one of the following:

ATLEAST - At least N routing controls must be set. You specify N as the `Threshold` in the rule configuration.

AND - All routing controls must be set. This is a shortcut for "At least N," where N is the total number of controls in the rule. 

OR - Any control must be set. This is a shortcut for "At least N," where N is 1.
+ `ATLEAST`
+ `AND`
+ `OR`

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### UpdateSafetyRuleRequest


Request to update a safety rule. A safety rule can be an assertion rule or a gating rule.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| AssertionRuleUpdate | [AssertionRuleUpdate](#safetyrule-model-assertionruleupdate) | False | The assertion rule to update. | 
| GatingRuleUpdate | [GatingRuleUpdate](#safetyrule-model-gatingruleupdate) | False | The gating rule to update. | 

### UpdateSafetyRuleResponse


The result of a successful `UpdateSafetyRule` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| AssertionRule | [AssertionRule](#safetyrule-model-assertionrule) | False | The assertion rule updated. | 
| GatingRule | [GatingRule](#safetyrule-model-gatingrule) | False | The gating rule updated. | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### CreateSafetyRule

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/CreateSafetyRule)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/CreateSafetyRule)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/CreateSafetyRule)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/CreateSafetyRule)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/CreateSafetyRule)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/CreateSafetyRule)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/CreateSafetyRule)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/CreateSafetyRule)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/CreateSafetyRule)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/CreateSafetyRule)

### UpdateSafetyRule

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/UpdateSafetyRule)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/UpdateSafetyRule)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/UpdateSafetyRule)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/UpdateSafetyRule)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/UpdateSafetyRule)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/UpdateSafetyRule)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/UpdateSafetyRule)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/UpdateSafetyRule)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/UpdateSafetyRule)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/UpdateSafetyRule)

# DescribeCluster, DeleteCluster


## URI


`/cluster/ClusterArn`

## HTTP methods


### GET


**Operation ID:** `DescribeCluster`

Display the details about a cluster. The response includes the cluster name, endpoints, status, and Amazon Resource Name (ARN).


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ClusterArn | String | True | The Amazon Resource Name (ARN) of the cluster. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | DescribeClusterResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### DELETE


**Operation ID:** `DeleteCluster`

Delete a cluster.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ClusterArn | String | True | The Amazon Resource Name (ARN) of the cluster that you're deleting. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | DeleteClusterResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ClusterArn | String | True | The Amazon Resource Name (ARN) of a cluster. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Response bodies


#### DescribeClusterResponse schema
DescribeClusterResponse

```
{
  "Cluster": {
    "ClusterArn": "string",
    "Status": enum,
    "Owner": "string",
    "NetworkType": enum,
    "ClusterEndpoints": [
      {
        "Endpoint": "string",
        "Region": "string"
      }
    ],
    "Name": "string"
  }
}
```

#### DeleteClusterResponse schema
DeleteClusterResponse

```
{
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### AccessDeniedException schema
AccessDeniedException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### ConflictException schema
ConflictException

```
{
  "message": "string"
}
```

#### ThrottlingException schema
ThrottlingException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AccessDeniedException


403 response - You do not have sufficient access to perform this action.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### Cluster


A set of five redundant Regional endpoints against which you can execute API calls to update or get the state of routing controls. You can host multiple control panels and routing controls on one cluster. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ClusterArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the cluster. | 
| ClusterEndpoints | Array of type [ClusterEndpoint](#cluster-clusterarn-model-clusterendpoint) | False | Endpoints for a cluster. Specify one of these endpoints when you want to set or retrieve a routing control state in the cluster. To learn more, see [ Best practices](https://docs.aws.amazon.com/r53recovery/latest/dg/route53-arc-best-practices.html) in the Amazon Route 53 Application Recovery Controller Developer Guide.To learn more about getting or updating a routing control state, see [Routing control](https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html) in the Amazon Route 53 Application Recovery Controller Developer Guide. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | False | The name of the cluster. Note that only ASCII characters are supported for cluster names. | 
| NetworkType | [NetworkType](#cluster-clusterarn-model-networktype) | False | The network-type can either be IPV4 or DUALSTACK. | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the cluster owner. | 
| Status | [Status](#cluster-clusterarn-model-status) | False | Deployment status of a resource. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 

### ClusterEndpoint


A cluster endpoint. Specify an endpoint when you want to set or retrieve a routing control state in the cluster.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Endpoint | stringPattern: `^[A-Za-z0-9:.\/_-]*$`MinLength: 1MaxLength: 128 | False | A cluster endpoint. Specify an endpoint and AWS Region when you want to set or retrieve a routing control state in the cluster.To get or update the routing control state, see the Amazon Route 53 Application Recovery Controller Routing Control Actions. | 
| Region | stringPattern: `^\S+$`MinLength: 1MaxLength: 32 | False | The AWS Region for a cluster endpoint. | 

### ConflictException


409 response - ConflictException. You might be using a predefined variable.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### DeleteClusterResponse


A successful `DeleteCluster` request returns no response.

### DescribeClusterResponse


The result of a successful `DescribeCluster` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Cluster | [Cluster](#cluster-clusterarn-model-cluster) | True | The cluster for the `DescribeCluster` request. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### NetworkType


The network-type of a cluster can either be IPV4 or DUALSTACK.
+ `IPV4`
+ `DUALSTACK`

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### ThrottlingException


429 response - LimitExceededException or TooManyRequestsException.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### DescribeCluster

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/DescribeCluster)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/DescribeCluster)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/DescribeCluster)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/DescribeCluster)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/DescribeCluster)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/DescribeCluster)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/DescribeCluster)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/DescribeCluster)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/DescribeCluster)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/DescribeCluster)

### DeleteCluster

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/DeleteCluster)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/DeleteCluster)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/DeleteCluster)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/DeleteCluster)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/DeleteCluster)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/DeleteCluster)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/DeleteCluster)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/DeleteCluster)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/DeleteCluster)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/DeleteCluster)

# DescribeControlPanel, DeleteControlPanel


## URI


`/controlpanel/ControlPanelArn`

## HTTP methods


### GET


**Operation ID:** `DescribeControlPanel`

Displays details about a control panel.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | String | True | The Amazon Resource Name (ARN) of the control panel. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | DescribeControlPanelResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### DELETE


**Operation ID:** `DeleteControlPanel`

Deletes a control panel.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | String | True | The Amazon Resource Name (ARN) of the control panel. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | DeleteControlPanelResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | String | True | The Amazon Resource Name (ARN) of a control panel. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Response bodies


#### DescribeControlPanelResponse schema
DescribeControlPanelResponse

```
{
  "ControlPanel": {
    "ClusterArn": "string",
    "Status": enum,
    "Owner": "string",
    "ControlPanelArn": "string",
    "DefaultControlPanel": boolean,
    "RoutingControlCount": integer,
    "Name": "string"
  }
}
```

#### DeleteControlPanelResponse schema
DeleteControlPanelResponse

```
{
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### AccessDeniedException schema
AccessDeniedException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### ConflictException schema
ConflictException

```
{
  "message": "string"
}
```

#### ThrottlingException schema
ThrottlingException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AccessDeniedException


403 response - You do not have sufficient access to perform this action.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ConflictException


409 response - ConflictException. You might be using a predefined variable.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ControlPanel


A control panel represents a group of routing controls that can be changed together in a single transaction.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ClusterArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the cluster that includes the control panel. | 
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the control panel. | 
| DefaultControlPanel | boolean | False | A flag that Amazon Route 53 Application Recovery Controller sets to true to designate the default control panel for a cluster. When you create a cluster, Amazon Route 53 Application Recovery Controller creates a control panel, and sets this flag for that control panel. If you create a control panel yourself, this flag is set to false. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | False | The name of the control panel. Note that only ASCII characters are supported for control panel names, and each name must be unique within a control panel. | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the control panel owner. | 
| RoutingControlCount | integerFormat: int32 | False | The number of routing controls in the control panel. | 
| Status | [Status](#controlpanel-controlpanelarn-model-status) | False | The deployment status of the control panel. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 

### DeleteControlPanelResponse


A successful `DeleteControlPanel` request returns no response.

### DescribeControlPanelResponse


The result of a successful `DescribeControlPanel` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanel | [ControlPanel](#controlpanel-controlpanelarn-model-controlpanel) | True | Information about the control panel, including a list of the routing controls that it includes. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### ThrottlingException


429 response - LimitExceededException or TooManyRequestsException.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### DescribeControlPanel

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/DescribeControlPanel)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/DescribeControlPanel)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/DescribeControlPanel)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/DescribeControlPanel)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/DescribeControlPanel)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/DescribeControlPanel)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/DescribeControlPanel)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/DescribeControlPanel)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/DescribeControlPanel)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/DescribeControlPanel)

### DeleteControlPanel

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/DeleteControlPanel)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/DeleteControlPanel)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/DeleteControlPanel)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/DeleteControlPanel)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/DeleteControlPanel)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/DeleteControlPanel)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/DeleteControlPanel)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/DeleteControlPanel)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/DeleteControlPanel)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/DeleteControlPanel)

# DescribeRoutingControl, DeleteRoutingControl


## URI


`/routingcontrol/RoutingControlArn`

## HTTP methods


### GET


**Operation ID:** `DescribeRoutingControl`

Displays details about a routing control. A routing control has one of two states: ON or OFF. When you change routing control states, Route 53 ARC updates Amazon Route 53 health checks, which reroute traffic for your application.

To get or update the routing control state, see the [GetRoutingControlState](https://docs.aws.amazon.com/routing-control/latest/APIReference/API_GetRoutingControlState.html) API in the Routing Control (Recovery Cluster) API Reference Guide for Amazon Route 53 Application Recovery Controller.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| RoutingControlArn | String | True | The Amazon Resource Name (ARN) of the routing control. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | DescribeRoutingControlResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### DELETE


**Operation ID:** `DeleteRoutingControl`

Deletes a routing control.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| RoutingControlArn | String | True | The Amazon Resource Name (ARN) of the routing control that you're deleting. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | DeleteRoutingControlResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| RoutingControlArn | String | True | The Amazon Resource Name (ARN) of a routing control. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Response bodies


#### DescribeRoutingControlResponse schema
DescribeRoutingControlResponse

```
{
  "RoutingControl": {
    "Status": enum,
    "Owner": "string",
    "RoutingControlArn": "string",
    "ControlPanelArn": "string",
    "Name": "string"
  }
}
```

#### DeleteRoutingControlResponse schema
DeleteRoutingControlResponse

```
{
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### AccessDeniedException schema
AccessDeniedException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### ConflictException schema
ConflictException

```
{
  "message": "string"
}
```

#### ThrottlingException schema
ThrottlingException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AccessDeniedException


403 response - You do not have sufficient access to perform this action.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ConflictException


409 response - ConflictException. You might be using a predefined variable.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### DeleteRoutingControlResponse


A successful `DeleteRoutingControl` request returns no response.

### DescribeRoutingControlResponse


The result of a successful `DescribeRoutingControl` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| RoutingControl | [RoutingControl](#routingcontrol-routingcontrolarn-model-routingcontrol) | True | Information about the routing control. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### RoutingControl


A routing control has one of two states: ON and OFF. You configure routing controls so they update Amazon Route 53 health checks, which reroute traffic for your application.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the control panel that includes the routing control. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | False | The name of the routing control. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the routing control owner. | 
| RoutingControlArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the routing control. | 
| Status | [Status](#routingcontrol-routingcontrolarn-model-status) | False | The deployment status of a routing control. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### ThrottlingException


429 response - LimitExceededException or TooManyRequestsException.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### DescribeRoutingControl

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/DescribeRoutingControl)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/DescribeRoutingControl)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/DescribeRoutingControl)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/DescribeRoutingControl)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/DescribeRoutingControl)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/DescribeRoutingControl)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/DescribeRoutingControl)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/DescribeRoutingControl)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/DescribeRoutingControl)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/DescribeRoutingControl)

### DeleteRoutingControl

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/DeleteRoutingControl)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/DeleteRoutingControl)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/DeleteRoutingControl)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/DeleteRoutingControl)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/DeleteRoutingControl)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/DeleteRoutingControl)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/DeleteRoutingControl)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/DeleteRoutingControl)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/DeleteRoutingControl)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/DeleteRoutingControl)

# DescribeSafetyRule, DeleteSafetyRule


## URI


`/safetyrule/SafetyRuleArn`

## HTTP methods


### GET


**Operation ID:** `DescribeSafetyRule`

Returns information about a safety rule.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| SafetyRuleArn | String | True | The ARN of the safety rule. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | DescribeSafetyRuleResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 

### DELETE


**Operation ID:** `DeleteSafetyRule`

Deletes a safety rule.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| SafetyRuleArn | String | True | The ARN of the safety rule. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | DeleteSafetyRuleResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| SafetyRuleArn | String | True | The ARN of the safety rule. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Response bodies


#### DescribeSafetyRuleResponse schema
DescribeSafetyRuleResponse

```
{
  "AssertionRule": {
    "Status": enum,
    "Owner": "string",
    "ControlPanelArn": "string",
    "AssertedControls": [
      "string"
    ],
    "SafetyRuleArn": "string",
    "RuleConfig": {
      "Type": enum,
      "Inverted": boolean,
      "Threshold": integer
    },
    "WaitPeriodMs": integer,
    "Name": "string"
  },
  "GatingRule": {
    "Status": enum,
    "TargetControls": [
      "string"
    ],
    "Owner": "string",
    "ControlPanelArn": "string",
    "GatingControls": [
      "string"
    ],
    "SafetyRuleArn": "string",
    "RuleConfig": {
      "Type": enum,
      "Inverted": boolean,
      "Threshold": integer
    },
    "WaitPeriodMs": integer,
    "Name": "string"
  }
}
```

#### DeleteSafetyRuleResponse schema
DeleteSafetyRuleResponse

```
{
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AssertionRule


An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met. Otherwise, the change to the routing control is not accepted. 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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| AssertedControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The routing controls that are part of transactions that are evaluated to determine if a request to change a routing control state is allowed. For example, you might include three routing controls, one for each of three AWS Regions. | 
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the control panel. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | Name of the assertion rule. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the assertion rule owner. | 
| RuleConfig | [RuleConfig](#safetyrule-safetyrulearn-model-ruleconfig) | True | The criteria that you set for specific assertion routing controls (AssertedControls) that designate how many routing control states must be `ON` as the result of a transaction. For example, if you have three assertion routing controls, you might specify `atleast` 2 for your rule configuration. This means that at least two assertion routing control states must be `ON`, so that at least two AWS Regions have traffic flowing to them.  | 
| SafetyRuleArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the assertion rule. | 
| Status | [Status](#safetyrule-safetyrulearn-model-status) | True | The deployment status of an assertion rule. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 
| WaitPeriodMs | integerFormat: int32 | True | An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value. | 

### DeleteSafetyRuleResponse


There is an empty response when you delete a safety rule.

### DescribeSafetyRuleResponse


The response when you send a `DescribeSafetyRuleResponse` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| AssertionRule | [AssertionRule](#safetyrule-safetyrulearn-model-assertionrule) | False | The assertion rule in the response. | 
| GatingRule | [GatingRule](#safetyrule-safetyrulearn-model-gatingrule) | False | The gating rule in the response. | 

### GatingRule


A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.

For example, if you specify one gating routing control and you set the `Type` in the rule configuration to `OR`, that indicates that you must set the gating routing control to `On` for the rule to evaluate as true; that is, for the gating control "switch" to be "On". When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the control panel. | 
| GatingControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | An array of gating routing control Amazon Resource Names (ARNs). For a simple "on/off" switch, specify the ARN for one routing control. The gating routing controls are evaluated by the rule configuration that you specify to determine if the target routing control states can be changed. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the gating rule. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the gating rule owner. | 
| RuleConfig | [RuleConfig](#safetyrule-safetyrulearn-model-ruleconfig) | True | The criteria that you set for gating routing controls that designate how many of the routing control states must be `ON` to allow you to update target routing control states. | 
| SafetyRuleArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the gating rule. | 
| Status | [Status](#safetyrule-safetyrulearn-model-status) | True | The deployment status of a gating rule. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 
| TargetControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | An array of target routing control Amazon Resource Names (ARNs) for which the states can only be updated if the rule configuration that you specify evaluates to true for the gating routing control. As a simple example, if you have a single gating control, it acts as an overall "on/off" switch for a set of target routing controls. You can use this to manually override automated failover, for example. | 
| WaitPeriodMs | integerFormat: int32 | True | An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### RuleConfig


The rule configuration for an assertion rule. That is, the criteria that you set for specific assertion controls (routing controls) that specify how many control states must be `ON` after a transaction completes.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Inverted | boolean | True | Logical negation of the rule. If the rule would usually evaluate true, it's evaluated as false, and vice versa. | 
| Threshold | integerFormat: int32 | True | The value of N, when you specify an `ATLEAST` rule type. That is, `Threshold` is the number of controls that must be set when you specify an `ATLEAST` type. | 
| Type | [RuleType](#safetyrule-safetyrulearn-model-ruletype) | True | A rule can be one of the following: `ATLEAST`, `AND`, or `OR`. | 

### RuleType


An enumerated type that determines how the evaluated rules are processed. `RuleType` can be one of the following:

ATLEAST - At least N routing controls must be set. You specify N as the `Threshold` in the rule configuration.

AND - All routing controls must be set. This is a shortcut for "At least N," where N is the total number of controls in the rule. 

OR - Any control must be set. This is a shortcut for "At least N," where N is 1.
+ `ATLEAST`
+ `AND`
+ `OR`

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### DescribeSafetyRule

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/DescribeSafetyRule)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/DescribeSafetyRule)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/DescribeSafetyRule)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/DescribeSafetyRule)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/DescribeSafetyRule)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/DescribeSafetyRule)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/DescribeSafetyRule)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/DescribeSafetyRule)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/DescribeSafetyRule)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/DescribeSafetyRule)

### DeleteSafetyRule

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/DeleteSafetyRule)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/DeleteSafetyRule)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/DeleteSafetyRule)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/DeleteSafetyRule)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/DeleteSafetyRule)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/DeleteSafetyRule)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/DeleteSafetyRule)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/DeleteSafetyRule)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/DeleteSafetyRule)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/DeleteSafetyRule)

# GetResourcePolicy


Returns the current resource policy for a cluster. You can use this information, for example, to verify that permissions in AWS RAM are set up correctly.

## URI


`/resourcePolicy/ResourceArn`

## HTTP methods


### GET


**Operation ID:** `GetResourcePolicy`

Get information about the resource policy for a cluster.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ResourceArn | String | True | The Amazon Resource Name (ARN) for the resource. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | GetResourcePolicyResponse | 200 response - Success. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ResourceArn | String | True | The Amazon Resource Name (ARN) for the resource. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | Default response for CORS method. | 

## Schemas


### Response bodies


#### GetResourcePolicyResponse schema
GetResourcePolicyResponse

```
{
  "Policy": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### GetResourcePolicyResponse


Returns the current Amazon Resource Access Manager resource policy for a cluster.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Policy | stringPattern: `[\u0009\u000A\u000D\u0020-\u007E\u00A1-\u00FF]+`MinLength: 2MaxLength: 10240 | True | The resource policy. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### GetResourcePolicy

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/GetResourcePolicy)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/GetResourcePolicy)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/GetResourcePolicy)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/GetResourcePolicy)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/GetResourcePolicy)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/GetResourcePolicy)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/GetResourcePolicy)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/GetResourcePolicy)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/GetResourcePolicy)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/GetResourcePolicy)

# ListAssociatedRoute53HealthChecks


## URI


`/routingcontrol/RoutingControlArn/associatedRoute53HealthChecks`

## HTTP methods


### GET


**Operation ID:** `ListAssociatedRoute53HealthChecks`

Returns an array of all Amazon Route 53 health checks associated with a specific routing control.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| RoutingControlArn | String | True | The Amazon Resource Name (ARN) of the routing control. | 


**Query parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| MaxResults | String | False | The number of objects that you want to return with this call. | 
| NextToken | String | False | The token that identifies which batch of results you want to see. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | ListAssociatedRoute53HealthChecksResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| RoutingControlArn | String | True | The Amazon Resource Name (ARN) of a routing control. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Response bodies


#### ListAssociatedRoute53HealthChecksResponse schema
ListAssociatedRoute53HealthChecksResponse

```
{
  "NextToken": "string",
  "HealthCheckIds": [
    "string"
  ]
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ListAssociatedRoute53HealthChecksResponse


The result of a successful `ListAssociatedRoute53HealthChecks` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| HealthCheckIds | Array of type stringPattern: `^\S+$`MaxLength: 36 | True | Identifiers for the health checks. | 
| NextToken | stringPattern: `[\S]*`MinLength: 1MaxLength: 8096 | False | Next token for listing health checks. | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### ListAssociatedRoute53HealthChecks

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks)

# ListClusters, CreateCluster, UpdateCluster


## URI


`/cluster`

## HTTP methods


### GET


**Operation ID:** `ListClusters`

Returns an array of all the clusters in an account.


**Query parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| MaxResults | String | False | The number of objects that you want to return with this call. | 
| NextToken | String | False | The token that identifies which batch of results you want to see. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | ListClustersResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### POST


**Operation ID:** `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 AWS Region) that you can use with API calls to the cluster data plane.


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | CreateClusterResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 402 | ServiceQuotaExceededException | 402 response | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### PUT


**Operation ID:** `UpdateCluster`


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | UpdateClusterResponse | 200 response | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 409 | ConflictException | 409 response - ConflictException. You might be using a predefined variable. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Request bodies


#### POST schema
POST

```
{
  "UseRoute53GammaHealthChecks": boolean,
  "NetworkType": enum,
  "ClusterName": "string",
  "ClientToken": "string",
  "Tags": {
  }
}
```

#### PUT schema
PUT

```
{
  "ClusterArn": "string",
  "NetworkType": enum
}
```

### Response bodies


#### ListClustersResponse schema
ListClustersResponse

```
{
  "NextToken": "string",
  "Clusters": [
    {
      "ClusterArn": "string",
      "Status": enum,
      "Owner": "string",
      "NetworkType": enum,
      "ClusterEndpoints": [
        {
          "Endpoint": "string",
          "Region": "string"
        }
      ],
      "Name": "string"
    }
  ]
}
```

#### CreateClusterResponse schema
CreateClusterResponse

```
{
  "Cluster": {
    "ClusterArn": "string",
    "Status": enum,
    "Owner": "string",
    "NetworkType": enum,
    "ClusterEndpoints": [
      {
        "Endpoint": "string",
        "Region": "string"
      }
    ],
    "Name": "string"
  }
}
```

#### UpdateClusterResponse schema
UpdateClusterResponse

```
{
  "Cluster": {
    "ClusterArn": "string",
    "Status": enum,
    "Owner": "string",
    "NetworkType": enum,
    "ClusterEndpoints": [
      {
        "Endpoint": "string",
        "Region": "string"
      }
    ],
    "Name": "string"
  }
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### ServiceQuotaExceededException schema
ServiceQuotaExceededException

```
{
  "message": "string"
}
```

#### AccessDeniedException schema
AccessDeniedException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### ConflictException schema
ConflictException

```
{
  "message": "string"
}
```

#### ThrottlingException schema
ThrottlingException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AccessDeniedException


403 response - You do not have sufficient access to perform this action.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### Cluster


A set of five redundant Regional endpoints against which you can execute API calls to update or get the state of routing controls. You can host multiple control panels and routing controls on one cluster. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ClusterArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the cluster. | 
| ClusterEndpoints | Array of type [ClusterEndpoint](#cluster-model-clusterendpoint) | False | Endpoints for a cluster. Specify one of these endpoints when you want to set or retrieve a routing control state in the cluster. To learn more, see [ Best practices](https://docs.aws.amazon.com/r53recovery/latest/dg/route53-arc-best-practices.html) in the Amazon Route 53 Application Recovery Controller Developer Guide.To learn more about getting or updating a routing control state, see [Routing control](https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html) in the Amazon Route 53 Application Recovery Controller Developer Guide. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | False | The name of the cluster. Note that only ASCII characters are supported for cluster names. | 
| NetworkType | [NetworkType](#cluster-model-networktype) | False | The network-type can either be IPV4 or DUALSTACK. | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the cluster owner. | 
| Status | [Status](#cluster-model-status) | False | Deployment status of a resource. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 

### ClusterEndpoint


A cluster endpoint. Specify an endpoint when you want to set or retrieve a routing control state in the cluster.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Endpoint | stringPattern: `^[A-Za-z0-9:.\/_-]*$`MinLength: 1MaxLength: 128 | False | A cluster endpoint. Specify an endpoint and AWS Region when you want to set or retrieve a routing control state in the cluster.To get or update the routing control state, see the Amazon Route 53 Application Recovery Controller Routing Control Actions. | 
| Region | stringPattern: `^\S+$`MinLength: 1MaxLength: 32 | False | The AWS Region for a cluster endpoint. | 

### ConflictException


409 response - ConflictException. You might be using a predefined variable.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### CreateClusterRequest


The properties of a request to create a cluster.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ClientToken | stringPattern: `^[-a-z-A-z0-9 ]+$`MinLength: 1MaxLength: 64 | False | A unique, case-sensitive string of up to 64 ASCII characters. To make an idempotent API request with an action, specify a client token in the request. | 
| ClusterName | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the cluster. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| NetworkType | [NetworkType](#cluster-model-networktype) | False | The network-type is optional, and can either be IPV4 or DUALSTACK. The default is IPV4. | 
| Tags | object | False | The tags associated with the cluster. | 
| UseRoute53GammaHealthChecks | boolean | False |  | 

### CreateClusterResponse


The result of a successful `CreateCluster` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Cluster | [Cluster](#cluster-model-cluster) | True | The cluster that was created. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ListClustersResponse


The result of a successful `ListClusters` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Clusters | Array of type [Cluster](#cluster-model-cluster) | False | An array of the clusters in an account. | 
| NextToken | stringPattern: `[\S]*`MinLength: 1MaxLength: 8096 | False | The token that identifies which batch of results you want to see. | 

### NetworkType


The network-type of a cluster can either be IPV4 or DUALSTACK.
+ `IPV4`
+ `DUALSTACK`

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ServiceQuotaExceededException


402 response - You attempted to create more resources than the service allows based on service quotas.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### ThrottlingException


429 response - LimitExceededException or TooManyRequestsException.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### UpdateClusterRequest


Updates an existing cluster.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ClusterArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True |  | 
| NetworkType | [NetworkType](#cluster-model-networktype) | True | The network-type is required, and can either be IPV4 or DUALSTACK. | 

### UpdateClusterResponse



| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Cluster | [Cluster](#cluster-model-cluster) | True | The result of a successful UpdateCluster request. | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### ListClusters

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/ListClusters)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/ListClusters)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/ListClusters)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/ListClusters)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/ListClusters)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/ListClusters)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/ListClusters)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/ListClusters)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/ListClusters)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/ListClusters)

### CreateCluster

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/CreateCluster)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/CreateCluster)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/CreateCluster)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/CreateCluster)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/CreateCluster)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/CreateCluster)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/CreateCluster)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/CreateCluster)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/CreateCluster)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/CreateCluster)

### UpdateCluster

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/UpdateCluster)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/UpdateCluster)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/UpdateCluster)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/UpdateCluster)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/UpdateCluster)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/UpdateCluster)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/UpdateCluster)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/UpdateCluster)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/UpdateCluster)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/UpdateCluster)

# ListControlPanels


## URI


`/controlpanels`

## HTTP methods


### GET


**Operation ID:** `ListControlPanels`

Returns an array of control panels in an account or in a cluster.


**Query parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ClusterArn | String | False | The Amazon Resource Name (ARN) of a cluster. | 
| MaxResults | String | False | The number of objects that you want to return with this call. | 
| NextToken | String | False | The token that identifies which batch of results you want to see. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | ListControlPanelsResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Response bodies


#### ListControlPanelsResponse schema
ListControlPanelsResponse

```
{
  "ControlPanels": [
    {
      "ClusterArn": "string",
      "Status": enum,
      "Owner": "string",
      "ControlPanelArn": "string",
      "DefaultControlPanel": boolean,
      "RoutingControlCount": integer,
      "Name": "string"
    }
  ],
  "NextToken": "string"
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### AccessDeniedException schema
AccessDeniedException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### ThrottlingException schema
ThrottlingException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AccessDeniedException


403 response - You do not have sufficient access to perform this action.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ControlPanel


A control panel represents a group of routing controls that can be changed together in a single transaction.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ClusterArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the cluster that includes the control panel. | 
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the control panel. | 
| DefaultControlPanel | boolean | False | A flag that Amazon Route 53 Application Recovery Controller sets to true to designate the default control panel for a cluster. When you create a cluster, Amazon Route 53 Application Recovery Controller creates a control panel, and sets this flag for that control panel. If you create a control panel yourself, this flag is set to false. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | False | The name of the control panel. Note that only ASCII characters are supported for control panel names, and each name must be unique within a control panel. | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the control panel owner. | 
| RoutingControlCount | integerFormat: int32 | False | The number of routing controls in the control panel. | 
| Status | [Status](#controlpanels-model-status) | False | The deployment status of the control panel. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ListControlPanelsResponse


The result of a successful `ListControlPanel` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanels | Array of type [ControlPanel](#controlpanels-model-controlpanel) | False | The result of a successful `ListControlPanel` request.  | 
| NextToken | stringPattern: `[\S]*`MinLength: 1MaxLength: 8096 | False | The token that identifies which batch of results you want to see. | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### ThrottlingException


429 response - LimitExceededException or TooManyRequestsException.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### ListControlPanels

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/ListControlPanels)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/ListControlPanels)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/ListControlPanels)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/ListControlPanels)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/ListControlPanels)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/ListControlPanels)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/ListControlPanels)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/ListControlPanels)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/ListControlPanels)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/ListControlPanels)

# ListRoutingControls


## URI


`/controlpanel/ControlPanelArn/routingcontrols`

## HTTP methods


### GET


**Operation ID:** `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 configure routing controls so they update Amazon Route 53 health checks, which reroute traffic for your application.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | String | True | The Amazon Resource Name (ARN) of the control panel. | 


**Query parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| MaxResults | String | False | The number of objects that you want to return with this call. | 
| NextToken | String | False | The token that identifies which batch of results you want to see. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | ListRoutingControlsResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | String | True | The Amazon Resource Name (ARN) of a control panel. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Response bodies


#### ListRoutingControlsResponse schema
ListRoutingControlsResponse

```
{
  "NextToken": "string",
  "RoutingControls": [
    {
      "Status": enum,
      "Owner": "string",
      "RoutingControlArn": "string",
      "ControlPanelArn": "string",
      "Name": "string"
    }
  ]
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### AccessDeniedException schema
AccessDeniedException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### ThrottlingException schema
ThrottlingException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AccessDeniedException


403 response - You do not have sufficient access to perform this action.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ListRoutingControlsResponse


The result of a successful `ListRoutingControl` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| NextToken | stringPattern: `[\S]*`MinLength: 1MaxLength: 8096 | False | The token that identifies which batch of results you want to see. | 
| RoutingControls | Array of type [RoutingControl](#controlpanel-controlpanelarn-routingcontrols-model-routingcontrol) | False | An array of routing controls. | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### RoutingControl


A routing control has one of two states: ON and OFF. You configure routing controls so they update Amazon Route 53 health checks, which reroute traffic for your application.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the control panel that includes the routing control. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | False | The name of the routing control. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the routing control owner. | 
| RoutingControlArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | False | The Amazon Resource Name (ARN) of the routing control. | 
| Status | [Status](#controlpanel-controlpanelarn-routingcontrols-model-status) | False | The deployment status of a routing control. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### ThrottlingException


429 response - LimitExceededException or TooManyRequestsException.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### ListRoutingControls

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/ListRoutingControls)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/ListRoutingControls)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/ListRoutingControls)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/ListRoutingControls)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/ListRoutingControls)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/ListRoutingControls)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/ListRoutingControls)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/ListRoutingControls)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/ListRoutingControls)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/ListRoutingControls)

# ListSafetyRules


## URI


`/controlpanel/ControlPanelArn/safetyrules`

## HTTP methods


### GET


**Operation ID:** `ListSafetyRules`

List the safety rules (the assertion rules and gating rules) that you've defined for the routing controls in a control panel. 


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | String | True | The Amazon Resource Name (ARN) of the control panel. | 


**Query parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| MaxResults | String | False | The number of objects that you want to return with this call. | 
| NextToken | String | False | The token that identifies which batch of results you want to see. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | ListSafetyRulesResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 403 | AccessDeniedException | 403 response - AccessDeniedException. You do not have sufficient access to perform this action. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 429 | ThrottlingException | 429 response - LimitExceededException or TooManyRequestsException. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | String | True | The Amazon Resource Name (ARN) of a control panel. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | 200 response - Success. | 

## Schemas


### Response bodies


#### ListSafetyRulesResponse schema
ListSafetyRulesResponse

```
{
  "NextToken": "string",
  "SafetyRules": [
    {
      "ASSERTION": {
        "Status": enum,
        "Owner": "string",
        "ControlPanelArn": "string",
        "AssertedControls": [
          "string"
        ],
        "SafetyRuleArn": "string",
        "RuleConfig": {
          "Type": enum,
          "Inverted": boolean,
          "Threshold": integer
        },
        "WaitPeriodMs": integer,
        "Name": "string"
      },
      "GATING": {
        "Status": enum,
        "TargetControls": [
          "string"
        ],
        "Owner": "string",
        "ControlPanelArn": "string",
        "GatingControls": [
          "string"
        ],
        "SafetyRuleArn": "string",
        "RuleConfig": {
          "Type": enum,
          "Inverted": boolean,
          "Threshold": integer
        },
        "WaitPeriodMs": integer,
        "Name": "string"
      }
    }
  ]
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### AccessDeniedException schema
AccessDeniedException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### ThrottlingException schema
ThrottlingException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### AccessDeniedException


403 response - You do not have sufficient access to perform this action.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### AssertionRule


An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met. Otherwise, the change to the routing control is not accepted. 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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| AssertedControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The routing controls that are part of transactions that are evaluated to determine if a request to change a routing control state is allowed. For example, you might include three routing controls, one for each of three AWS Regions. | 
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the control panel. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | Name of the assertion rule. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the assertion rule owner. | 
| RuleConfig | [RuleConfig](#controlpanel-controlpanelarn-safetyrules-model-ruleconfig) | True | The criteria that you set for specific assertion routing controls (AssertedControls) that designate how many routing control states must be `ON` as the result of a transaction. For example, if you have three assertion routing controls, you might specify `atleast` 2 for your rule configuration. This means that at least two assertion routing control states must be `ON`, so that at least two AWS Regions have traffic flowing to them.  | 
| SafetyRuleArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the assertion rule. | 
| Status | [Status](#controlpanel-controlpanelarn-safetyrules-model-status) | True | The deployment status of an assertion rule. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 
| WaitPeriodMs | integerFormat: int32 | True | An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value. | 

### GatingRule


A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.

For example, if you specify one gating routing control and you set the `Type` in the rule configuration to `OR`, that indicates that you must set the gating routing control to `On` for the rule to evaluate as true; that is, for the gating control "switch" to be "On". When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ControlPanelArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the control panel. | 
| GatingControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | An array of gating routing control Amazon Resource Names (ARNs). For a simple "on/off" switch, specify the ARN for one routing control. The gating routing controls are evaluated by the rule configuration that you specify to determine if the target routing control states can be changed. | 
| Name | stringPattern: `^((?![;'\s<>&"])[\u0021-\u007E])+$`MinLength: 1MaxLength: 64 | True | The name of the gating rule. You can use any non-white space character in the name except the following: & > < ' (single quote) " (double quote) ; (semicolon) | 
| Owner | stringPattern: `^\d{12}$`MinLength: 12MaxLength: 12 | False | The AWS account ID of the gating rule owner. | 
| RuleConfig | [RuleConfig](#controlpanel-controlpanelarn-safetyrules-model-ruleconfig) | True | The criteria that you set for gating routing controls that designate how many of the routing control states must be `ON` to allow you to update target routing control states. | 
| SafetyRuleArn | stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | The Amazon Resource Name (ARN) of the gating rule. | 
| Status | [Status](#controlpanel-controlpanelarn-safetyrules-model-status) | True | The deployment status of a gating rule. Status can be one of the following: PENDING, DEPLOYED, PENDING\$1DELETION. | 
| TargetControls | Array of type stringPattern: `^[A-Za-z0-9:\/_-]*$`MinLength: 1MaxLength: 256 | True | An array of target routing control Amazon Resource Names (ARNs) for which the states can only be updated if the rule configuration that you specify evaluates to true for the gating routing control. As a simple example, if you have a single gating control, it acts as an overall "on/off" switch for a set of target routing controls. You can use this to manually override automated failover, for example. | 
| WaitPeriodMs | integerFormat: int32 | True | An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value. | 

### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ListSafetyRulesResponse


The response to a `ListSafetyRulesRequest`.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| NextToken | stringPattern: `[\S]*`MinLength: 1MaxLength: 8096 | False | The token that identifies which batch of results you want to see. | 
| SafetyRules | Array of type [Rule](#controlpanel-controlpanelarn-safetyrules-model-rule) | False | The list of safety rules in a control panel. | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### Rule


A safety rule. A safety rule can be an assertion rule or a gating rule. To learn more, see <ulink type="documentation" url="r53recovery/latest/dg/routing-control.safety-rules.html">Safety rules</ulink> in the Amazon Route 53 Application Recovery Controller Developer Guide.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| ASSERTION | [AssertionRule](#controlpanel-controlpanelarn-safetyrules-model-assertionrule) | False | An assertion rule enforces that, when a routing control state is changed, the criteria set by the rule configuration is met. Otherwise, the change to the routing control state is not accepted. 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 | [GatingRule](#controlpanel-controlpanelarn-safetyrules-model-gatingrule) | False | A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.For example, if you specify one gating routing control and you set the `Type` in the rule configuration to `OR`, that indicates that you must set the gating routing control to `On` for the rule to evaluate as true; that is, for the gating control "switch" to be "On". When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule. | 

### RuleConfig


The rule configuration for an assertion rule. That is, the criteria that you set for specific assertion controls (routing controls) that specify how many control states must be `ON` after a transaction completes.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Inverted | boolean | True | Logical negation of the rule. If the rule would usually evaluate true, it's evaluated as false, and vice versa. | 
| Threshold | integerFormat: int32 | True | The value of N, when you specify an `ATLEAST` rule type. That is, `Threshold` is the number of controls that must be set when you specify an `ATLEAST` type. | 
| Type | [RuleType](#controlpanel-controlpanelarn-safetyrules-model-ruletype) | True | A rule can be one of the following: `ATLEAST`, `AND`, or `OR`. | 

### RuleType


An enumerated type that determines how the evaluated rules are processed. `RuleType` can be one of the following:

ATLEAST - At least N routing controls must be set. You specify N as the `Threshold` in the rule configuration.

AND - All routing controls must be set. This is a shortcut for "At least N," where N is the total number of controls in the rule. 

OR - Any control must be set. This is a shortcut for "At least N," where N is 1.
+ `ATLEAST`
+ `AND`
+ `OR`

### Status


The deployment status of a resource. Status can be one of the following:

PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.

DEPLOYED: The resource is deployed and ready to use.

PENDING\$1DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
+ `PENDING`
+ `DEPLOYED`
+ `PENDING_DELETION`

### ThrottlingException


429 response - LimitExceededException or TooManyRequestsException.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### ListSafetyRules

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/ListSafetyRules)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/ListSafetyRules)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/ListSafetyRules)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/ListSafetyRules)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/ListSafetyRules)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/ListSafetyRules)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/ListSafetyRules)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/ListSafetyRules)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/ListSafetyRules)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/ListSafetyRules)

# ListTagsForResource, TagResource, UntagResource


## URI


`/tags/ResourceArn`

## HTTP methods


### GET


**Operation ID:** `ListTagsForResource`

Lists the tags for a resource.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ResourceArn | String | True | The Amazon Resource Name (ARN) for the resource. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | ListTagsForResourceResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### POST


**Operation ID:** `TagResource`

Adds a tag to a resource.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ResourceArn | String | True | The Amazon Resource Name (ARN) for the resource. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | TagResourceResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### DELETE


**Operation ID:** `UntagResource`

Removes a tag from a resource.


**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ResourceArn | String | True | The Amazon Resource Name (ARN) for the resource. | 


**Query parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| TagKeys | String | True | Keys for the tags to be removed. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | UntagResourceResponse | 200 response - Success. | 
| 400 | ValidationException | 400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you used parameters together incorrectly. | 
| 404 | ResourceNotFoundException | 404 response - MalformedQueryString. The query string contains a syntax error or resource not found. | 
| 500 | InternalServerException | 500 response - InternalServiceError. Temporary service error. Retry the request. | 

### OPTIONS



**Path parameters**  

| Name | Type | Required | Description | 
| --- |--- |--- |--- |
| ResourceArn | String | True | The Amazon Resource Name (ARN) for the resource. | 


**Responses**  

| Status code | Response model | Description | 
| --- |--- |--- |
| 200 | None | Default response for CORS method. | 

## Schemas


### Request bodies


#### POST schema
POST

```
{
  "Tags": {
  }
}
```

### Response bodies


#### ListTagsForResourceResponse schema
ListTagsForResourceResponse

```
{
  "Tags": {
  }
}
```

#### TagResourceResponse schema
TagResourceResponse

```
{
}
```

#### UntagResourceResponse schema
UntagResourceResponse

```
{
}
```

#### ValidationException schema
ValidationException

```
{
  "message": "string"
}
```

#### ResourceNotFoundException schema
ResourceNotFoundException

```
{
  "message": "string"
}
```

#### InternalServerException schema
InternalServerException

```
{
  "message": "string"
}
```

## Properties


### InternalServerException


500 response - InternalServiceError. Temporary service error. Retry the request. 


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### ListTagsForResourceResponse


The result of a successful `ListTagsForResource` request.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Tags | object | False | The tags associated with the resource. | 

### ResourceNotFoundException


404 response - MalformedQueryString. The query string contains a syntax error or resource not found.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

### TagResourceRequest


Request to tag a resource.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| Tags | object | True | The tags associated with the resource. | 

### TagResourceResponse


The result of a successful `TagResource` request.

### UntagResourceResponse


The result of a successful `UntagResource` request.

### ValidationException


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.


| Property | Type | Required | Description | 
| --- |--- |--- |--- |
| message | string | True |  | 

## See also


For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

### ListTagsForResource

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/ListTagsForResource)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/ListTagsForResource)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/ListTagsForResource)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/ListTagsForResource)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/ListTagsForResource)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/ListTagsForResource)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/ListTagsForResource)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/ListTagsForResource)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/ListTagsForResource)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/ListTagsForResource)

### TagResource

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/TagResource)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/TagResource)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/TagResource)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/TagResource)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/TagResource)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/TagResource)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/TagResource)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/TagResource)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/TagResource)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/TagResource)

### UntagResource

+ [AWS Command Line Interface V2](/goto/cli2/route53-recovery-control-config-2020-11-02/UntagResource)
+ [AWS SDK for .NET V4](/goto/DotNetSDKV4/route53-recovery-control-config-2020-11-02/UntagResource)
+ [AWS SDK for C\$1\$1](/goto/SdkForCpp/route53-recovery-control-config-2020-11-02/UntagResource)
+ [AWS SDK for Go v2](/goto/SdkForGoV2/route53-recovery-control-config-2020-11-02/UntagResource)
+ [AWS SDK for Java V2](/goto/SdkForJavaV2/route53-recovery-control-config-2020-11-02/UntagResource)
+ [AWS SDK for JavaScript V3](/goto/SdkForJavaScriptV3/route53-recovery-control-config-2020-11-02/UntagResource)
+ [AWS SDK for Kotlin](/goto/SdkForKotlin/route53-recovery-control-config-2020-11-02/UntagResource)
+ [AWS SDK for PHP V3](/goto/SdkForPHPV3/route53-recovery-control-config-2020-11-02/UntagResource)
+ [AWS SDK for Python](/goto/boto3/route53-recovery-control-config-2020-11-02/UntagResource)
+ [AWS SDK for Ruby V3](/goto/SdkForRubyV3/route53-recovery-control-config-2020-11-02/UntagResource)