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 /v2/{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 /v2/xxx/volumes/detail?limit=50: Queries the 1-50 disks. GET /v2/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}/v2/{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
list<map<String,String>>
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.
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 ID of the consistency group where the disk belongs.
This field is currently not supported.
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
String
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:extended_status": 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.