更新时间:2024-03-25 GMT+08:00

创建云硬盘

功能介绍

创建一个或多个云硬盘。

URI

  • URI格式

    POST /v2/{project_id}/cloudvolumes

  • 参数说明

    参数

    是否必选

    描述

    project_id

    项目ID。

    获取方法请参见获取项目ID

请求消息

  • 请求参数

    参数

    参数类型

    是否必选

    描述

    volume

    Object

    待创建的云硬盘信息,请参见•volume参数说明

  • volume参数说明

    参数

    参数类型

    是否必选

    描述

    backup_id

    String

    备份ID,从备份创建云硬盘时为必选。

    说明:

    获取备份ID的方法:请参见“云硬盘备份API参考 > 查询备份详细信息列表(OpenStack原生)”。

    availability_zone

    String

    指定要创建云硬盘的所属AZ,若指定的AZ不存在,则创建云硬盘失败。

    说明:

    获取AZ的方法:请参考查询所有的可用分区信息获取。

    description

    String

    云硬盘的描述。最大支持255个字节。

    size

    Integer

    云硬盘大小,单位为GB,其限制如下:
    • 系统盘:1GB-1024GB
    • 数据盘:10GB-32768GB

    创建空白云硬盘,size为必选,请在范围内根据需求自定义。

    从快照创建云硬盘时,size为必选,且云硬盘大小不能小于快照大小。

    从镜像创建云硬盘时,size为必选,且云硬盘大小不小于镜像属性中min_disk要求的最小云硬盘容量。

    从备份创建云硬盘时,size为可选,不指定size时,云硬盘大小和备份大小一致。

    说明:

    如果发送请求时,将参数值设置为小数,则默认取小数点前的整数。

    name

    String

    云硬盘名称。

    • 如果为创建单个云硬盘,name为云硬盘名称。最大支持255个字节。
    • 创建的云硬盘数量(count字段对应的值)大于1时,为区分不同云硬盘,创建过程中系统会自动在名称后加“-0000”的类似标记。例如:volume-0001、volume-0002。最大支持250个字节。

    snapshot_id

    String

    快照ID,指定该参数表示创建云硬盘方式为从快照创建云硬盘。

    说明:

    获取快照ID的方法:请参见查询云硬盘快照详细信息列表

    imageRef

    String

    IMS中镜像ID,指定该参数表示创建云硬盘方式为从镜像创建云硬盘。

    说明:

    不支持通过BMS的镜像创建BMS系统盘。

    获取镜像ID的方法:请参见“镜像服务API参考 > 查询镜像列表”。

    volume_type

    String

    云硬盘类型。

    目前支持“SATA”“SSD”
    • “SSD”为超高IO云硬盘
    • “SATA”为普通IO云硬盘

    当指定的云硬盘类型在availability_zone内不存在时,则创建云硬盘失败。

    说明:
    • 从快照创建云硬盘时,volume_type字段必须和快照源云硬盘保持一致。
    • 了解不同磁盘类型的详细信息,请参见“云硬盘用户指南 > 磁盘类型及性能介绍”。

    count

    Integer

    批量创云硬盘的个数。如果无该参数,表明只创建1个云硬盘,目前最多支持批量创建100个。

    从备份创建云硬盘时,不支持批量创建,数量只能为“1”

    说明:

    如果发送请求时,将参数值设置为小数,则默认取小数点前的整数。

    shareable

    String

    是否为共享云硬盘。true为共享盘,false为普通云硬盘。

    说明:

    该字段已经废弃,请使用multiattach。

    metadata

    Map<String,String>

    创建云硬盘的metadata信息

    可选参数如下:

    metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。

    说明:

    __system__encrypted: metadata中的表示加密功能的字段,0代表不加密,1代表加密。不指定该字段时,云硬盘的加密属性与数据源保持一致,如果不是从数据源创建的场景,则默认不加密。

    full_clone: 从快照创建云硬盘时,如需使用link克隆方式,请指定该字段的值为0。

    hw:passthrough:

    • true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。
    • false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。
    • 该字段不存在时,云硬盘默认为VBD类型。

    multiattach

    Boolean

    创建共享云硬盘的信息。默认值为false。
    • true:表示为共享云硬盘。
    • false:表示为非共享云硬盘。

    tags

    Object

    创建云硬盘的时候,给云硬盘绑定标签。

    单个云硬盘最多可以创建10个标签。

    标签的key需要唯一。重复的key会做去重操作,即如果有重复的key,最终只保留一个作为有效的标签。

    • 标签的key:String类型,最大长度36个字符。

      字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。

    • 标签的value:String类型,每个值最大长度43个字符,可以为空字符串。

      字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。

    不支持同时使用“backup_id”“snapshot_id”“imageRef”这三个字段中的任意两个。

  • 请求样例
    {
        "volume": {
            "backup_id": null, 
            "count": 1, 
            "availability_zone": "az-dc-1", 
            "description": "test_volume_1", 
            "size": 120, 
            "name": "test_volume_1", 
            "volume_type": "SSD", 
            "metadata": {
                "__system__encrypted": "1", 
                "__system__cmkid": "37b0d52e-c249-40d6-83cb-2b93f22445bd"
            }
        }
    }

响应消息

  • 响应参数

    参数

    参数类型

    描述

    job_id

    String

    正常返回时返回的任务ID。

    说明:

    error

    Object

    出现错误时,返回的错误信息,具体请参见•error参数说明

  • error参数说明

    参数

    参数类型

    描述

    message

    String

    出现错误时,返回的错误消息。

    code

    String

    出现错误时,返回的错误码。

    错误码和其对应的含义请参考错误码

  • 响应样例
    {
        "job_id": "70a599e0-31e7-49b7-b260-868f441e862b"
    }

    {
        "error": {
            "message": "XXXX", 
            "code": "XXX"
        }
    }

状态码

  • 正常

    200

错误码

请参考错误码