Querying Details About All Disks

Function

This API is used to query details about all disks. It does not support enterprise project authorization.

URI

  • URI format

    GET /v3/{project_id}/volumes/detail

  • Parameter description

    Parameter

    Mandatory

    Description

    project_id

    Yes

    The project ID.

  • Request filter parameters

    Parameter

    Type

    Mandatory

    Description

    marker

    String

    No

    The ID of the resource from which the pagination query starts. It is the ID of the last resource on the previous page.

    name

    String

    No

    The disk name. The value can contain a maximum of 255 bytes.

    limit

    Integer

    No

    The maximum number of query results that can be returned.

    The value ranges from 1 to 1000, and the default value is 1000. The returned value cannot exceed this limit.

    If the tenant has more than 50 disks in total, you are advised to use this parameter and set its value to 50 to improve the query efficiency. Examples are provided as follows:

    GET /v3/xxx/volumes/detail?limit=50: Queries the 1-50 disks. GET /v3/xxx/volumes/detail?offset=50&limit=50: Queries the 51-100 disks.

    sort_key

    String

    No

    The keyword based on which the returned results are sorted. The value can be id, status, size, or created_at, and the default value is created_at.

    sort_dir

    String

    No

    The result sorting order. The default value is desc.

    • desc: the descending order

    • asc: the ascending order

    offset

    Integer

    No

    The query offset.

    All disks after this offset will be queried. The value must be an integer greater than 0 but less than the number of disks.

    status

    String

    No

    The disk status. For details, see EVS Disk Status.

    metadata

    String

    No

    The disk metadata.

    availability_zone

    String

    No

    The AZ information.

Request

The following example shows how to query details of the disks in the available state.

  • Example request

    GET https://{endpoint}/v3/{project_id}/volumes/detail?status=available
    

