# 批量变更弹性云服务器规格 - BatchResizeServers
#### 功能介绍
批量变更弹性云服务器规格。
本接口为异步接口，当前批量变更弹性云服务器规格请求下发成功后会返回job_id，此时批量变更弹性云服务器规格并没有立即完成，需要通过调用[查询任务的执行状态 - ShowJob](https://support.huaweicloud.com/api-ecs/ecs_02_0901.html)查询job状态，当Job状态为 SUCCESS 时代表弹性云服务器规格批量变更成功。
#### 接口约束
- 最大支持批量变更50个弹性云服务器。

- 批量变更规格的弹性云服务器计费模式必须相同。

- 包年/包月弹性云服务器不仅支持批量升配，还支持批量降配。

- 批量变更规格的弹性云服务器仅支持可用区相同。

- 批量变更规格的弹性云服务器原规格相同，目的规格相同。

- 批量变更规格的弹性云服务器不支持专属主机下虚拟机变更规格。
- 批量变更规格不支持竞价实例
- 批量升配包年/包月云服务器规格时，暂不支持自动支付，系统会自动生成一个待支付订单，您可以手动在控制台上选择支付方式进行支付或参考"[支付包年/包月产品订单](https://support.huaweicloud.com/api-bpconsole/api_order_00016.html)"进行支付。
- 收费公共镜像创建的包年/包月云服务器不支持批量变更规格，具体收费公共镜像类型请参考[镜像的计费标准](https://support.huaweicloud.com/productdesc-ims/zh-cn_topic_0030713145.html)。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ECS/doc?api=BatchResizeServers)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ecs/ecs_06_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                     | 访问级别   | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                     | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| ecs:cloudServers:resize | write | instance \*   | - g:ResourceTag/\<tag-key\>  - g:EnterpriseProjectId  - ecs:FlavorId   | -  | -                  |
   
#### URI
POST /v1/{project_id}/cloudservers/batch-resize
参数说明请参见[表 参数说明]。
 表1参数说明 
| 参数       | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| project_id | 是  | **参数解释：** 项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ecs/ecs_01_0016.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 请求消息
请求参数如[表 请求参数]所示。
 表2请求参数 
| 参数     | 是否必选 | 参数类型  | 描述                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| resize | 是      | Object | **参数解释：** 云服务器变更规格操作。详细请参见[表 resize列表数据结构说明]。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
 表3resize列表数据结构说明 
| 参数          | 是否必选 | 参数类型               | 描述                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| flavorRef | 是  | String           | **参数解释：** 变更后的云服务器规格ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                      |
| servers    | 是 | Array of objects | **参数解释：** 云服务器ID列表，详情请参见[表 servers字段数据结构说明]。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                     |
| mode         | 否   | String            | **参数解释：** 支持开机状态下变更规格。 **约束限制：** 不涉及 **取值范围：** mode取值为withStopServer时，对开机状态的云服务器执行变更规格操作，系统自动对云服务器先执行关机，再变更规格，变更成功后再执行开机。 **默认取值：** 不涉及 |
| cpu_options  | 否  | Object              | **参数解释：** 自定义CPU选项。 详情请参见[表5]。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及        |
| promotion     | 否    | Object               | **参数解释：** 折扣，详情请参见[表6]。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                  |
   
 表4servers字段数据结构说明 
| 参数 | 是否必选 | 参数类型 | 描述                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| id      | 是         | String    | **参数解释：** 云服务器ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
 表5cpu_options数据结构说明 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| hw:cpu_threads | 否    | Integer | **参数解释：** 用于控制CPU是否开启超线程。 **约束限制：** 需要同时满足如下条件，才能设置为"关闭超线程"： - 只能在实例创建或者resize时指定。  - 只有目标flavor的os_extra_specs参数： - 存在"hw:cpu_policy"并取值为"dedicated"。  - 存在"hw:cpu_threads"并取值为"2"。   os_extra_specs参数详情可通过调用[查询规格详情和规格扩展信息列表 - ListFlavors](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212656.html)接口进行查询。    **取值范围：** - 1: 关闭超线程。  - 2: 打开超线程。   **默认取值：** 1: 关闭超线程 |
   
 表6promotion字段数据结构说明 
| 参数   | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| type  | 是   | String   | **参数解释：** 包年/包月云服务器的折扣类型。 **约束限制：** 不涉及 **取值范围：** - 0：促销折扣  - 1：合同折扣  - 2：商务优惠  - 3：合作伙伴授予折扣  - 609：订单调价折扣   **默认取值：** 不涉及 |
| id | 是 | String | **参数解释：** 包年/包月云服务器的折扣ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                         |
   
#### 响应消息
响应参数如[表7]所示。
 表7响应参数 
| 参数      | 是否必选 | 参数类型    | 描述                                                                                                                   |
|:---|:---|:---|:---|
| job_id   | 是    | String | **参数解释：** 任务ID。 **取值范围：** 不涉及 |
| order_id | 否    | String   | **参数解释：** 订单ID。 **取值范围：** 不涉及   |
   
#### 请求示例
批量变更2台云服务器的规格为"s3.small.1"。
```
POST https://{endpoint}/v1/{project_id}/cloudservers/batch-resize
{
"resize": {
"flavorRef": "s3.small.1",
"servers": [
{
"id": "98ce4563-3e06-414f-899b-6ba6eaa41c1d"
},
{
"id": "aacc5bf0-49c4-4720-a406-1751d8010e7f"
}
]
}
}
```
#### 响应示例
```
{
    "job_id": "ff80808288d415d80189901d8eb81cbb",
    "order_id": "CS18020810083A4GP"
}
```
#### 返回值
请参考[通用请求返回值](https://support.huaweicloud.com/api-ecs/ecs_07_0001.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-ecs/ecs_07_0002.html)。
