
# 设置实例读写状态 - SetReadOnlySwitch
#### 功能介绍
RDS for MySQL支持设置实例读写状态，以支持用户的业务需求。实例设置只读成功后，将限制用户数据写入。
- 调用接口前，您需要了解API[认证鉴权](https://support.huaweicloud.com/api-rds/rds_03_0001.html)。
- 调用接口前，您需要了解[请求Header参数说明](https://support.huaweicloud.com/api-rds/rds_03_0005.html#rds_03_0005__section479119143310)。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=RDS&api=SetReadOnlySwitch)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rds/rds_10_0005.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                       | 访问级别                  | 资源类型（\*为必须） | 条件键                                                                         | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| rds:instance:openReadonly | permission_management | instance    | g:EnterpriseProjectId g:ResourceTag/\<tag-key\> | -  | -      |
   
#### 接口约束
- 该接口目前仅支持RDS for MySQL引擎。
- 该接口目前仅支持单机实例和HA实例。
- 实例在创建、变更规格、冻结、异常等状态下不能执行该操作。
- 非该接口设置（如：磁盘满、DRS迁移等）导致实例只读的情况，不能通过该接口恢复实例为"读写"状态。
- 该接口仅设置主实例的读写状态，区别于只读实例的概念。
- 设置实例读写状态功能目前处于部分区域公测中，如果所在区域未开放此功能，请联系客服开通白名单。
 
#### URI
- URI格式 PUT /v3/{project_id}/instances/{instance_id}/readonly-status
  

- 参数说明
  表1参数说明 
  | 名称          | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|
  | project_id  | 是    | **参数解释：** 租户在某一region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-rds/rds_03_0002.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                 |
  | instance_id | 是    | **参数解释：** 实例ID。 可调用[查询数据库实例列表](https://support.huaweicloud.com/api-rds/rds_01_0004.html)接口，通过[表4](https://support.huaweicloud.com/api-rds/rds_01_0004.html#rds_01_0004__table2058713718267)中的"id"获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
     
  
 
#### 请求消息
表2参数说明 
| 名称       | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| readonly | 是    | Boolean | **参数解释：** 是否设置为只读权限。 **约束限制：** 不涉及。 **取值范围：** - true：表示设置为只读权限。    - false：表示解除已设置的只读权限。   **默认取值：** 不涉及。 |
   
#### 请求示例
设置实例为只读。
```
PUT https://{endpoint}/v3/054ea741f700d4a32f1bc00f5c80dd4c/instances/5b409baece064984a1b3eef6addae50cin01/readonly-status
{
    "readonly" : true 
}
```
#### 响应消息
- 正常响应要素说明
  表3要素说明 
  | 名称     | 参数类型   | 说明                                                                                                                                                                          |
  |:---|:---|:---|
  | job_id | String | **参数解释：** 任务ID。 **取值范围：** 不涉及。 |
     
  

- 正常响应样例
  ```
  {
      "job_id": "2b414788a6004883a02390e2eb0ea227"
  }
  ```
  

- 异常响应 请参见[异常响应结果](https://support.huaweicloud.com/api-rds/rds_01_0010.html)。
  
 
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-rds/rds_10_0200.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-rds/rds_10_0201.html)。
