ReinstallInstance

1. 接口描述

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

准备工作

注意事项

  • 如果指定了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登录的密码,请妥善保管。 密钥与密码必须并且只能指定其中一个。

keyId

String

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

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

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

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。

Last updated