CreateDisks

CreateDisks

1. 接口描述

本接口(CreateDisks)用于创建一个或多个云硬盘。

注意事项

  • 预付费云硬盘的购买会预先扣除本次云硬盘购买所需金额,如果余额不足,请求将会失败。后付费云硬盘购买时需要确保账户账号状态正常。

  • 本接口为异步接口,当创建云硬盘请求下发成功后会返回一个云硬盘ID列表,此时创建云硬盘操作并未立即完成。云硬盘创建结果可以通过 DescribeDisks 查询。如果能够查询到对应云硬盘数据且状态为AVAILABLE则代表云硬盘创建成功,如果创建时指定了挂载到某个实例,则当状态为IN_USE时则代表挂载成功。

2. 请求参数

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

参数名称
必选
类型
描述

chargeType

String

付费类型。

PREPAID:预付费,即包年包月。

POSTPAID:后付费。

chargePrepaid

预付费模式。 即包年包月相关参数设置。通过该参数可以指定包年包月云硬盘的购买时长等属性。若指定云硬盘的付费模式为预付费则该参数必传。

diskName

String

云硬盘名称。

  • 必须以数字或字母开头或结尾。

  • 长度在1和64个字符之间。

  • 仅支持输入字母、数字、-和英文句点(.)。

diskSize

Integer

云硬盘大小,单位GB。

diskCategory

String

云硬盘种类。

  • STANDARD: 标准云盘

  • SSD: 固态硬盘

默认为STANDARD。 可从 DescribeDiskCategory 中获取。

instanceId

String

创建后需要挂载的实例ID。 指定实例ID将会为实例所在的可用区创建数据盘并挂载到实例上。

zoneId

String

云硬盘所属的可用区ID。 如果指定了instanceId,则该字段无效。 可通过Describezones接口获取。

diskAmount

Integer

云硬盘创建数量。

最小值与默认值均为1,最大值50。

resourceGroupId

String

云硬盘所在的资源组ID,如不指定则放入默认资源组。

3. 响应结果

参数名称
类型
描述

requestId

String

唯一请求 ID。

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

diskIds

Array of String

云硬盘ID集合。

orderNumber

String

订单编号。

4. 代码示例

  1. 创建一个或多个云硬盘。

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

Request:
{
  "chargeType": "POSTPAID",
  "diskName": "Test-Disk",
  "diskSize": 30,
  "diskAmount": 1,
  "zoneId": "HKG-A"
}

Response:
{
  "requestId": "T842EE571-4490-4AFE-9F17-931030D3B4F9",
  "response": {
    "requestId": "T842EE571-4490-4AFE-9F17-931030D3B4F9",
    "diskIds": [
      "862857204414550690"
    ],
    "orderNumber": "862857208122313378"
  }
}

5. 开发者工具

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

6. 错误码

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

HTTP状态码
错误码
说明

400

INVALID_ILLEGAL_DISK_SIZE

云硬盘大小超出最大(小)值限制。

404

INVALID_ZONE_NOT_FOUND

指定的区域不存在。

400

LIMIT_EXCEEDED_INSTANCE_CAN_ATTACH

超出实例可挂载云硬盘的最大数量。

404

INVALID_INSTANCE_NOT_FOUND

需要挂载的实例不存在。

400

INVALID_INSTANCE_OR_ZONE_CANNOT_BE_BOTH_EMPTY

实例和区域不能同时为空。

400

INVALID_CHARGE_PREPAID_CAN_NOT_BE_NULL

预付费类型下缺少付费模式参数。

400

INVALID_CHARGE_TYPE

无效的计费类型。

400

INVALID_DISK_CATEGORY_ZONE_NO_SELL

指定的云硬盘种类在指定的区域未开售。

400

INVALID_DISK_CATEGORY_ZONE_NOT_SUPPORT

指定的云硬盘种类在指定的区域不支持。

最后更新于