
# 批量修改实例密码 - ChangeInstancePassword
#### 功能介绍
修改服务器管理账号（root用户或Administrator用户）密码
前提条件：Instance state为running
该接口为同步接口，全部成功或者全部失败
约束：
无符合安全要求的密码复杂度检查，非安全密码输入后，无错误提示。
服务器开机或重启后，新密码生效（调用**ChangeServerPowerState**接口重启）。
#### 调用方法
请参见[如何调用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:changePassword | Write | -           | -   | -  | -      |
   
#### URI
PUT /v1/{project_id}/instances/password
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID **约束限制**： 不涉及 **取值范围**： 账号的项目ID **默认取值**： 不涉及                             |
| id         | 是    | String | **参数解释**： 实例ID, 创建实例**CreateInstance**请求响应返回的值 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 调用接口的认证方式分为Token，如果您使用的Token方式，此参数为必填，请填写Token的值 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
表3请求Body参数 
| 参数              | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| new_password    | 是    | String           | **参数解释**： 设置实例的管理员账户初始登录密码，其中，Linux管理员账户为root，Windows管理员账户为Administrator。 **约束限制**： 不涉及 **取值范围**： 长度为8-26位。 密码至少必须包含大写字母、小写字母、数字和特殊字符（!@$%\^-_=+\[{}\]:,./?）中的三种。 密码不能包含用户名或用户名的逆序。 **默认取值**： 不涉及 |
| instance_id_set | 否    | Array of strings | **参数解释**： 实例id 列表 **约束限制**： 实例id不超过50条                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
#### 响应参数
**状态码：200**
表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 | **参数解释**： 错误描述 |
   
#### 请求示例
批量修改实例密码
```
PUT https://{endpoint}/v1/{project_id}/instances/password
```
#### 响应示例
**状态码：200**
修改密码请求成功
```
{
  "instances" : [ {
    "id" : "0197f36d-d83b-7258-b177-3784b7887a17"
  } ]
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | 修改密码请求成功    |
| 400 | 请求参数错误，请求失败 |
| 401 | 请求未鉴权       |
| 429 | 请求过载        |
| 500 | 服务端内部错误     |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-clouddc/ErrorCode.html)。