Response

  • Response parameters

    Parameter

    Type

    Description

    volumes

    list

    The list of queried disks. For details, see Parameters in the volumes field.

    volumes_links

    list

    The query position marker in the disk list. If only some disks are returned in this query, the URL of the last disk queried will be returned. You can use this URL to continue to query the remaining disks in the next query. For details, see Parameters in the links field.

    error

    Object

    The error message returned if an error occurs. For details, see Parameters in the error field.

  • Parameters in the volumes field

    Parameter

    Type

    Description

    id

    String

    The disk ID.

    links

    Array of objects

    The disk URI. For details, see Parameters in the links field.

    name

    String

    The disk name.

    status

    String

    The disk status. For details, see EVS Disk Status.

    attachments

    list

    The disk attachment information. For details, see Parameters in the attachments field.

    availability_zone

    String

    The AZ to which the disk belongs.

    os-vol-host-attr:host

    String

    The reserved field.

    source_volid

    String

    The source disk ID. This parameter has a value if the disk is created from a source disk.

    This field is currently not supported.

    snapshot_id

    String

    The snapshot ID. This parameter has a value if the disk is created from a snapshot.

    description

    String

    The disk description.

    created_at

    String

    The time when the disk was created.

    Time format: UTC YYYY-MM-DDTHH:MM:SS.XXXXXX

    volume_type

    String

    The disk type.

    The value can be ESSD, GPSSD, SSD, SAS, or SATA.

    • SSD: the ultra-high I/O type

    • SAS: the high I/O type

    • SATA: the common I/O type

    • GPSSD: the general purpose SSD type

    • ESSD: the extreme SSD type

    os-vol-tenant-attr:tenant_id

    String

    The ID of the tenant to which the disk belongs. The tenant ID is the same as the project ID.

    size

    Integer

    The disk size, in GB.

    metadata

    Object

    The disk metadata. For details, see Parameters in the metadata field.

    If metadata does not contain the hw:passthrough field, the disk device type is VBD.

    If metadata does not contain the __system__encrypted field, the disk is not encrypted.

    os-vol-mig-status-attr:migstat

    String

    The reserved field.

    os-vol-mig-status-attr:name_id

    String

    The reserved field.

    os-volume-replication:extended_status

    String

    The reserved field.

    encrypted

    Boolean

    This field is currently not supported.

    replication_status

    String

    The reserved field.

    user_id

    String

    The reserved field.

    consistencygroup_id

    String

    The reserved field.

    bootable

    String

    Whether the disk is bootable.

    • true: indicates a bootable disk.

    • false: indicates a non-bootable disk.

    updated_at

    String

    The time when the disk was updated.

    Time format: UTC YYYY-MM-DDTHH:MM:SS.XXXXXX

    shareable

    Boolean

    Whether the disk is shareable.

    Note

    This field is no longer used. Use multiattach.

    multiattach

    Boolean

    Whether the disk is shareable.

    • true: indicates a shared disk.

    • false: indicates a non-shared disk.

    volume_image_metadata

    Object

    The metadata of the disk image. This field has a value if the disk is created from an image. Or, it is left empty.

    Note

    For details about volume_image_metadata, see Querying Image Details (Native OpenStack API) in the Image Management Service API Reference.

  • Parameters in the links field

    Parameter

    Type

    Description

    href

    String

    The corresponding shortcut link.

    rel

    String

    The shortcut link marker name.

  • Parameters in the attachments field

    Parameter

    Type

    Description

    server_id

    String

    The ID of the server to which the disk is attached.

    attachment_id

    String

    The ID of the attachment information.

    attached_at

    String

    The time when the disk was attached.

    Time format: UTC YYYY-MM-DDTHH:MM:SS.XXXXXX

    host_name

    String

    The name of the physical host housing the cloud server to which the disk is attached.

    volume_id

    String

    The disk ID.

    device

    String

    The device name.

    id

    String

    The ID of the attached disk.

  • Parameters in the metadata field

    Parameter

    Type

    Description

    __system__encrypted

    String

    The encryption field in metadata.

    • 0: indicates a non-encrypted disk.

    • 1: indicates an encrypted disk.

    • If this parameter does not appear, the disk is not encrypted.

    __system__cmkid

    String

    The encryption CMK ID in metadata. This parameter is used together with __system__encrypted for encryption. The length of cmkid is fixed at 36 bytes.

    hw:passthrough

    String

    The parameter that describes the disk device type in metadata. The value can be true or false.

    • true indicates the SCSI device type, which allows ECS OSs to directly access the underlying storage media and support SCSI reservations commands.

    • false indicates the VBD device type (the default type), which supports only simple SCSI read/write commands.

    • If this parameter does not appear, the disk device type is VBD.

    full_clone

    String

    The clone method. If the disk is created from a snapshot, value 0 indicates the linked cloning method.

  • Parameters in the error field

    Parameter

    Type

    Description

    message

    String

    The error message returned if an error occurs.

    code

    String

    The error code returned if an error occurs.

    For details about the error code, see Error Codes.

  • Example response

    {
    
        "volumes": [
            {
                "attachments": [ ],
                "availability_zone": "az-dc-1",
                "bootable": "false",
                "consistencygroup_id": null,
                "created_at": "2016-05-25T02:42:10.856332",
                "description": null,
                "encrypted": false,
                "id": "b104b8db-170d-441b-897a-3c8ba9c5a214",
                "links": [
                    {
                        "href": "https://volume.localdomain.com:8776/v2/dd14c6ac581f40059e27f5320b60bf2f/volumes/b104b8db-170d-441b-897a-3c8ba9c5a214",
                        "rel": "self"
                    },
                    {
                        "href": "https://volume.localdomain.com:8776/dd14c6ac581f40059e27f5320b60bf2f/volumes/b104b8db-170d-441b-897a-3c8ba9c5a214",
                        "rel": "bookmark"
                    }
                ],
                "metadata": {},
                "name": "zjb_u25_test",
                "os-vol-host-attr:host": "pod01.xxx#SAS",
                "volume_image_metadata": { },
                "os-vol-mig-status-attr:migstat": null,
                "os-vol-mig-status-attr:name_id": null,
                "os-vol-tenant-attr:tenant_id": "dd14c6ac581f40059e27f5320b60bf2f",
                "os-volume-replication:driver_data": null,
                "replication_status": "disabled",
                "multiattach": false,
                "size": 1,
                "snapshot_id": null,
                "source_volid": null,
                "status": "available",
                "updated_at": "2016-05-25T02:42:22.341984",
                "user_id": "b0524e8342084ef5b74f158f78fc3049",
                "volume_type": "SAS"
            }
        ],
        "volumes_links": [
            {
                "href": "https://volume.localdomain.com:8776/v2/dd14c6ac581f40059e27f5320b60bf2f/volumes/detail?limit=1&marker=b104b8db-170d-441b-897a-3c8ba9c5a214",
                "rel": "next"
            }
        ]
    }
    

    or

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

    In the preceding example, error indicates a general error, for example, badrequest or itemNotFound. An example is provided as follows:

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

Status Codes

  • Normal

    200

Error Codes

For details, see Error Codes.