
# 删除云服务器 - DeleteServers
#### 功能介绍
根据指定的云服务器ID列表，删除云服务器。
本接口为异步接口，当前删除云服务器请求下发成功后会返回job_id，此时删除云服务器并没有立即完成，需要通过调用[查询任务的执行状态 - ShowJob](https://support.huaweicloud.com/api-ecs/ecs_02_0901.html)查询job状态，当Job状态为 SUCCESS 时代表云服务器删除成功。
系统支持删除单台云服务器和批量删除多台云服务器操作，批量删除云服务器时，一次最多可以删除1000台。
仅支持删除按需计费的云服务器。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ECS&api=DeleteServers)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ecs/ecs_06_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                            | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                   | 别名                      | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| ecs:cloudServers:deleteServers | write | instance \* | - g:ResourceTag/\<tag-key\>  - g:EnterpriseProjectId   | ecs:cloudServers:delete | -      |
   
#### URI
POST /v1/{project_id}/cloudservers/delete
参数说明请参见[表1]。
 表1参数说明 
| 参数         | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| project_id | 是    | **参数解释：** 项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ecs/ecs_01_0016.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 请求消息
请求参数如[表2]所示。
 表2请求参数 
| 参数              | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| servers         | 是    | Array of objects | **参数解释：** 所需要删除的云服务器列表，详情请参见[表3]。 **约束限制：** 一次最多可以删除1000台云服务器。 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| delete_publicip | 否    | Boolean          | **参数解释：** 配置删除云服务器是否删除云服务器绑定的弹性公网IP。如果选择不删除，则系统仅做解绑定操作，保留弹性公网IP资源。 **约束限制：** 若未设置delete_publicip参数，弹性公网IP是否随实例释放依赖于该弹性公网IP的delete_on_termination字段。 - delete_on_termination为true，delete_public为null，该弹性公网IP会被删除。  - delete_on_termination为false，delete_public为null，该弹性公网IP仅做解绑操作，不会被删除。   **取值范围：** - true：删除云服务器时，无论挂载在云服务器上的弹性公网IP的delete_on_termination字段为true或false，都会同时删除该弹性公网IP。  - false：删除云服务器时，无论挂载在云服务器上的弹性公网IP的delete_on_termination字段为true或false，仅做解绑操作，不删除该弹性公网IP。   **默认取值：** false |
| delete_volume   | 否    | Boolean          | **参数解释** **：** 配置删除云服务器是否删除云服务器对应的数据盘，如果选择不删除，则系统仅做卸载操作，保留云硬盘资源。 **约束限制：** delete_volume依赖于云服务器挂载磁盘的delete_on_termination字段。 - delete_on_termination为true，delete_volume为false，磁盘会被删除。  - delete_on_termination为false，delete_volume为true，磁盘会被删除。   **取值范围：** - true：删除云服务器时会同时删除挂载在云服务器上的数据盘。  - false：删除云服务器时，仅卸载云服务器上挂载的数据盘，不删除该数据盘。   **默认取值：** false                                                                                                                  |
   
 表3servers字段数据结构说明 
| 参数 | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| id | 是    | String | **参数解释** **：** 需要删除的云服务器ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 响应消息
响应参数如[表4]所示。
 表4响应参数 
| 参数     | 参数类型   | 描述                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| job_id | String | **参数解释：** 提交任务成功后返回的任务ID，用户可以使用该ID对任务执行情况进行查询。如何根据job_id来查询Job的执行状态，请参考[查询Job状态](https://support.huaweicloud.com/api-ecs/ecs_02_0900.html)。 **取值范围：** 不涉及 |
   
异常响应请参考[响应（任务类）](https://support.huaweicloud.com/api-ecs/ecs_07_0005.html)，异常响应要素说明。
#### 请求示例
- 删除ID为"616fb98f-46ca-475e-917e-2563e5a8cd19"的云服务器，并解绑弹性公网IP、卸载数据盘。
  ```
  POST https://{endpoint}/v1/{project_id}/cloudservers/delete
  {
      "servers": [
          {
              "id": "616fb98f-46ca-475e-917e-2563e5a8cd19"
          }
      ], 
      "delete_publicip": false, 
      "delete_volume": false
     }
  ```
  
- 批量删除云服务器，ID分别为"616fb98f-46ca-475e-917e-2563e5a8cd19"、"616fb98f-46ca-475e-917e-2563e5a8ef20"和"77bd8659-aceb-464e-acda-7b9d664b99aa"。
  ```
  POST https://{endpoint}/v1/{project_id}/cloudservers/delete
  {
      "delete_publicip": false,
      "delete_volume": false,
      "servers": [
          {
              "id": "616fb98f-46ca-475e-917e-2563e5a8cd19"
          },
          {
              "id": "616fb98f-46ca-475e-917e-2563e5a8ef20"
          },
          {
              "id": "77bd8659-aceb-464e-acda-7b9d664b99aa"
          }
      ]
  }
  ```
  
 
#### 响应示例
```
{
    "job_id": "ff80808288d415d80189901d8eb81cbb"
}
```
或
```
{
    "error": {
        "message": "request body is illegal.", 
        "code": "Ecs.0005"
    }
}
```
#### 返回值
请参考[通用请求返回值](https://support.huaweicloud.com/api-ecs/ecs_07_0001.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-ecs/ecs_07_0002.html)。
