ReinstallInstance

1. 接口描述

本接口用于重装一个实例。

准备工作

  • 查询镜像:调用DescribeImages可以查询到镜像信息。

注意事项

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

  • 在回收站中或者正在安装中的实例不支持该操作。

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

  • 如果密码不指定将会通过邮箱下发随机密码。

  • 重装实例后进入INSTALLING(安装中)的状态。如果实例的最新状态变为RUNNING(运行中),则代表操作成功;如果实例的状态为INSTALL_FAILED,则代表安装失败。如果出现安装失败,请联系Support进行解决。实例的状态可以通过调用 DescribeInstances 接口查询。

2. 请求参数

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

参数名称必选类型描述

instanceId

String

待操作的实例ID。

可通过DescribeInstances接口返回值中的instanceId获取。

imageId

String

指定有效的镜像ID。 可通过以下方式获取可用的镜像ID:通过调用接口 DescribeImages ,传入instanceTypeId获取当前机型支持的镜像列表,取返回信息中的imageId字段;也可以不指定镜像,如果不指定镜像,后续可以通过IPMI进行安装。使用iPXE安装镜像,请指定ipxeUrl字段,且该字段不必传。

ipxeUrl

String

iPXE URL 地址。 传入参数后,将根据指定URL进行iPXE安装, 如果指定为netboot,将使用netboot iPXE方式进行安装。相关帮助文档:Deploy a Custom Image Using iPXE

hostname

String

实例的主机名。

不得超过64个字符。仅支持输入字母、数字、-和英文句点(.)。

默认值为hostname。

password

String

实例的密码。

必须是 8-16 个字符,包含大写字母、小写字母、数字和特殊字符。特殊符号可以是:1~!@$^*-_=+。该密码也是作为IPMI登录的密码,请妥善保管。 密钥与密码必须并且只能指定其中一个。

sshKeys

Array of String

SSH密钥列表。

使用了密钥登录,密码登录将会被禁止。 密钥最多支持5个。 Windowsh和exsi操作系统的实例 ,忽略该参数。默认为空。即使填写了该参数,仍旧只执行password的内容。 如果imageId未指定,则会忽略该参数。 密钥与密码必须并且只能指定其中一个。

raidConfig

磁盘阵列配置。

partitions

Array of Partition

分区配置。

如果未安装操作系统,将不能设置分区。

nic

网卡的配置。

3. 响应结果

参数名称类型描述

requestId

String

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

4. 代码示例

1.默认重装指定ID的实例

用默认值重装ID为instanceId的实例。

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

Request:
{
    "instanceId": "instanceId1"
}

Response:
{
  "requestId": "TC1748D3E-452D-4F74-8485-7AA73718E453",
  "response": {
    "requestId": "TC1748D3E-452D-4F74-8485-7AA73718E453"
  }
}

2.自定义重装指定ID的实例

重装ID为instanceId的实例,并且指定了镜像为bd5faa16-39d2-4bbf-a5c8-b95a193b1626,hostname为myhostname,密码为Aa_12345,磁盘阵列配置为raid0,并且进行两个分区,公网网卡名称配置为wan0,内网网卡名称配置为lan0

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

Request:
{
    "instanceId": "instanceId",
    "imageId": "bd5faa16-39d2-4bbf-a5c8-b95a193b1626",
    "hostname": "myhostname",
    "password": "Aa_12345",
    "raidConfig": {
        "raidType": 0
    },
    "partitions": [
        {
            "fsPath": "/",
            "fsType": "ext2",
            "size": 1100
        },
        {
            "fsPath": "/a",
            "fsType": "ext2",
            "size": 1100
        }
    ],
    "nic": {
        "wanName": "wan0",
        "lanName": "lan0"
    }
}

Response:
{
  "requestId": "TC1748D3E-452D-4F74-8485-7AA73718E453",
  "response": {
    "requestId": "TC1748D3E-452D-4F74-8485-7AA73718E453"
  }
}

5. 开发者工具

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

6. 错误码

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

HTTP状态码错误码说明

400

INVALID_PARAMETER_HOSTNAME_EXCEED

参数hostname超过了长度限制,请注意模式串中的bits总和不要超过指定长度。

400

INVALID_PARAMETER_HOSTNAME_MALFORMED

参数hostname格式不正确,请注意输入值在规定的字符内。

400

INVALID_PARAMETER_INSTANCE_NAME_EXCEED

参数instanceName超过了长度限制,请注意模式串中的bits总和不要超过指定长度。

400

INVALID_PARAMETER_INSTANCE_NAME_EXCEED

参数instanceName格式不正确,请注意输入值在规定的字符内。

404

INVALID_INSTANCE_NOT_FOUND

指定的实例不存在。

404

INVALID_IMAGE_NOT_FOUND

未找到指定的镜像。

403

INVALID_PARTITION_IMAGE_NOT_SET

自定义分区必须指定操作系统才可以进行。

400

INVALID_PARAMETER_VALUE_PASSWORD_MALFORMED

无效密码。指定的密码不符合密码复杂度限制。例如密码长度不符合限制等。

400

INVALID_PARAMETER_INSTANCE_LOGIN_CONFLICT

不能同时指定密码登录和SSH Key登录。

400

INVALID_PARAMETER_SSH_KEY_MALFORMED

输入的ssh key格式不正确,一般以rsa开头。

400

INVALID_RAID_CONFIG_FAST_CUSTOM_CONFLICT

自定义raid和快速raid只能选择其中一种。

400

INVALID_INSTANCE_TYPE_RAID_NOT_SUPPORT

当前机型不支持指定的raid级别。

400

INVALID_PARAMETER_NIC_NAME_CONFLICT

公网网卡名称和内网网卡不能相同。

400

INVALID_PARAMETER_NIC_NAME_MALFORMED

公网网卡或内网网卡名称不符合规范,请注意字符是否在规定的范围内。

400

INVALID_PARTITION_SIZE_NOT_FULL

分区大小没有到达应分区的规定容量。

400

INVALID_PARTITION_DUPLICATE_FILE_PATH

分区的文件路径或盘符有重复。

400

INVALID_PARTITION_MISSING_REQUIRED_FILE_PATH

分区时缺少必须的文件路径(盘符),windos必须包含c,linux必须包含/。

400

INVALID_PARTITION_MALFORMED

分区文件类型或路径有格式问题。

400

INVALID_PARTITION_NO_TYPE

分区文件类型错误。

400

INVALID_PARTITION_INVALID_ORDER

windows 分区时盘符必须按字母顺序以此填写,比如CDEFG。

400

INVALID_PARAMETER_VALUE_RAID_DISK_MISMATCH

自定义raid配置时传的硬盘数量和Raid等级所要求的硬盘数量不匹配。

400

INVALID_PARAMETER_VALUE_RAID_DISK_DISORDER

自定义raid配置时硬盘的序号必须按顺序填写,比如[1,2,3]。

400

INVALID_INSTANCE_TYPE_QUICK_RAID_NOT_SUPPORT

当前机型不支持快速raid级别。请使用自定义raid。

最后更新于