
# 一键重置弹性云服务器密码 - ResetServerPassword
#### 功能介绍
离线重置弹性云服务器管理账号（root用户或Administrator用户）的密码。
#### 接口约束
- 默认无符合安全要求的密码复杂度检查，非安全密码输入后，无错误提示。
- 使用此API，需预先安装一键式重置密码插件。一键式重置密码插件的下载与安装，请参见[安装一键式重置密码插件（可选）](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0068095385.html)。
- 不能判断弹性云服务器是否支持离线重置密码。
- 弹性云服务器的离线密码重置失败后，该API不会报错。
- 弹性云服务器开机或重启后，新密码生效。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ECS&api=ResetServerPassword)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ecs/ecs_06_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                             | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| ecs:cloudServers:resetServerPwd | write | instance \* | -   | -  | -      |
   
#### URI
PUT /v1/{project_id}/cloudservers/{server_id}/os-reset-password
参数说明请参见[表1]。
 表1参数说明 
| 参数         | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| project_id | 是    | **参数解释：** 项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ecs/ecs_01_0016.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| server_id  | 是    | **参数解释：** 云服务器ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                             |
   
#### 请求消息
请求参数如[表2]所示。
 表2请求参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| reset-password | 是    | Object | **参数解释：** reset-password信息详情，参考[表3]。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
 表3reset-password字段结构说明 
| 参数                | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| is_check_password | 否    | Boolean | **参数解释：** 是否检查密码的复杂度。 **约束限制：** 不涉及 **取值范围：** - true 检查密码复杂度  - false 不检查密码复杂度   **默认取值：** false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| new_password      | 是    | String  | **参数解释：** 弹性云服务器新密码。 **约束限制：** 该接口默认不做密码安全性校验；如需校验，请指定字段"is_check_password"为true。 **取值范围：** - 长度为8-26位  - 允许输入的字符包括：!@%-_=+\[\]:./?  - 禁止输入的字符包括：汉字及【】：；""''、，。《》？￥...（）------ ·！\~\`#\&\^,{}\*();"'\<\>\|\\ $  - 复杂度上必须包含大写字母（A-Z）、小写字母（a-z）、数字（0-9）、以及允许的特殊字符中的3种及以上搭配  - 不能包含用户名 "Administrator" 和"root"及逆序字符  - 不能包含用户名 "Administrator" 中连续3个字符   **默认取值：** 不涉及 |
   
#### 响应消息
无
#### 请求示例
离线重置指定云服务器的管理员账号（root用户或Administrator用户）的密码，建议将密码在配置文件或者环境变量中密文存放，使用时解密，确保安全。
```
PUT https://{endpoint}/v1/{project_id}/cloudservers/{server_id}/os-reset-password
{
"reset-password": {
"new_password": "$ADMIN_PASS"
}
}
```
#### 响应示例
无
#### 返回值
请参考[通用请求返回值](https://support.huaweicloud.com/api-ecs/ecs_07_0001.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-ecs/ecs_07_0002.html)。
