更新时间:2022-02-22 GMT+08:00

创建云硬盘

功能介绍

创建云硬盘。

URI

  • URI格式

    POST /v2/{project_id}/volumes

  • 参数说明

    参数

    是否必选

    描述

    project_id

    项目ID。

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

请求消息

  • 请求参数

    参数

    参数类型

    是否必选

    描述

    volume

    Object

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

  • volume参数说明

    参数

    参数类型

    是否必选

    描述

    availability_zone

    String

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

    说明:

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

    source_volid

    String

    源云硬盘ID,指定该参数表示创建云硬盘方式为从源云硬盘克隆。当前云硬盘服务不支持该功能。

    description

    String

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

    snapshot_id

    String

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

    说明:

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

    size

    Integer

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

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

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

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

    name

    String

    云硬盘名称。最大支持255个字节。

    imageRef

    String

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

    volume_type

    String

    云硬盘类型。

    目前支持“SSD”和“SAS”。
    • “SSD”为超高IO云硬盘
    • “SAS”为高IO云硬盘

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

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

    metadata

    Object

    云硬盘的metadata数据,metadata中的key和value长度不大于255个字节

    “metadata”字段信息说明请参见“metadata字段说明”表格,表格中列举了部分字段,您还可以根据创建磁盘的要求输入其他字段,请参见•metadata参数说明

    说明:

    metadata里面不能有value为null的键值对。

    source_replica

    String

    该参数表示从磁盘的克隆来创建云硬盘,当前云硬盘服务不支持该功能。

    consistencygroup_id

    String

    预留属性。

    shareable

    String

    扩展属性:共享云硬盘标志位,true为共享盘,false为普通云硬盘。当前云硬盘服务不支持该字段。

    说明:

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

    multiattach

    Boolean

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

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

  • metadata参数说明

    参数

    参数类型

    是否必选

    描述

    hw:passthrough

    String

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

      当shareable参数值设置为true,不指定hw:passthrough参数值时,创建的云硬盘为VBD类型共享云硬盘。

    full_clone

    String

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

    以上表格中仅提供了部分“metadata”字段信息说明供您参考,您还可以根据创建磁盘的要求输入其他字段。

    • 如果是从快照创建云硬盘,则不支持传入“hw:passthrough”字段,创建出来的云硬盘的设备类型与快照源云硬盘保持一致。
    • 如果是从镜像创建云硬盘,则不支持传入“hw:passthrough”字段,创建出来的云硬盘的设备类型为VBD类型。
  • 请求样例
    {
        "volume": {
            "name": "openapi_vol01", 
            "imageRef": "027cf713-45a6-45f0-ac1b-0ccc57ac12e2", 
            "availability_zone": "az-dc-1", 
            "description": "create for api test", 
            "volume_type": "SATA", 
            "metadata": {
                "volume_owner": "openapi"
            },  
            "multiattach": false, 
            "size": 40
        }, 
    }

响应消息

  • 响应参数

    参数

    参数类型

    描述

    volume

    Object

    创建出来的云硬盘,请参见•volumes参数说明

    error

    Object

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

  • volumes参数说明

    参数

    参数类型

    描述

    id

    String

    云硬盘ID。

    links

    list

    云硬盘URI自描述信息,请参见•links参数说明

    name

    String

    云硬盘名称。

    status

    String

    云硬盘状态,具体请参见云硬盘状态

    attachments

    list

    挂载信息,请参见•attachments参数说明

    availability_zone

    String

    云硬盘所属AZ。

    bootable

    String

    是否为启动云硬盘。
    • true:表示为启动云硬盘。
    • false:表示为非启动云硬盘。

    encrypted

    Boolean

    当前云硬盘服务不支持该字段。

    created_at

    String

    创建云硬盘的时间。

    时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX

    description

    String

    云硬盘描述。

    volume_type

    String

    云硬盘类型。

    目前支持“SSD”和“SAS”。
    • “SSD”为超高IO云硬盘
    • “SAS”为高IO云硬盘

    replication_status

    String

    预留属性。

    consistencygroup_id

    String

    所属一致性组ID。

    当前云硬盘服务不支持该字段。

    source_volid

    String

    源云硬盘ID。

    当前云硬盘服务不支持该字段。

    snapshot_id

    String

    快照ID。

    metadata

    Object

    元数据,请参见•metadata参数说明

    size

    Integer

    云硬盘大小,单位为GB。

    user_id

    String

    预留属性。

    updated_at

    String

    云硬盘更新时间。

    时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX

    shareable

    Boolean

    是否为可共享云硬盘。

    说明:

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

    multiattach

    Boolean

    是否为共享云硬盘。
    • true:表示为共享云硬盘。
    • false:表示为非共享云硬盘。
  • links参数说明

    参数

    参数类型

    描述

    href

    String

    对应的快捷链接。

    rel

    String

    快捷链接标记名称。

  • attachments参数说明

    参数

    参数类型

    描述

    server_id

    String

    云硬盘挂载到的云服务器的ID。

    attachment_id

    String

    挂载信息对应的ID。

    attached_at

    String

    挂载的时间信息。

    时间格式:UTC YYYY-MM-DDTHH:MM:SS.XXXXXX

    host_name

    String

    云硬盘挂载到的云服务器对应的物理主机的名称。

    volume_id

    String

    云硬盘ID。

    device

    String

    挂载点。

    id

    String

    挂载的资源ID。

  • metadata参数说明

    参数

    参数类型

    描述

    full_clone

    String

    从快照创建云硬盘时,字段的值为0表示使用link克隆方式。

  • error参数说明

    参数

    参数类型

    描述

    message

    String

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

    code

    String

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

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

  • 响应样例
    {
        "volume": {
            "attachments": [ ], 
            "availability_zone": "az-dc-1", 
            "bootable": "false", 
            "consistencygroup_id": null, 
            "created_at": "2016-05-25T02:38:40.392463", 
            "description": "create for api test", 
            "encrypted": false, 
            "id": "8dd7c486-8e9f-49fe-bceb-26aa7e312b66", 
            "links": [
                {
                    "href": "https://volume.localdomain.com:8776/v2/5dd0b0056f3d47b6ab4121667d35621a/volumes/8dd7c486-8e9f-49fe-bceb-26aa7e312b66", 
                    "rel": "self"
                }, 
                {
                    "href": "https://volume.localdomain.com:8776/5dd0b0056f3d47b6ab4121667d35621a/volumes/8dd7c486-8e9f-49fe-bceb-26aa7e312b66", 
                    "rel": "bookmark"
                }
            ], 
            "metadata": {
                "volume_owner": "openapi"
            }, 
            "name": "openapi_vol01", 
            "replication_status": "disabled", 
            "multiattach": false, 
            "size": 40, 
            "snapshot_id": null, 
            "source_volid": null, 
            "status": "creating", 
            "updated_at": null, 
            "user_id": "39f6696ae23740708d0f358a253c2637", 
            "volume_type": "SATA"
        }
    }

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

    其中error是泛指的错误,有badRequest、itemNotFound等,如报错为:

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

状态码

  • 正常

    202

错误码

请参考错误码说明