创建云硬盘

最近更新时间:2019-05-09 17:18:08

1. 接口描述

接口请求域名: cbs.tencentcloudapi.com 。

本接口(CreateDisks)用于创建云硬盘。

  • 预付费云盘的购买会预先扣除本次云盘购买所需金额,在调用本接口前请确保账户余额充足。
  • 本接口支持传入数据盘快照来创建云盘,实现将快照数据复制到新购云盘上。
  • 本接口为异步接口,当创建请求下发成功后会返回一个新建的云盘ID列表,此时云盘的创建并未立即完成。可以通过调用DescribeDisks接口根据DiskId查询对应云盘,如果能查到云盘,且状态为'UNATTACHED'或'ATTACHED',则表示创建成功。

默认接口请求频率限制:20次/秒。

注意:本接口支持金融区地域。由于金融区和非金融区是隔离不互通的,因此当公共参数 Region 为金融区地域(例如 ap-shanghai-fsi)时,需要同时指定带金融区地域的域名,最好和 Region 的地域保持一致,例如:cbs.ap-shanghai-fsi.tencentcloudapi.com。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateDisks
Version String 公共参数,本接口取值:2017-03-12
Region String 公共参数,详见产品支持的 地域列表
DiskType String 硬盘介质类型。取值范围:
  • CLOUD_BASIC:表示普通云硬盘
  • CLOUD_PREMIUM:表示高性能云硬盘
  • CLOUD_SSD:表示SSD云硬盘。
  • DiskChargeType String 云硬盘计费类型。
  • PREPAID:预付费,即包年包月
  • POSTPAID_BY_HOUR:按小时后付费
  • CDCPAID:独享集群付费
    各类型价格请参考云硬盘价格总览
  • Placement Placement 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目。若不指定项目,将在默认项目下进行创建。
    DiskName String 云盘显示名称。不传则默认为“未命名”。最大长度不能超60个字节。
    DiskCount Integer 创建云硬盘数量,不传则默认为1。单次请求最多可创建的云盘数有限制,具体参见云硬盘使用限制
    DiskChargePrepaid DiskChargePrepaid 预付费模式,即包年包月相关参数设置。通过该参数指定包年包月云盘的购买时长、是否设置自动续费等属性。
    创建预付费云盘该参数必传,创建按小时后付费云盘无需传该参数。
    DiskSize Integer 云硬盘大小,单位为GB。
  • 如果传入SnapshotId则可不传DiskSize,此时新建云盘的大小为快照大小
  • 如果传入SnapshotId同时传入DiskSize,则云盘大小必须大于或等于快照大小
  • 云盘大小取值范围参见云硬盘产品分类的说明。
  • SnapshotId String 快照ID,如果传入则根据此快照创建云硬盘,快照类型必须为数据盘快照,可通过DescribeSnapshots接口查询快照,见输出参数DiskUsage解释。
    ClientToken String 用于保证请求幂等性的字符串。该字符串由客户生成,需保证不同请求之间唯一,最大值不超过64个ASCII字符。若不指定该参数,则无法保证请求的幂等性。
    Encrypt String 传入该参数用于创建加密云盘,取值固定为ENCRYPT。
    Tags.N Array of Tag 云盘绑定的标签。
    DeleteWithInstance Boolean 可选参数。传入True时,新创建的云盘将设置为随云主机销毁模式,仅对按量计费云硬盘有效。
    Shareable Boolean 可选参数,默认为False。传入True时,云盘将创建为共享型云盘。

    3. 输出参数

    参数名称 类型 描述
    DiskIdSet Array of String 创建的云硬盘ID列表。
    RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

    4. 示例

    示例1 使用基本参数购买

    新购云盘具体配置如下:云盘所在位置为广州二区,云盘大小50GB,云盘类型为普通云盘,所属项目ID为0,付费模式为预付费,购买时长1个月,通知过期且自动续费。

    输入示例

    https://cbs.tencentcloudapi.com/?Action=CreateDisks
    &DiskType=CLOUD_BASIC
    &DiskCount=1
    &DiskSize=50
    &Placement.Zone=ap-guangzhou-2
    &Placement.ProjectId=0
    &DiskChargeType=PREPAID
    &DiskChargePrepaid.Period=1
    &DiskChargePrepaid.RenewFlag=NOTIFY_AND_AUTO_RENEW
    &<公共请求参数>

    输出示例

    {
      "Response": {
        "DiskIdSet": [
          "disk-lzrg2pwi"
        ],
        "RequestId": "6a57da9a-2049-7182-2de3-5a1f8014ccfd"
      }
    }

    示例2 根据快照新建云硬盘

    传入快照创建云硬盘,未传DiskSize参数,此时新购云盘的大小为快照大小,新购云盘复制了快照数据。

    输入示例

    https://cbs.tencentcloudapi.com/?Action=CreateDisks
    &DiskType=CLOUD_BASIC
    &DiskCount=1
    &SnapshotId=snap-iepc4w3h
    &Placement.Zone=ap-guangzhou-2
    &Placement.ProjectId=0
    &DiskChargeType=PREPAID
    &DiskChargePrepaid.Period=1
    &DiskChargePrepaid.RenewFlag=NOTIFY_AND_AUTO_RENEW
    &<公共请求参数>

    输出示例

    {
      "Response": {
        "DiskIdSet": [
          "disk-6rz0ilvu"
        ],
        "RequestId": "5e93a212-ca01-0fdc-eedd-5a1fce5e83e6"
      }
    }

    示例3 创建按小时后付费云盘

    在广州三区创建一块云硬盘,云盘类型为高性能云硬盘,大小100GB,付费类型为按小时后付费。

    输入示例

    https://cbs.tencentcloudapi.com/?Action=CreateDisks
    &DiskType=CLOUD_PREMIUM
    &DiskCount=1
    &Placement.Zone=ap-guangzhou-3
    &Placement.ProjectId=0
    &DiskChargeType=POSTPAID_BY_HOUR
    &DiskName=postPayDisk
    &DiskSize=100
    &<公共请求参数>

    输出示例

    {
      "Response": {
        "DiskIdSet": [
          "disk-ecjc4cpw"
        ],
        "RequestId": "fe2274fa-eaec-4009-807b-6ffc00963fec"
      }
    }

    5. 开发者资源

    API Explorer

    该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。

    SDK

    云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

    命令行工具

    6. 错误码

    以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

    错误码 描述
    InvalidParameter.DiskConfigNotSupported 当前地域不支持当前配置的云盘。
    InvalidParameterValue 无效参数值。参数值格式错误或者参数值不被支持等。
    MissingParameter 参数缺失。请求没有带必选参数。
    ResourceInsufficient 资源不足
    TradeDealConflict 订单冲突。
    UnauthorizedOperation 未授权操作