ResetCompShareInstancePassword — 重置实例密码
接口说明
重置优云智算 GPU 实例的登录密码。对于普通主机实例,需要在关机状态下操作;容器实例支持在线重置。
使用限制
- 普通主机实例(非容器):仅
Stopped(已关机)状态可重置密码。 - 容器实例:支持运行中重置密码。
- 密码需经过 Base64 编码后传入。
- 容器实例密码规则(编码前):长度 8~32 个字符,至少包含大写字母、小写字母、数字、特殊字符中的 2 种,仅允许
[A-Z] [a-z] [0-9]及()`~!@#$%^&*-+=_|{}[]:;'<>,.?/。普通主机实例的密码校验由底层 UHost API 执行。
请求参数
| 名称 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| Action | String | 是 | 接口名称 | ResetCompShareInstancePassword |
| Region | String | 是 | 地域 | cn-wlcb |
| Zone | String | 是 | 可用区 | cn-wlcb-01 |
| UHostId | String | 是 | 实例 ID | uhost-xxxx |
| Password | String | 是 | 新密码,需 Base64 编码 | dWNsb3VkLmNu |
响应参数
| 名称 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| Action | String | 响应名称 | ResetCompShareInstancePassword |
| RetCode | Integer | 返回码,0 为成功 | 0 |
| UHostId | String | 实例 ID | uhost-xxxx |
请求示例
Python(使用 UCloud SDK)
安装 SDK:
pip install --upgrade ucloud-sdk-python3示例代码:
import base64
from ucloud.core import exc
from ucloud.client import Client
def main():
client = Client({
"region": "cn-wlcb",
"public_key": "my_public_key", # 替换为你的公钥(控制台 账户中心 → API 密钥:https://console.compshare.cn/uaccount/api_manage)
"private_key": "my_private_key", # 替换为你的私钥
"base_url": "https://api.compshare.cn",
})
try:
password = base64.b64encode("MyNewPassword123!".encode()).decode()
resp = client.ucompshare().invoke("ResetCompShareInstancePassword", {
"Region": "cn-wlcb",
"Zone": "cn-wlcb-01",
"UHostId": "uhost-xxxx", # 实例 ID,通过 DescribeCompShareInstance 获取
"Password": password,
})
print("密码重置成功:", resp.get("UHostId"))
except exc.UCloudException as e:
print(e)
if __name__ == "__main__":
main()Go(使用 UCloud SDK)
安装依赖:
go get github.com/ucloud/ucloud-sdk-go示例代码:
package main
import (
"encoding/base64"
"fmt"
"github.com/ucloud/ucloud-sdk-go/ucloud"
"github.com/ucloud/ucloud-sdk-go/ucloud/auth"
"github.com/ucloud/ucloud-sdk-go/ucloud/request"
"github.com/ucloud/ucloud-sdk-go/ucloud/response"
)
type ResetCompShareInstancePasswordRequest struct {
request.CommonBase
UHostId *string
Password *string // Base64 编码后的密码
}
type ResetCompShareInstancePasswordResponse struct {
response.CommonBase
UHostId string `json:"UHostId"`
}
func main() {
cfg := ucloud.NewConfig()
cfg.Region = "cn-wlcb"
cfg.BaseUrl = "https://api.compshare.cn"
credential := auth.NewCredential()
credential.PublicKey = "my_public_key" // 替换为你的公钥(控制台 账户中心 → API 密钥:https://console.compshare.cn/uaccount/api_manage)
credential.PrivateKey = "my_private_key" // 替换为你的私钥
client := ucloud.NewClient(&cfg, &credential)
password := base64.StdEncoding.EncodeToString([]byte("MyNewPassword123!"))
req := &ResetCompShareInstancePasswordRequest{
UHostId: ucloud.String("uhost-xxxx"), // 实例 ID,通过 DescribeCompShareInstance 获取
Password: ucloud.String(password),
}
req.SetRegion("cn-wlcb")
req.SetZone("cn-wlcb-01")
resp := &ResetCompShareInstancePasswordResponse{}
if err := client.InvokeAction("ResetCompShareInstancePassword", req, resp); err != nil {
fmt.Printf("调用失败: RetCode=%d Msg=%s err=%v\n", resp.RetCode, resp.Message, err)
return
}
fmt.Printf("密码重置成功: %s\n", resp.UHostId)
}响应示例
{
"Action": "ResetCompShareInstancePassword",
"RetCode": 0,
"UHostId": "uhost-xxxx"
}