
# 保护实例变更规格 - ResizeProtectedInstance
#### 功能介绍
变更指定保护实例中弹性云服务器的规格，包括：同时变更生产站点云服务器和容灾站点云服务器的规格。 仅变更生产站点云服务器的规格，容灾站点云服务器规格不变。 生产站点云服务器规格不变，仅变更容灾站点云服务器的规格。 当且仅当待变更规格的云服务器处于关机状态时，才能执行此操作。 说明：不同规格的云服务器在性能上存在差异，可能会对云服务器上运行的应用产生影响。 为保证切换/故障切换后云服务器的性能，建议容灾站点服务器的规格（CPU、内存）不低于生产站点云服务器的规格（CPU、内存）。
#### 接口约束
1. 保护组的状态为available或者protected。 保护实例的状态为available或者protected或者error-resizing。 待变更规格的云服务器已关机。
2. 使用主机迁移服务搬迁到华为云的ECS以及部分规格的ECS创建保护实例后暂不支持在BRS服务界面变更规格。若无法进行规格变更，建议先删除保护实例，再在ECS服务控制台界面进行[规格变更](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771092.html)，变更完成后再重新创建保护实例。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/SDRS/doc?api=ResizeProtectedInstance)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v1/{project_id}/protected-instances/{protected_instance_id}/resize
表1路径参数 
| 参数                    | 是否必选 | 参数类型   | 描述       |
|:---|:---|:---|:---|
| project_id            | 是    | String | 项目ID。    |
| protected_instance_id | 是    | String | 保护实例的ID。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值） |
   
表3请求Body参数 
| 参数     | 是否必选 | 参数类型                                                                                                       | 描述             |
|:---|:---|:---|:---|
| resize | 是    | [ResizeProtectedInstanceRequestParams] object | 表示保护实例变更规格的操作。 |
   
 表4ResizeProtectedInstanceRequestParams 
| 参数                           | 是否必选 | 参数类型   | 描述                                                                                                                                            |
|:---|:---|:---|:---|
| flavorRef                    | 否    | String | 变更规格后，生产站点云服务器和容灾站点云服务器的flavor ID。可通过查询云服务器规格变更支持列表接口获取。 说明：系统支持同时变更生产站点云服务器和容灾站点云服务器的规格。如需同时变更，请使用flavorRef参数，变更规格后，生产站点云服务器和容灾站点云服务器的规格相同。  |
| production_flavorRef         | 否    | String | 变更规格后，生产站点云服务器的flavor ID。可通过查询云服务器规格变更支持列表接口获取。 说明：系统支持仅变更生产站点云服务器的规格。此时，请使用production_flavorRef参数。当flavorRef参数有值时，production_flavorRef参数不生效。 |
| dr_flavorRef                 | 否    | String | 变更规格后，容灾站点云服务器的flavor ID。可通过查询云服务器规格变更支持列表接口获取。 说明：系统支持仅变更容灾站点云服务器的规格。此时，请使用dr_flavorRef参数。当flavorRef参数有值时，dr_flavorRef参数不生效。                 |
| production_dedicated_host_id | 否    | String | 新生产站点专属主机ID。 说明：生产站点云服务器在专属主机上时，变更规格需要指定此参数。可以指定为生产站点云服务器当前所在专属主机ID或其他专属主机ID。                                                                 |
| dr_dedicated_host_id         | 否    | String | 新容灾站点专属主机ID。 说明：容灾站点云服务器在专属主机上时，变更规格需要指定此参数。可以指定为容灾站点云服务器当前所在专属主机ID或其他专属主机ID。                                                                 |
   
#### 响应参数
**状态码： 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 | 错误码  |
   
#### 请求示例
- 变更生产站点云服务器的规格为e2.small，容灾站点云服务器规格不变
  ```
  POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/resize
  {
    "resize" : {
      "production_flavorRef" : "e2.small"
    }
  }
  ```
  
- 生产站点云服务器规格不变，变更容灾站点云服务器的规格为e2.small
  ```
  POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/resize
  {
    "resize" : {
      "dr_flavorRef" : "e2.small"
    }
  }
  ```
  
- 容灾站点云服务器为DeH，生产站点云服务器规格不变，变更容灾站点云服务器的规格为e2.small。
  ```
  POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/resize
  {
    "resize" : {
      "dr_flavorRef" : "e2.small",
      "dr_dedicated_host_id" : "59f82ad6-6fc9-4bae-8621-aef2194e112c"
    }
  }
  ```
  
- 变更规格后，生产站点云服务器和容灾站点云服务器的规格为e2.small
  ```
  POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/resize
  {
    "resize" : {
      "flavorRef" : "e2.small"
    }
  }
  ```
  
- 生产站点云服务器为DeH，变更生产站点云服务器的规格为e2.small，容灾站点云服务器规格不变。
  ```
  POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/resize
  {
    "resize" : {
      "production_flavorRef" : "e2.small",
      "production_dedicated_host_id" : "59f82ad6-6fc9-4bae-8621-aef2194e112c"
    }
  }
  ```
  
- 变更规格后，生产站点云服务器的规格为s3.small.1，容灾站点云服务器的规格为s3.large.2。
  ```
  POST https://{Endpoint}/v1/{project_id}/protected-instances/00000000632302f501632305f63c000e/resize
  {
    "resize" : {
      "production_flavorRef" : "s3.small.1",
      "dr_flavorRef" : "s3.large.2"
    }
  }
  ```
  
 
#### 响应示例
**状态码： 200**
OK
```
{
  "job_id" : "0000000011db92d70162db9d20df32ch"
}
```
#### 状态码
| 状态码 | 描述                            |
|:---|:---|
| 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)。
