
# 创建容灾演练 - CreateDisasterRecoveryDrill
#### 功能介绍
创建容灾演练。
#### 接口约束
保护组的状态为available,protected,failed-over, error-starting,error-stopping,error-reversing,error-reprotecting,error-failing-over。在第一次同步数据完成前请不要进行容灾演练操作，否则可能导致容灾演练服务器无法正常启动。创建容灾演练时，如果保护组内的容灾站点云服务器加入了企业项目，容灾演练创建的演练云服务器不会自动加入到企业项目，如有需要请手动将演练云服务器加入到企业项目。创建容灾演练时，若传入drill_vpc_id，使用已创建好的演练VPC，则需保证已创建好的演练VPC内子网网段和保护组所在VPC内的子网网段一致；若不传入drill_vpc_id，则自动创建演练VPC。创建容灾演练时，使用已创建好的演练VPC，创建容灾演练后，演练VPC内子网的网络ACL规则和保护组所在VPC内子网的不会保持一致，如需保持一致请手动配置。创建容灾演练时，如果保护组所在VPC创建了自定义路由表并关联子网，演练VPC不会自动创建相对应的路由表，如有需要请手动创建。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/SDRS/doc?api=CreateDisasterRecoveryDrill)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v1/{project_id}/disaster-recovery-drills
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值） |
   
表3请求Body参数 
| 参数                      | 是否必选 | 参数类型                                                                                                               | 描述       |
|:---|:---|:---|:---|
| disaster_recovery_drill | 是    | [CreateDisasterRecoveryDrillRequestParams] object | 容灾演练的信息。 |
   
 表4CreateDisasterRecoveryDrillRequestParams 
| 参数              | 是否必选 | 参数类型   | 描述                                                                                                                                                              |
|:---|:---|:---|:---|
| server_group_id | 是    | String | 保护组的ID。                                                                                                                                                         |
| drill_vpc_id    | 否    | String | 演练虚拟私有云ID，不指定时系统会自动创建演练VPC。                                                                                                                                     |
| name            | 是    | String | 指定容灾演练的名称，最大支持长度为64个字节。只包含中文字符、英文字母（a～ｚ、Ａ～Ｚ）、数字（０\~９）、小数点（．）、下划线（_）、中划线（-）。 最小长度：**1** 最大长度：**64** |
   
#### 响应参数
**状态码： 200**
表5响应Body参数 
| 参数     | 参数类型   | 描述          |
|:---|:---|:---|
| job_id | String | 成功返回jobId信息 |
   
**状态码： 400**
表6响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
 表7ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 401**
表8响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表9ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 403**
表10响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表11ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 404**
表12响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表13ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 405**
表14响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表15ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 406**
表16响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表17ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 407**
表18响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表19ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 408**
表20响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表21ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 409**
表22响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表23ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 500**
表24响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表25ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 501**
表26响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表27ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 502**
表28响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表29ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 503**
表30响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表31ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 504**
表32响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表33ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
#### 请求示例
```
POST https://{Endpoint}/v1/{project_id}/disaster-recovery-drills
{
  "disaster_recovery_drill" : {
    "name" : "dr_drill_test",
    "server_group_id" : "c2aee29a-2959-4d01-9755-01cc76a4d17d"
  }
}
```
#### 响应示例
**状态码： 200**
OK
```
{
  "job_id" : "0000000011db92d36662db9d20df32ch"
}
```
#### 状态码
| 状态码 | 描述                            |
|:---|:---|
| 200 | OK                            |
| 400 | Bad Request                   |
| 401 | Unauthorized                  |
| 403 | Forbidden                     |
| 404 | Not Found                     |
| 405 | Method Not Allowed            |
| 406 | Not Acceptable                |
| 407 | Proxy Authentication Required |
| 408 | Request Timeout               |
| 409 | Conflict                      |
| 500 | Internal Server Error         |
| 501 | Not Implemented               |
| 502 | Bad Gateway                   |
| 503 | Service Unavailable           |
| 504 | Gateway Timeout               |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-sdrs/ErrorCode.html)。
