
# 创建保护实例 - CreateProtectedInstance
#### 功能介绍
创建保护实例。保护实例创建完成后，系统默认容灾站点云服务器名称与生产站点云服务器名称相同，但ID不同。如果需要修改云服务器名称，请在保护实例详情页面单击云服务器名称，进入云服务器详情页面进行修改
#### 接口约束
保护组的状态为available或者protected。云服务器不能挂载共享云硬盘。云服务器不能已经被创建保护实例。云服务器必须与保护组在同一个VPC。由弹性伸缩组伸缩时所创建的云服务器，在对该云服务器做容灾保护后，当弹性伸缩组缩容时，不支持对该云服务器执行删除操作。创建保护实例时，如果生产站点服务器为Windows云服务器且设置为密钥方式登录，请确保生产站点服务器使用的密钥对存在，否则可能导致云平台无法创建容灾站点云服务器，从而导致创建保护实例失败。 说明:如果生产站点云服务器对应的密钥对已被删除，请重新创建相同名称的密钥对。创建保护实例时，选择的生产站点云服务器如果加入了企业项目，保护实例创建成功后，容灾站点云服务器不会自动加入企业项目，如有需要请手动将容灾站点云服务器加入到企业项目。创建保护实例完成并对生产站点的云服务器做容灾保护后，生产站点云服务器中的"主机名"、"云服务器名称"、"安全组"、"委托"、"云服务器组"、"标签"和"自动恢复"配置项修改不会再自动同步到容灾站点的云服务器上。您可以在控制台页面上手动将这些配置项的修改添加到容灾站点的云服务器上。创建保护实例时，如果生产站点云服务器已经被添加到云服务器组中，则不支持指定专属主机创建容灾站点云服务器。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/SDRS/doc?api=CreateProtectedInstance)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v1/{project_id}/protected-instances
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值） |
   
表3请求Body参数 
| 参数                 | 是否必选 | 参数类型                                                                                                       | 描述       |
|:---|:---|:---|:---|
| protected_instance | 是    | [CreateProtectedInstanceRequestParams] object | 保护实例的信息。 |
   
 表4CreateProtectedInstanceRequestParams 
| 参数                 | 是否必选 | 参数类型                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| server_group_id    | 是    | String                                                             | 需要加入的保护组ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| server_id          | 是    | String                                                             | 指定的生产站点云服务器ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| name               | 是    | String                                                             | 指定保护实例的名称，最大支持长度为64个字节。只包含中文字符、英文字母（a～ｚ、Ａ～Ｚ）、数字（０\~９）、小数点（．）、下划线（_）、中划线（-）。 最小长度：**1** 最大长度：**64**                                                                                                                                                                                                                                                                                                                                    |
| description        | 否    | String                                                             | 指定保护实例的描述，最大支持长度为64个字节。不能包含左尖括号（\<）或右尖括号（\>）。 最小长度：**1** 最大长度：**64**                                                                                                                                                                                                                                                                                                                                                                  |
| cluster_id         | 否    | String                                                             | 专属分布式存储池ID。 当容灾站点磁盘选择专属分布式存储时指定该字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| primary_subnet_id  | 否    | String                                                             | 容灾站点云服务器主网卡所在的子网subnetID，与neutron_network_id字段值一致。                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| primary_ip_address | 否    | String                                                             | 容灾站点云服务器主网卡IP地址。此参数仅在传入primary_subnet_id时有效。指定primary_subnet_id时，如果不指定该参数，将自动分配容灾站点云服务器主网卡IP地址。                                                                                                                                                                                                                                                                                                                                                                                                  |
| tags               | 否    | Array of [ResourceTag] objects | 标签列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| flavorRef          | 否    | String                                                             | 指定的容灾站点云服务器的flavor ID。查询flavor列表，请参见查询云服务器规格变更支持列表。 说明:不指定此参数时，容灾站点云服务器的flavor ID默认和生产站点云服务器保持一致。不同规格的云服务器在性能上存在差异，可能会对云服务器上运行的应用产生影响。为保证切换/故障切换后云服务器的性能，建议容灾站点服务器的规格（CPU、内存）不低于生产站点云服务器的规格（CPU、内存）。生产站点云服务器和容灾站点云服务器的flavor存在匹配关系，可以通过上述接口使用生产站点云服务器过滤出满足要求的容灾站点云服务器flavor。                                                                                                                                                                                                                     |
| tenancy            | 否    | String                                                             | 在专属主机或共享池中创建容灾站点云服务器，默认为在共享池中创建。 值为：shared或dedicated。shared：表示共享池。 dedicated：表示专属主机。 缺省值：**shared** 枚举值： - **shared**   - **dedicated**    |
| dedicated_host_id  | 否    | String                                                             | 专属主机id，此属性仅在tenancy值为dedicated时有效。 若不指定此属性，系统将自动分配租户可以自动放置弹性云服务器的专属主机。                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
 表5ResourceTag 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                     |
|:---|:---|:---|:---|
| key   | 是    | String | 键。同一资源的key值不能重复。最大长度为36个UNICODE字符。key不能为空，不允许为空字符串。不能包含以下字符：非打印字符ASCII(0-31)特殊字符"\*","\<","\>","\\","=",",","\|","/"键。不能为空。对于同一资源键值唯一。 |
| value | 是    | String | 值。最大长度为43个UNICODE字符。value不能为空，可以为空字符串。不能包含以下字符：非打印字符ASCII(0-31)特殊字符"\*","\<","\>","\\","=",",","\|","/"。长度不超过43个字符。                    |
   
#### 响应参数
**状态码： 200**
表6响应Body参数 
| 参数     | 参数类型   | 描述          |
|:---|:---|:---|
| job_id | String | 成功返回jobId信息 |
   
**状态码： 400**
表7响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
 表8ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 401**
表9响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表10ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 403**
表11响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表12ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 404**
表13响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表14ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 405**
表15响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表16ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 406**
表17响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表18ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 407**
表19响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表20ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 408**
表21响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表22ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 409**
表23响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表24ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 500**
表25响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表26ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 501**
表27响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表28ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 502**
表29响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表30ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 503**
表31响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表32ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
**状态码： 504**
表33响应Body参数 
| 参数    | 参数类型                                                  | 描述     |
|:---|:---|:---|
| error | [ErrorInfo] object | 失败返回结构 |
   
表34ErrorInfo 
| 参数      | 参数类型   | 描述   |
|:---|:---|:---|
| message | String | 错误信息 |
| code    | String | 错误码  |
   
#### 请求示例
```
POST https://{Endpoint}/v1/{project_id}/protected-instances
{
  "protected_instance" : {
    "server_group_id" : "523ab8ad-3759-4933-9436-4cf4ebb20867",
    "server_id" : "403b603d-1d91-42cc-a357-81f3c2daf43f",
    "name" : "test_protected_instance_name",
    "description" : "my description",
    "primary_subnet_id" : "a32217fh-3413-c313-6342-3124d3491502",
    "primary_ip_address" : "192.168.0.5",
    "tags" : [ {
      "key" : "key1",
      "value" : "value1"
    }, {
      "key" : "key",
      "value" : "value3"
    } ]
  }
}
```
#### 响应示例
**状态码： 200**
OK
```
{
  "job_id" : "0000000062db92d70162db9d200f00bb"
}
```
#### 状态码
| 状态码 | 描述                            |
|:---|:---|
| 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)。
