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

将云硬盘导出为镜像

功能介绍

将系统盘或数据盘的数据导出为IMS镜像,导出的镜像在IMS的私有镜像列表中可以查看并使用。

接口约束

如果云硬盘处于“in-use”状态,那么在调用该接口时需要将云硬盘所挂载的云服务器关机。对于共享盘,需要关闭所有挂载的云服务器。

URI

  • URI格式

    POST /v2/{project_id}/volumes/{volume_id}/action

  • 参数说明

    参数

    是否必选

    描述

    project_id

    项目ID。

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

    volume_id

    云硬盘ID。

请求消息

  • 请求参数

    参数

    参数类型

    是否必选

    描述

    os-volume_upload_image

    Object

    标记将云硬盘导出为镜像的操作,请参见•os-volume_upload_image参数说明

  • os-volume_upload_image参数说明

    参数

    参数类型

    是否必选

    描述

    disk_format

    String

    云硬盘导出镜像的格式。

    目前支持vhd、zvhd、zvhd2、raw、qcow2。默认是zvhd2。

    image_name

    String

    云硬盘导出镜像的名称。
    • 名称的首尾字母不能为空格。
    • 名称的长度范围为1~128位。
    • 名称包含以下字符:大写字母、小写字母、中文、数字、特殊字符包含“-”、“.”、“_”和空格。

    force

    Boolean

    强制导出镜像的标示,默认值是false。

    • 当force标记为false时,云硬盘处于正在使用状态时,不能强制导出镜像。
    • 当force标记为true时,即使云硬盘处于正在使用状态时,仍可以导出镜像。

    container_format

    String

    云硬盘导出镜像的容器类型。

    目前支持ami、ari、aki、ovf、bare。默认是bare。

    __os_type

    String

    云硬盘导出镜像的系统类型。目前只支持“windows”和“linux”,默认值是“linux”。

    说明:
    • 参数名“os”前面为两个“_”,“os”后面为一个“_”。
    • 只有云硬盘的volume_image_metadata信息中无“__os_type”字段且云硬盘状态为“available”时,设置的__os_type才会生效。
    • 如果不传递该参数,则使用默认的“linux”值作为镜像的系统类型。
  • 请求样例
    {
        "os-volume_upload_image": {
            "image_name": "sxmatch2", 
            "force": true, 
            "container_format": "bare", 
            "disk_format": "vhd",
            "__os_type": "linux"
        }
    }

响应消息

  • 响应参数

    参数

    参数类型

    描述

    os-volume_upload_image

    Object

    标记将云硬盘导出为镜像的操作,请参见•os-volume_upload_image参...

    error

    Object

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

  • os-volume_upload_image参数说明

    参数

    参数类型

    描述

    status

    String

    云硬盘导出镜像后的状态,正常值为“uploading”。

    image_id

    String

    云硬盘导出镜像的ID。

    image_name

    String

    云硬盘导出镜像的名称。

    volume_type

    Object

    云硬盘类型的信息,请参见•volume_type参数说明

    container_format

    String

    云硬盘导出镜像的容器类型。

    目前支持ami、ari、aki、ovf、bare。默认是bare。

    size

    Integer

    云硬盘容量,单位为GB。

    disk_format

    String

    云硬盘导出镜像的格式。

    目前支持vhd、zvhd、zvhd2、raw、qcow2。默认是vhd。

    id

    String

    云硬盘ID。

    display_description

    String

    云硬盘描述信息。

    updated_at

    String

    云硬盘更新时间。

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

  • volume_type参数说明

    参数

    参数类型

    描述

    id

    String

    云硬盘类型ID。

    name

    String

    云硬盘类型名称。

    deleted

    Boolean

    云硬盘类型是否被删除标识。

    is_public

    Boolean

    预留属性。

    extra_spec

    Object

    云硬盘类型的规格,请参见•extra_specs参数说明

    description

    Integer

    云硬盘类型的描述信息。

    created_at

    String

    云硬盘类型的创建时间。

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

    updated_at

    String

    云硬盘类型的更新时间。

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

    deleted_at

    String

    云硬盘类型的删除时间。

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

  • extra_specs参数说明

    参数

    参数类型

    描述

    volume_backend_name

    String

    预留属性。

    availability-zone

    String

    预留属性。

    HW:availability_zone

    String

    预留属性。

  • error参数说明

    参数

    参数类型

    描述

    message

    String

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

    code

    String

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

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

  • 响应样例
    {
        "os-volume_upload_image": {
            "status": "uploading", 
            "size": 40, 
            "id": "16369c5d-384d-4e64-b37a-56d898769362", 
            "image_id": "c5333daa-fbc8-4d1d-bf79-b0567bb45d15", 
            "image_name": "evs-ims-test1027", 
            "volume_type": {
                "description": "None", 
                "deleted": false, 
                "created_at": "2015-05-24T14:47:22.132268", 
                "updated_at": "2017-07-29T11:29:33.730076", 
                "extra_specs": {
                    "volume_backend_name": "<or> iaas blockstorage_SAS <or> iaas blockstorage_SAS <or> iaas blockstoragesas", 
                    "XX:availability_zone": "az-dc-1"
                }, 
                "is_public": true, 
                "deleted_at": null, 
                "id": "8247b6ed-37f0-4c48-8ef1-f0027fb332bc", 
                "name": "SAS"
            }, 
            "container_format": "bare", 
            "disk_format": "vhd", 
            "display_description": "", 
            "updated_at": "2018-01-11T01:50:25.800931"
        }
    }
    或者
    {
        "error": {
            "message": "XXXX", 
            "code": "XXX"
        }
    }
    其中error是泛指的错误,有badRequest、itemNotFound等,如报错:
    {
        "itemNotFound": {
            "message": "XXXX", 
            "code": "XXX"
        }
    }

状态码

  • 正常

    202

错误码

请参考错误码