ResetInstance

1. 接口描述

本接口用于重装一台虚拟机实例操作系统。

准备工作

  • 查询镜像:调用DescribeImages可以查询到需要重装的操作系统镜像信息。

注意事项

  • 如果指定了imageId参数,则使用指定的镜像重装;否则按照实例当前使用的镜像进行重装。

  • 不支持跨操作系统类型(osType)重装。比如操作系统类型linux 重装成 windows

  • 实例的系统盘大小必须大于或等于被重装镜像的大小。否则操作将被拒绝。

  • 系统盘将会被格式化,并重置;请确保系统盘中无重要文件。

  • 密码与keyPair必须且只能指定其中一种。

  • 重装系统必须在实例为关机状态才能进行。

  • WindowsGeneric 不支持指定 key_id SSH登录。

  • 重装实例后进入DEPLOYING(部署中)的状态。如果实例的最新状态变为RUNNING(开机),则代表操作成功,如果变为REINSTALL_FAILED(重装失败),则代表操作失败,请与管理员联系;实例的状态可以通过调用 DescribeInstancesStatus 接口查询。

2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

参数名称
必选
类型
描述

instanceId

String

要重装的实例ID。

password

String

实例的新密码。

与keyId不能同时指定。

必须包含以下3种格式的字符:大小写字母: [a-zA-Z]数字: 0-9特殊字符: ~!@$^*-_=+。

keyId

String

密钥ID。

与password必须指定其中的一种。

可调用接口DescribeKeyPairs来获得最新的密钥对信息。

关联密钥后,就可以通过对应的私钥来访问实例;密钥与密码不能同时指定,同时Windows操作系统不支持指定密钥。

示例值:key-YWD2QFOl。

imageId

String

指定重装的的镜像ID。

可以通过DescribeImages取返回信息中的imageId字段。

如果不指定,会根据当前镜像进行重装。

timezone

String

操作系统时区设置。

enableAgent

Boolean

是否启用 QEMU Guest 代理 (QGA)。

默认值:false。

instanceName

String

修改的实例名称。

3. 响应结果

参数名称
类型
描述

requestId

String

唯一请求 ID。

每次请求都会返回。定位问题时需要提供该次请求的 requestId。

4. 代码示例

1. 重装系统。

POST /api/v2/zec HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: ResetInstance
<Common Request Params>

Request:
{
  "instanceId": "<instanceId>",
  "imageId": "ubuntu2022",
  "password": "Example+123",
  "enableAgent": true
}

Response:
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3"
  }
}

5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的开发工具集(SDK),未来会陆续支持更多开发语言,方便快速接入和使用Zenlayer的产品和服务。

6. 错误码

下面包含业务逻辑中遇到的错误码,其他错误码见公共错误码

HTTP状态码
错误码
说明

400

INVALID_IMAGE_AGENT_NOT_SUPPORT

镜像不支持Agent。

400

INVALID_IMAGE_KEY_PAIR_NOT_SUPPORT

镜像不支持ssh密钥对。

404

INVALID_IMAGE_NOT_FOUND

镜像不存在。

400

INVALID_IMAGE_PASSWORD_NOT_SUPPORT

操作系统不支持指定密码。

400

INVALID_IMAGE_SIZE_EXCEED

镜像大小超过指定系统盘的大小。

400

INVALID_IMAGE_STATUS

镜像的状态不支持此操作。

400

INVALID_OS_TYPE_NOT_SAME

操作系统类型不一致,无法操作。

404

INVALID_INSTANCE_NOT_FOUND

服务器实例不存在。

404

INVALID_KEY_PAIR_NOT_FOUND

SSH密钥对不存在。

403

INVALID_KEY_PAIR_NOT_SUPPORT

存在不支持的ssh key。

400

INVALID_LOGIN_SETTING_CONFLICT

密码和密钥对不能同时设置。

400

INVALID_PASSWORD_MALFORMED

密码格式错误。

400

UNSUPPORTED_OPERATION_INSTANCE_STATUS

实例状态不支持此操作。

最后更新于