
# 批量重新安装OS - ReinstallOS
#### 功能介绍
指定新OS镜像重新安装OS，此接口为异步接口，通过 **ShowInstanceStatus** 查询实例状态，当状态变为 **pending** 表明正在重装中，状态为 **running** 表明完成重装。
前提条件：Instance state为running
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-clouddc/clouddc_api_0003.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-clouddc/clouddc_api_0011.html)。
| 授权项                          | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| clouddc:instance:reinstallOS | Write | -           | -   | -  | -      |
   
#### URI
PUT /v1/{project_id}/instances/reinstall
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID **约束限制**： 不涉及 **取值范围**： 账号的项目ID **默认取值**： 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 调用接口的认证方式分为Token，如果您使用的Token方式，此参数为必填，请填写Token的值 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
表3请求Body参数 
| 参数              | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| image_id        | 否    | String           | **参数解释**： 镜像ID， 在镜像服务中创建的私有镜像ID,可以在Clouddc的console控制台查看，也可以通过镜像服务（ECM）的接口查询非必填，不传默认使用当前镜像ID **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 空字符串，默认使用当前镜像ID                                                                                                                                                                         |
| password        | 是    | String           | **参数解释**： 设置实例的管理员账户初始登录密码，其中，Linux管理员账户为root，Windows管理员账户为Administrator。 **约束限制**： 不涉及 **取值范围**： 长度为8-26位。 密码至少必须包含大写字母、小写字母、数字和特殊字符（!@$%\^-_=+\[{}\]:,./?）中的三种。 密码不能包含用户名或用户名的逆序。 **默认取值**： 不涉及 |
| instance_id_set | 否    | Array of strings | **参数解释**： 实例id 列表 **约束限制**： 实例id不超过50条                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
#### 响应参数
**状态码：202**
表4响应Body参数 
| 参数        | 参数类型                                                                                        | 描述                                                                                                                                                                                                                 |
|:---|:---|:---|
| instances | Array of [instances] objects | **参数解释**： 实例返回信息 **约束限制**： 不涉及 |
   
 表5instances 
| 参数 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| id | String | **参数解释**： 实例ID **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                         |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码  |
| error_msg  | String | **参数解释**： 错误描述 |
   
**状态码：401**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                         |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码  |
| error_msg  | String | **参数解释**： 错误描述 |
   
**状态码：429**
表8响应Body参数 
| 参数 | 参数类型   | 描述 |
|:---|:---|:---|
| -  | String | -  |
   
**状态码：500**
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                         |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码  |
| error_msg  | String | **参数解释**： 错误描述 |
   
#### 请求示例
批量重新安装OS
```
PUT https://{endpoint}/v1/{project_id}/instances/reinstall
```
#### 响应示例
**状态码：202**
重新安装异步请求成功
```
{
  "instances" : [ {
    "id" : "0197f36d-d83b-7258-b177-3784b7887a17"
  } ]
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 202 | 重新安装异步请求成功  |
| 400 | 请求参数错误，请求失败 |
| 401 | 请求未鉴权       |
| 429 | 请求过载        |
| 500 | 服务端内部错误     |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-clouddc/ErrorCode.html)。
