Block Storage¶
Note
attachments¶
Lists all, lists all with details, shows details for, creates, and deletes attachment.
Note: Everything except for Complete attachment is new as of the 3.27 microversion. Complete attachment is new as of the 3.44 microversion.
When you create, list, update, or delete attachment, the possible status values are:
attached: A volume is attached for the attachment.
attaching: A volume is attaching for the attachment.
detached: A volume is detached for the attachment.
reserved: A volume is reserved for the attachment.
error_attaching: A volume is error attaching for the attachment.
error_detaching: A volume is error detaching for the attachment.
deleted: The attachment is deleted.
Creates an attachment.
Available starting in the 3.27 microversion.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
attachment |
body |
object |
An attachment object. |
attachment.attach_mode |
body |
string |
The attach mode of attachment, read-only (‘ro’) or
read-and-write (‘rw’), default is ‘rw’. |
attachment.attached_at |
body |
string |
The time when attachment is attached. |
attachment.connection_info |
body |
object |
The connection info used for server to connect the volume. |
attachment.detached_at |
body |
string |
The time when attachment is detached. |
attachment.id |
body |
string |
The ID of attachment. |
attachment.instance |
body |
[‘string’, ‘null’] |
The UUID of the attaching instance. |
attachment.volume_id |
body |
string |
The UUID of the volume which the attachment belongs to. |
attachment.status |
body |
string |
The status of the attachment. |
404¶
Error
Return data about the given attachment.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
attachment |
body |
object |
An attachment object. |
attachment.attach_mode |
body |
string |
The attach mode of attachment, read-only (‘ro’) or
read-and-write (‘rw’), default is ‘rw’. |
attachment.attached_at |
body |
string |
The time when attachment is attached. |
attachment.connection_info |
body |
object |
The connection info used for server to connect the volume. |
attachment.detached_at |
body |
string |
The time when attachment is detached. |
attachment.id |
body |
string |
The ID of attachment. |
attachment.instance |
body |
[‘string’, ‘null’] |
The UUID of the attaching instance. |
attachment.volume_id |
body |
string |
The UUID of the volume which the attachment belongs to. |
attachment.status |
body |
string |
The status of the attachment. |
404¶
Error
Update an attachment record.
Update a reserved attachment record with connector information and set up the appropriate connection_info from the driver.
Expected format of the input parameter ‘body’:
{
"attachment":
{
"connector":
{
"initiator": "iqn.1993-08.org.debian:01:cad181614cec",
"ip": "192.168.1.20",
"platform": "x86_64",
"host": "tempest-1",
"os_type": "linux2",
"multipath": false,
"mountpoint": "/dev/vdb",
"mode": "None|rw|ro"
}
}
}
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
attachment |
body |
object |
An attachment object. |
attachment.attach_mode |
body |
string |
The attach mode of attachment, read-only (‘ro’) or
read-and-write (‘rw’), default is ‘rw’. |
attachment.attached_at |
body |
string |
The time when attachment is attached. |
attachment.connection_info |
body |
object |
The connection info used for server to connect the volume. |
attachment.detached_at |
body |
string |
The time when attachment is detached. |
attachment.id |
body |
string |
The ID of attachment. |
attachment.instance |
body |
[‘string’, ‘null’] |
The UUID of the attaching instance. |
attachment.volume_id |
body |
string |
The UUID of the volume which the attachment belongs to. |
attachment.status |
body |
string |
The status of the attachment. |
404¶
Error
Create an attachment.
This method can be used to create an empty attachment (reserve) or to create and initialize a volume attachment based on the provided input parameters.
If the caller does not yet have the connector information but needs to reserve an attachment for the volume (ie Nova BootFromVolume) the create can be called with just the volume-uuid and the server identifier. This will reserve an attachment, mark the volume as reserved and prevent any new attachment_create calls from being made until the attachment is updated (completed).
The alternative is that the connection can be reserved and initialized all at once with a single call if the caller has all of the required information (connector data) at the time of the call.
NOTE: In Nova terms server == instance, the server_id parameter referenced below is the UUID of the Instance, for non-nova consumers this can be a server UUID or some other arbitrary unique identifier.
Starting from microversion 3.54, we can pass the attach mode as argument in the request body.
Expected format of the input parameter ‘body’:
{
"attachment":
{
"volume_uuid": "volume-uuid",
"instance_uuid": "null|nova-server-uuid",
"connector": "null|<connector-object>",
"mode": "null|rw|ro"
}
}
Example connector:
{
"connector":
{
"initiator": "iqn.1993-08.org.debian:01:cad181614cec",
"ip": "192.168.1.20",
"platform": "x86_64",
"host": "tempest-1",
"os_type": "linux2",
"multipath": false,
"mountpoint": "/dev/vdb",
"mode": "null|rw|ro"
}
}
NOTE all that’s required for a reserve is volume_uuid and an instance_uuid.
returns: A summary view of the attachment object
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
attachment |
body |
object |
An attachment object. |
attachment.attach_mode |
body |
string |
The attach mode of attachment, read-only (‘ro’) or
read-and-write (‘rw’), default is ‘rw’. |
attachment.attached_at |
body |
string |
The time when attachment is attached. |
attachment.connection_info |
body |
object |
The connection info used for server to connect the volume. |
attachment.detached_at |
body |
string |
The time when attachment is detached. |
attachment.id |
body |
string |
The ID of attachment. |
attachment.instance |
body |
[‘string’, ‘null’] |
The UUID of the attaching instance. |
attachment.volume_id |
body |
string |
The UUID of the volume which the attachment belongs to. |
attachment.status |
body |
string |
The status of the attachment. |
404¶
Error
Return data about the given attachment.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
attachment |
body |
object |
An attachment object. |
attachment.attach_mode |
body |
string |
The attach mode of attachment, read-only (‘ro’) or
read-and-write (‘rw’), default is ‘rw’. |
attachment.attached_at |
body |
string |
The time when attachment is attached. |
attachment.connection_info |
body |
object |
The connection info used for server to connect the volume. |
attachment.detached_at |
body |
string |
The time when attachment is detached. |
attachment.id |
body |
string |
The ID of attachment. |
attachment.instance |
body |
[‘string’, ‘null’] |
The UUID of the attaching instance. |
attachment.volume_id |
body |
string |
The UUID of the volume which the attachment belongs to. |
attachment.status |
body |
string |
The status of the attachment. |
404¶
Error
Update an attachment record.
Update a reserved attachment record with connector information and set up the appropriate connection_info from the driver.
Expected format of the input parameter ‘body’:
{
"attachment":
{
"connector":
{
"initiator": "iqn.1993-08.org.debian:01:cad181614cec",
"ip": "192.168.1.20",
"platform": "x86_64",
"host": "tempest-1",
"os_type": "linux2",
"multipath": false,
"mountpoint": "/dev/vdb",
"mode": "None|rw|ro"
}
}
}
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
attachment |
body |
object |
An attachment object. |
attachment.attach_mode |
body |
string |
The attach mode of attachment, read-only (‘ro’) or
read-and-write (‘rw’), default is ‘rw’. |
attachment.attached_at |
body |
string |
The time when attachment is attached. |
attachment.connection_info |
body |
object |
The connection info used for server to connect the volume. |
attachment.detached_at |
body |
string |
The time when attachment is detached. |
attachment.id |
body |
string |
The ID of attachment. |
attachment.instance |
body |
[‘string’, ‘null’] |
The UUID of the attaching instance. |
attachment.volume_id |
body |
string |
The UUID of the volume which the attachment belongs to. |
attachment.status |
body |
string |
The status of the attachment. |
404¶
Error
backups¶
A backup is a full copy of a volume stored in an external service. The service can be configured. The only supported service is Object Storage. A backup can subsequently be restored from the external service to either the same volume that the backup was originally taken from or to a new volume.
When you create, list, or delete backups, these status values are possible:
creating: The backup is being created.
available: The backup is ready to restore to a volume.
deleting: The backup is being deleted.
error: A backup error occurred.
restoring: The backup is being restored to a volume.
error_deleting: An error occurred while deleting the backup.
If an error occurs, you can find more information about the error in the fail_reason field for the backup.
Creates a Block Storage backup from a volume or snapshot.
The status of the volume must be available
or if the force
flag is
used, backups of in-use
volumes may also be created.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
backup |
body |
object |
A |
backup.availability_zone |
body |
string |
The name of the availability zone. |
backup.container |
body |
[‘string’, ‘null’] |
The container name or null. |
backup.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 |
backup.data_timestamp |
body |
string |
The time when the data on the volume was first saved. If it is a backup from volume, it will be the same as created_at for a backup. If it is a backup from a snapshot, it will be the same as created_at for the snapshot. |
backup.description |
body |
[‘string’, ‘null’] |
The backup description or null. |
backup.fail_reason |
body |
[‘string’, ‘null’] |
If the backup failed, the reason for the failure. Otherwise, null. |
backup.has_dependent_backups |
body |
boolean |
If this value is true, there are other backups depending on this backup. |
backup.id |
body |
string |
The UUID of the backup. |
backup.is_incremental |
body |
boolean |
Indicates whether the backup mode is incremental. If this value is true, the backup mode is incremental. If this value is false, the backup mode is full. |
backup.metadata |
body |
object |
The backup metadata key value pairs. New in version 3.43 |
backup.name |
body |
[‘string’, ‘null’] |
The backup name. |
backup.object_count |
body |
integer |
The number of objects in the backup. |
backup.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
backup.snapshot_id |
body |
[‘string’, ‘null’] |
The UUID of the source volume snapshot. |
backup.status |
body |
string |
The backup status. Refer to Backup statuses table for the possible status value. |
backup.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 |
backup.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Return data about the given backup.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
backup |
body |
object |
A |
backup.availability_zone |
body |
string |
The name of the availability zone. |
backup.container |
body |
[‘string’, ‘null’] |
The container name or null. |
backup.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 |
backup.data_timestamp |
body |
string |
The time when the data on the volume was first saved. If it is a backup from volume, it will be the same as created_at for a backup. If it is a backup from a snapshot, it will be the same as created_at for the snapshot. |
backup.description |
body |
[‘string’, ‘null’] |
The backup description or null. |
backup.fail_reason |
body |
[‘string’, ‘null’] |
If the backup failed, the reason for the failure. Otherwise, null. |
backup.has_dependent_backups |
body |
boolean |
If this value is true, there are other backups depending on this backup. |
backup.id |
body |
string |
The UUID of the backup. |
backup.is_incremental |
body |
boolean |
Indicates whether the backup mode is incremental. If this value is true, the backup mode is incremental. If this value is false, the backup mode is full. |
backup.metadata |
body |
object |
The backup metadata key value pairs. New in version 3.43 |
backup.name |
body |
[‘string’, ‘null’] |
The backup name. |
backup.object_count |
body |
integer |
The number of objects in the backup. |
backup.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
backup.snapshot_id |
body |
[‘string’, ‘null’] |
The UUID of the source volume snapshot. |
backup.status |
body |
string |
The backup status. Refer to Backup statuses table for the possible status value. |
backup.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 |
backup.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Update a backup.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
backup |
body |
object |
A |
backup.availability_zone |
body |
string |
The name of the availability zone. |
backup.container |
body |
[‘string’, ‘null’] |
The container name or null. |
backup.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 |
backup.data_timestamp |
body |
string |
The time when the data on the volume was first saved. If it is a backup from volume, it will be the same as created_at for a backup. If it is a backup from a snapshot, it will be the same as created_at for the snapshot. |
backup.description |
body |
[‘string’, ‘null’] |
The backup description or null. |
backup.fail_reason |
body |
[‘string’, ‘null’] |
If the backup failed, the reason for the failure. Otherwise, null. |
backup.has_dependent_backups |
body |
boolean |
If this value is true, there are other backups depending on this backup. |
backup.id |
body |
string |
The UUID of the backup. |
backup.is_incremental |
body |
boolean |
Indicates whether the backup mode is incremental. If this value is true, the backup mode is incremental. If this value is false, the backup mode is full. |
backup.metadata |
body |
object |
The backup metadata key value pairs. New in version 3.43 |
backup.name |
body |
[‘string’, ‘null’] |
The backup name. |
backup.object_count |
body |
integer |
The number of objects in the backup. |
backup.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
backup.snapshot_id |
body |
[‘string’, ‘null’] |
The UUID of the source volume snapshot. |
backup.status |
body |
string |
The backup status. Refer to Backup statuses table for the possible status value. |
backup.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 |
backup.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Create a new backup.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
backup |
body |
object |
A |
backup.availability_zone |
body |
string |
The name of the availability zone. |
backup.container |
body |
[‘string’, ‘null’] |
The container name or null. |
backup.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 |
backup.data_timestamp |
body |
string |
The time when the data on the volume was first saved. If it is a backup from volume, it will be the same as created_at for a backup. If it is a backup from a snapshot, it will be the same as created_at for the snapshot. |
backup.description |
body |
[‘string’, ‘null’] |
The backup description or null. |
backup.fail_reason |
body |
[‘string’, ‘null’] |
If the backup failed, the reason for the failure. Otherwise, null. |
backup.has_dependent_backups |
body |
boolean |
If this value is true, there are other backups depending on this backup. |
backup.id |
body |
string |
The UUID of the backup. |
backup.is_incremental |
body |
boolean |
Indicates whether the backup mode is incremental. If this value is true, the backup mode is incremental. If this value is false, the backup mode is full. |
backup.metadata |
body |
object |
The backup metadata key value pairs. New in version 3.43 |
backup.name |
body |
[‘string’, ‘null’] |
The backup name. |
backup.object_count |
body |
integer |
The number of objects in the backup. |
backup.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
backup.snapshot_id |
body |
[‘string’, ‘null’] |
The UUID of the source volume snapshot. |
backup.status |
body |
string |
The backup status. Refer to Backup statuses table for the possible status value. |
backup.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 |
backup.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Return data about the given backup.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
backup |
body |
object |
A |
backup.availability_zone |
body |
string |
The name of the availability zone. |
backup.container |
body |
[‘string’, ‘null’] |
The container name or null. |
backup.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 |
backup.data_timestamp |
body |
string |
The time when the data on the volume was first saved. If it is a backup from volume, it will be the same as created_at for a backup. If it is a backup from a snapshot, it will be the same as created_at for the snapshot. |
backup.description |
body |
[‘string’, ‘null’] |
The backup description or null. |
backup.fail_reason |
body |
[‘string’, ‘null’] |
If the backup failed, the reason for the failure. Otherwise, null. |
backup.has_dependent_backups |
body |
boolean |
If this value is true, there are other backups depending on this backup. |
backup.id |
body |
string |
The UUID of the backup. |
backup.is_incremental |
body |
boolean |
Indicates whether the backup mode is incremental. If this value is true, the backup mode is incremental. If this value is false, the backup mode is full. |
backup.metadata |
body |
object |
The backup metadata key value pairs. New in version 3.43 |
backup.name |
body |
[‘string’, ‘null’] |
The backup name. |
backup.object_count |
body |
integer |
The number of objects in the backup. |
backup.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
backup.snapshot_id |
body |
[‘string’, ‘null’] |
The UUID of the source volume snapshot. |
backup.status |
body |
string |
The backup status. Refer to Backup statuses table for the possible status value. |
backup.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 |
backup.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Update a backup.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
backup |
body |
object |
A |
backup.availability_zone |
body |
string |
The name of the availability zone. |
backup.container |
body |
[‘string’, ‘null’] |
The container name or null. |
backup.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601 |
backup.data_timestamp |
body |
string |
The time when the data on the volume was first saved. If it is a backup from volume, it will be the same as created_at for a backup. If it is a backup from a snapshot, it will be the same as created_at for the snapshot. |
backup.description |
body |
[‘string’, ‘null’] |
The backup description or null. |
backup.fail_reason |
body |
[‘string’, ‘null’] |
If the backup failed, the reason for the failure. Otherwise, null. |
backup.has_dependent_backups |
body |
boolean |
If this value is true, there are other backups depending on this backup. |
backup.id |
body |
string |
The UUID of the backup. |
backup.is_incremental |
body |
boolean |
Indicates whether the backup mode is incremental. If this value is true, the backup mode is incremental. If this value is false, the backup mode is full. |
backup.metadata |
body |
object |
The backup metadata key value pairs. New in version 3.43 |
backup.name |
body |
[‘string’, ‘null’] |
The backup name. |
backup.object_count |
body |
integer |
The number of objects in the backup. |
backup.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
backup.snapshot_id |
body |
[‘string’, ‘null’] |
The UUID of the source volume snapshot. |
backup.status |
body |
string |
The backup status. Refer to Backup statuses table for the possible status value. |
backup.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601 |
backup.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Export a backup.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
backup-record |
body |
object |
An object recording volume backup metadata, including backup_service and backup_url. |
backup-record.backup_service |
body |
string |
The service used to perform the backup. |
backup-record.backup_url |
body |
string |
An identifier string to locate the backup. |
404¶
Error
Export a backup.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
backup-record |
body |
object |
An object recording volume backup metadata, including backup_service and backup_url. |
backup-record.backup_service |
body |
string |
The service used to perform the backup. |
backup-record.backup_url |
body |
string |
An identifier string to locate the backup. |
404¶
Error
capabilities¶
Shows capabilities for a storage back end.
cgsnapshots¶
Lists all, lists all with details, shows details for, creates, and deletes consistency group snapshots.
clusters¶
Administrator only. Lists all Cinder clusters, show cluster detail, enable or disable a cluster.
Each cinder service runs on a host computer (possibly multiple services on the same host; it depends how you decide to deploy cinder). In order to support High Availability scenarios, services can be grouped into clusters where the same type of service (for example, cinder-volume) can run on different hosts so that if one host goes down the service is still available on a different host. Since there’s no point having these services sitting around doing nothing while waiting for some other host to go down (which is also known as Active/Passive mode), grouping services into clusters also allows cinder to support Active/Active mode in which all services in a cluster are doing work all the time.
Note: Currently the only service that can be grouped into clusters is cinder-volume.
Clusters are determined by the deployment configuration; that’s why there is no create-cluster
API call listed below. Once your services are up and running, however, you can use the following API requests to get information about your clusters and to update their status.
Return data for a given cluster name with optional binary.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
cluster |
body |
object |
|
cluster.num_hosts |
body |
integer |
The number of hosts in the cluster. |
cluster.num_down_hosts |
body |
integer |
The number of down hosts in the cluster. |
cluster.last_heartbeat |
body |
string |
The last periodic heartbeat received. |
cluster.created_at |
body |
string |
The date and time when the resource was created. |
cluster.updated_at |
body |
string |
The date and time when the resource was updated. |
cluster.disabled_reason |
body |
[‘string’, ‘null’] |
The reason for disabling a resource. |
cluster.frozen |
body |
[‘boolean’, ‘null’] |
Whether the cluster is frozen or not. |
cluster.active_backend_id |
body |
[‘string’, ‘null’] |
The ID of active storage backend. Only in cinder-volume service. |
cluster.binary |
body |
string |
The binary name of the services in the cluster. |
cluster.name |
body |
string |
The name of the service cluster. |
cluster.replication_status |
body |
string |
The cluster replication status. Only included in responses if configured. |
cluster.state |
body |
string |
The state of the cluster. |
cluster.status |
body |
string |
The status of the cluster. |
404¶
Error
Enable/Disable scheduling for a cluster.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
cluster |
body |
object |
|
cluster.num_hosts |
body |
integer |
The number of hosts in the cluster. |
cluster.num_down_hosts |
body |
integer |
The number of down hosts in the cluster. |
cluster.last_heartbeat |
body |
string |
The last periodic heartbeat received. |
cluster.created_at |
body |
string |
The date and time when the resource was created. |
cluster.updated_at |
body |
string |
The date and time when the resource was updated. |
cluster.disabled_reason |
body |
[‘string’, ‘null’] |
The reason for disabling a resource. |
cluster.frozen |
body |
[‘boolean’, ‘null’] |
Whether the cluster is frozen or not. |
cluster.active_backend_id |
body |
[‘string’, ‘null’] |
The ID of active storage backend. Only in cinder-volume service. |
cluster.binary |
body |
string |
The binary name of the services in the cluster. |
cluster.name |
body |
string |
The name of the service cluster. |
cluster.replication_status |
body |
string |
The cluster replication status. Only included in responses if configured. |
cluster.state |
body |
string |
The state of the cluster. |
cluster.status |
body |
string |
The status of the cluster. |
404¶
Error
Return data for a given cluster name with optional binary.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
cluster |
body |
object |
|
cluster.num_hosts |
body |
integer |
The number of hosts in the cluster. |
cluster.num_down_hosts |
body |
integer |
The number of down hosts in the cluster. |
cluster.last_heartbeat |
body |
string |
The last periodic heartbeat received. |
cluster.created_at |
body |
string |
The date and time when the resource was created. |
cluster.updated_at |
body |
string |
The date and time when the resource was updated. |
cluster.disabled_reason |
body |
[‘string’, ‘null’] |
The reason for disabling a resource. |
cluster.frozen |
body |
[‘boolean’, ‘null’] |
Whether the cluster is frozen or not. |
cluster.active_backend_id |
body |
[‘string’, ‘null’] |
The ID of active storage backend. Only in cinder-volume service. |
cluster.binary |
body |
string |
The binary name of the services in the cluster. |
cluster.name |
body |
string |
The name of the service cluster. |
cluster.replication_status |
body |
string |
The cluster replication status. Only included in responses if configured. |
cluster.state |
body |
string |
The state of the cluster. |
cluster.status |
body |
string |
The status of the cluster. |
404¶
Error
Enable/Disable scheduling for a cluster.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
cluster |
body |
object |
|
cluster.num_hosts |
body |
integer |
The number of hosts in the cluster. |
cluster.num_down_hosts |
body |
integer |
The number of down hosts in the cluster. |
cluster.last_heartbeat |
body |
string |
The last periodic heartbeat received. |
cluster.created_at |
body |
string |
The date and time when the resource was created. |
cluster.updated_at |
body |
string |
The date and time when the resource was updated. |
cluster.disabled_reason |
body |
[‘string’, ‘null’] |
The reason for disabling a resource. |
cluster.frozen |
body |
[‘boolean’, ‘null’] |
Whether the cluster is frozen or not. |
cluster.active_backend_id |
body |
[‘string’, ‘null’] |
The ID of active storage backend. Only in cinder-volume service. |
cluster.binary |
body |
string |
The binary name of the services in the cluster. |
cluster.name |
body |
string |
The name of the service cluster. |
cluster.replication_status |
body |
string |
The cluster replication status. Only included in responses if configured. |
cluster.state |
body |
string |
The state of the cluster. |
cluster.status |
body |
string |
The status of the cluster. |
404¶
Error
consistencygroups¶
Consistency groups enable you to create snapshots at the exact same point in time from multiple volumes. For example, a database might place its tables, logs, and configuration on separate volumes. To restore this database from a previous point in time, it makes sense to restore the logs, tables, and configuration together from the exact same point in time.
Use the policy configuration file to grant permissions for these actions to limit roles.
Update the consistency group.
Expected format of the input parameter ‘body’:
{
"consistencygroup":
{
"name": "my_cg",
"description": "My consistency group",
"add_volumes": "volume-uuid-1,volume-uuid-2,...",
"remove_volumes": "volume-uuid-8,volume-uuid-9,..."
}
}
Request¶
Responses¶
200¶
Ok
404¶
Error
Update the consistency group.
Expected format of the input parameter ‘body’:
{
"consistencygroup":
{
"name": "my_cg",
"description": "My consistency group",
"add_volumes": "volume-uuid-1,volume-uuid-2,...",
"remove_volumes": "volume-uuid-8,volume-uuid-9,..."
}
}
Request¶
Responses¶
200¶
Ok
404¶
Error
Update the consistency group.
Expected format of the input parameter ‘body’:
{
"consistencygroup":
{
"name": "my_cg",
"description": "My consistency group",
"add_volumes": "volume-uuid-1,volume-uuid-2,...",
"remove_volumes": "volume-uuid-8,volume-uuid-9,..."
}
}
Request¶
Responses¶
200¶
Ok
404¶
Error
Update the consistency group.
Expected format of the input parameter ‘body’:
{
"consistencygroup":
{
"name": "my_cg",
"description": "My consistency group",
"add_volumes": "volume-uuid-1,volume-uuid-2,...",
"remove_volumes": "volume-uuid-8,volume-uuid-9,..."
}
}
Request¶
Responses¶
200¶
Ok
404¶
Error
default-types¶
Manage a default volume type for individual projects.
By default, a volume-create request that does not specify a volume-type will assign the configured system default volume type to the volume. You can override this behavior on a per-project basis by setting a different default volume type for any project.
Available in microversion 3.62 or higher.
Note: The default policy for list API is system admin so you would require a system scoped token to access it. To get a system scoped token, you need to run the following command:
openstack –os-system-scope all –os-project-name=’’ token issue
group_snapshots¶
Lists all, lists all with details, shows details for, creates, and deletes group snapshots.
Creates a group snapshot.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_snapshot |
body |
object |
The group snapshot. |
group_snapshot.status |
body |
string |
The status of the generic group snapshot. |
group_snapshot.description |
body |
[‘string’, ‘null’] |
The group snapshot description. |
group_snapshot.created_at |
body |
string |
The date and time when the resource was created. |
group_snapshot.group_type |
body |
string |
The group type ID. |
group_snapshot.group_id |
body |
string |
The ID of the group. |
group_snapshot.group_type_id |
body |
string |
The group type ID. |
group_snapshot.project_id |
body |
[‘string’, ‘null’] |
The UUID of the volume group project. |
group_snapshot.name |
body |
[‘string’, ‘null’] |
The group snapshot name. |
group_snapshot.id |
body |
string |
The ID of the group snapshot. |
404¶
Error
Return data about the given group_snapshot.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_snapshot |
body |
object |
The group snapshot. |
group_snapshot.status |
body |
string |
The status of the generic group snapshot. |
group_snapshot.description |
body |
[‘string’, ‘null’] |
The group snapshot description. |
group_snapshot.created_at |
body |
string |
The date and time when the resource was created. |
group_snapshot.group_type |
body |
string |
The group type ID. |
group_snapshot.group_id |
body |
string |
The ID of the group. |
group_snapshot.group_type_id |
body |
string |
The group type ID. |
group_snapshot.project_id |
body |
[‘string’, ‘null’] |
The UUID of the volume group project. |
group_snapshot.name |
body |
[‘string’, ‘null’] |
The group snapshot name. |
group_snapshot.id |
body |
string |
The ID of the group snapshot. |
404¶
Error
Create a new group_snapshot.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_snapshot |
body |
object |
The group snapshot. |
group_snapshot.status |
body |
string |
The status of the generic group snapshot. |
group_snapshot.description |
body |
[‘string’, ‘null’] |
The group snapshot description. |
group_snapshot.created_at |
body |
string |
The date and time when the resource was created. |
group_snapshot.group_type |
body |
string |
The group type ID. |
group_snapshot.group_id |
body |
string |
The ID of the group. |
group_snapshot.group_type_id |
body |
string |
The group type ID. |
group_snapshot.project_id |
body |
[‘string’, ‘null’] |
The UUID of the volume group project. |
group_snapshot.name |
body |
[‘string’, ‘null’] |
The group snapshot name. |
group_snapshot.id |
body |
string |
The ID of the group snapshot. |
404¶
Error
Return data about the given group_snapshot.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_snapshot |
body |
object |
The group snapshot. |
group_snapshot.status |
body |
string |
The status of the generic group snapshot. |
group_snapshot.description |
body |
[‘string’, ‘null’] |
The group snapshot description. |
group_snapshot.created_at |
body |
string |
The date and time when the resource was created. |
group_snapshot.group_type |
body |
string |
The group type ID. |
group_snapshot.group_id |
body |
string |
The ID of the group. |
group_snapshot.group_type_id |
body |
string |
The group type ID. |
group_snapshot.project_id |
body |
[‘string’, ‘null’] |
The UUID of the volume group project. |
group_snapshot.name |
body |
[‘string’, ‘null’] |
The group snapshot name. |
group_snapshot.id |
body |
string |
The ID of the group snapshot. |
404¶
Error
group_types¶
To create a generic volume group, you must specify a group type.
Creates a group type.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_type |
body |
object |
A |
group_type.name |
body |
[‘string’, ‘null’] |
The group type name. |
group_type.id |
body |
string |
The group type ID. |
group_type.description |
body |
string |
The group type description. |
group_type.is_public |
body |
boolean |
Whether the group type is publicly visible. |
group_type.group_specs |
body |
object |
A set of key and value pairs that contains the specifications for a group type. |
404¶
Error
Return a single group type item.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_type |
body |
object |
A |
group_type.name |
body |
[‘string’, ‘null’] |
The group type name. |
group_type.id |
body |
string |
The group type ID. |
group_type.description |
body |
string |
The group type description. |
group_type.is_public |
body |
boolean |
Whether the group type is publicly visible. |
group_type.group_specs |
body |
object |
A set of key and value pairs that contains the specifications for a group type. |
404¶
Error
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_type |
body |
object |
A |
group_type.name |
body |
[‘string’, ‘null’] |
The group type name. |
group_type.id |
body |
string |
The group type ID. |
group_type.description |
body |
string |
The group type description. |
group_type.is_public |
body |
boolean |
Whether the group type is publicly visible. |
group_type.group_specs |
body |
object |
A set of key and value pairs that contains the specifications for a group type. |
404¶
Error
Creates a new group type.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_type |
body |
object |
A |
group_type.name |
body |
[‘string’, ‘null’] |
The group type name. |
group_type.id |
body |
string |
The group type ID. |
group_type.description |
body |
string |
The group type description. |
group_type.is_public |
body |
boolean |
Whether the group type is publicly visible. |
group_type.group_specs |
body |
object |
A set of key and value pairs that contains the specifications for a group type. |
404¶
Error
Return a single group type item.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_type |
body |
object |
A |
group_type.name |
body |
[‘string’, ‘null’] |
The group type name. |
group_type.id |
body |
string |
The group type ID. |
group_type.description |
body |
string |
The group type description. |
group_type.is_public |
body |
boolean |
Whether the group type is publicly visible. |
group_type.group_specs |
body |
object |
A set of key and value pairs that contains the specifications for a group type. |
404¶
Error
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_type |
body |
object |
A |
group_type.name |
body |
[‘string’, ‘null’] |
The group type name. |
group_type.id |
body |
string |
The group type ID. |
group_type.description |
body |
string |
The group type description. |
group_type.is_public |
body |
boolean |
Whether the group type is publicly visible. |
group_type.group_specs |
body |
object |
A set of key and value pairs that contains the specifications for a group type. |
404¶
Error
Create group specs for a group type, if the specification key already exists in group specs, this API will update the specification as well.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group_specs |
body |
object |
A set of key and value pairs that contains the specifications for a group type. |
404¶
Error
groups¶
Generic volume groups enable you to create a group of volumes and manage them together.
How is generic volume groups different from consistency groups? Currently consistency groups in cinder only support consistent group snapshot. It cannot be extended easily to serve other purposes. A project may want to put volumes used in the same application together in a group so that it is easier to manage them together, and this group of volumes may or may not support consistent group snapshot. Generic volume group is introduced to solve this problem. By decoupling the tight relationship between the group construct and the consistency concept, generic volume groups can be extended to support other features in the future.
Creates a group.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group |
body |
object |
A group object. |
group.status |
body |
string |
The status of the generic group. |
group.description |
body |
[‘string’, ‘null’] |
The group description. |
group.availability_zone |
body |
string |
The name of the availability zone. |
group.created_at |
body |
string |
The date and time when the resource was created. |
group.group_type |
body |
string |
The group type ID. |
group.group_snapshot_id |
body |
[‘string’, ‘null’] |
The ID of the group snapshot. |
group.source_group_id |
body |
[‘string’, ‘null’] |
The UUID of the source group. |
group.replication_status |
body |
[‘string’, ‘null’] |
The group replication status. |
group.project_id |
body |
[‘string’, ‘null’] |
The UUID of the volume group project. |
group.name |
body |
[‘string’, ‘null’] |
The group name. |
group.id |
body |
string |
The UUID of the group. |
404¶
Error
Return data about the given group.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group |
body |
object |
A group object. |
group.status |
body |
string |
The status of the generic group. |
group.description |
body |
[‘string’, ‘null’] |
The group description. |
group.availability_zone |
body |
string |
The name of the availability zone. |
group.created_at |
body |
string |
The date and time when the resource was created. |
group.group_type |
body |
string |
The group type ID. |
group.group_snapshot_id |
body |
[‘string’, ‘null’] |
The ID of the group snapshot. |
group.source_group_id |
body |
[‘string’, ‘null’] |
The UUID of the source group. |
group.replication_status |
body |
[‘string’, ‘null’] |
The group replication status. |
group.project_id |
body |
[‘string’, ‘null’] |
The UUID of the volume group project. |
group.name |
body |
[‘string’, ‘null’] |
The group name. |
group.id |
body |
string |
The UUID of the group. |
404¶
Error
Select and call the matching version of the specified method.
Look for the method which matches the name supplied and version constraints and calls it with the supplied arguments.
returns: |
Returns the result of the method called |
---|---|
raises VersionNotFoundForAPIMethod: |
|
if there is no method which matches the name and version constraints |
Responses¶
204¶
Ok
404¶
Error
Create a new group.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group |
body |
object |
A group object. |
group.status |
body |
string |
The status of the generic group. |
group.description |
body |
[‘string’, ‘null’] |
The group description. |
group.availability_zone |
body |
string |
The name of the availability zone. |
group.created_at |
body |
string |
The date and time when the resource was created. |
group.group_type |
body |
string |
The group type ID. |
group.group_snapshot_id |
body |
[‘string’, ‘null’] |
The ID of the group snapshot. |
group.source_group_id |
body |
[‘string’, ‘null’] |
The UUID of the source group. |
group.replication_status |
body |
[‘string’, ‘null’] |
The group replication status. |
group.project_id |
body |
[‘string’, ‘null’] |
The UUID of the volume group project. |
group.name |
body |
[‘string’, ‘null’] |
The group name. |
group.id |
body |
string |
The UUID of the group. |
404¶
Error
Return data about the given group.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group |
body |
object |
A group object. |
group.status |
body |
string |
The status of the generic group. |
group.description |
body |
[‘string’, ‘null’] |
The group description. |
group.availability_zone |
body |
string |
The name of the availability zone. |
group.created_at |
body |
string |
The date and time when the resource was created. |
group.group_type |
body |
string |
The group type ID. |
group.group_snapshot_id |
body |
[‘string’, ‘null’] |
The ID of the group snapshot. |
group.source_group_id |
body |
[‘string’, ‘null’] |
The UUID of the source group. |
group.replication_status |
body |
[‘string’, ‘null’] |
The group replication status. |
group.project_id |
body |
[‘string’, ‘null’] |
The UUID of the volume group project. |
group.name |
body |
[‘string’, ‘null’] |
The group name. |
group.id |
body |
string |
The UUID of the group. |
404¶
Error
Select and call the matching version of the specified method.
Look for the method which matches the name supplied and version constraints and calls it with the supplied arguments.
returns: |
Returns the result of the method called |
---|---|
raises VersionNotFoundForAPIMethod: |
|
if there is no method which matches the name and version constraints |
Responses¶
204¶
Ok
404¶
Error
limits¶
Shows absolute limits for a project.
An absolute limit value of -1 indicates that the absolute limit for the item is infinite.
Shows absolute limits for a project.
An absolute limit value of -1
indicates that the absolute limit
for the item is infinite.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
limits |
body |
object |
A list of |
limits.absolute |
body |
object |
An |
limits.absolute.totalSnapshotsUsed |
body |
integer |
The total number of snapshots used. |
limits.absolute.maxTotalBackups |
body |
integer |
The maximum number of backups. |
limits.absolute.maxTotalVolumeGigabytes |
body |
integer |
The maximum total amount of volumes, in gibibytes (GiB). |
limits.absolute.maxTotalSnapshots |
body |
integer |
The maximum number of snapshots. |
limits.absolute.maxTotalBackupGigabytes |
body |
integer |
The maximum total amount of backups, in gibibytes (GiB). |
limits.absolute.totalBackupGigabytesUsed |
body |
integer |
The total number of backups gibibytes (GiB) used. |
limits.absolute.maxTotalVolumes |
body |
integer |
The maximum number of volumes. |
limits.absolute.totalVolumesUsed |
body |
integer |
The total number of volumes used. |
limits.absolute.totalBackupsUsed |
body |
integer |
The total number of backups used. |
limits.absolute.totalGigabytesUsed |
body |
integer |
The total number of gibibytes (GiB) used. |
404¶
Error
Return all global and rate limit information.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
limits |
body |
object |
A list of |
limits.absolute |
body |
object |
An |
limits.absolute.totalSnapshotsUsed |
body |
integer |
The total number of snapshots used. |
limits.absolute.maxTotalBackups |
body |
integer |
The maximum number of backups. |
limits.absolute.maxTotalVolumeGigabytes |
body |
integer |
The maximum total amount of volumes, in gibibytes (GiB). |
limits.absolute.maxTotalSnapshots |
body |
integer |
The maximum number of snapshots. |
limits.absolute.maxTotalBackupGigabytes |
body |
integer |
The maximum total amount of backups, in gibibytes (GiB). |
limits.absolute.totalBackupGigabytesUsed |
body |
integer |
The total number of backups gibibytes (GiB) used. |
limits.absolute.maxTotalVolumes |
body |
integer |
The maximum number of volumes. |
limits.absolute.totalVolumesUsed |
body |
integer |
The total number of volumes used. |
limits.absolute.totalBackupsUsed |
body |
integer |
The total number of backups used. |
limits.absolute.totalGigabytesUsed |
body |
integer |
The total number of gibibytes (GiB) used. |
404¶
Error
manageable_snapshots¶
Creates or lists snapshots by using existing storage instead of allocating new storage.
Creates a snapshot by using existing storage rather than allocating new storage.
The caller must specify a reference to an existing storage volume in the ref parameter in the request. Although each storage driver might interpret this reference differently, the driver should accept a reference structure that contains either a source-id or source-name element, if possible.
The API chooses the size of the snapshot by rounding up the size of the existing snapshot to the next gibibyte (GiB).
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A |
snapshot.os-extended-snapshot-attributes:progress |
body |
string |
A percentage value for the build progress. |
snapshot.os-extended-snapshot-attributes:project_id |
body |
string |
The UUID of the owning project. |
snapshot.group_snapshot_id |
body |
string |
The ID of the group snapshot. New in version 3.14 |
snapshot.consumes_quota |
body |
[‘boolean’, ‘null’] |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
snapshot.status |
body |
string |
The status for the snapshot. |
snapshot.description |
body |
[‘string’, ‘null’] |
A description for the snapshot. |
snapshot.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
snapshot.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
snapshot.name |
body |
[‘string’, ‘null’] |
The name of the snapshot. Default is |
snapshot.volume_id |
body |
string |
The UUID of the volume. |
snapshot.metadata |
body |
object |
One or more metadata key and value pairs for the snapshot. |
snapshot.id |
body |
string |
The UUID of the object. |
snapshot.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
snapshot.count |
body |
[‘integer’, ‘null’] |
The total count of requested resource before pagination is applied. |
404¶
Error
Instruct Cinder to manage a storage snapshot object.
Manages an existing backend storage snapshot object (e.g. a Linux logical volume or a SAN disk) by creating the Cinder objects required to manage it, and possibly renaming the backend storage snapshot object (driver dependent).
From an API perspective, this operation behaves very much like a snapshot creation operation.
Required HTTP Body:
{
"snapshot":
{
"volume_id": "<Cinder volume already exists in volume backend>",
"ref":
"<Driver-specific reference to the existing storage object>"
}
}
See the appropriate Cinder drivers’ implementations of the manage_snapshot method to find out the accepted format of ‘ref’. For example,in LVM driver, it will be the logic volume name of snapshot which you want to manage.
This API call will return with an error if any of the above elements are missing from the request, or if the ‘volume_id’ element refers to a cinder volume that could not be found.
The snapshot will later enter the error state if it is discovered that ‘ref’ is bad.
Optional elements to ‘snapshot’ are:
name A name for the new snapshot.
description A description for the new snapshot.
metadata Key/value pairs to be associated with the new snapshot.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A |
snapshot.os-extended-snapshot-attributes:progress |
body |
string |
A percentage value for the build progress. |
snapshot.os-extended-snapshot-attributes:project_id |
body |
string |
The UUID of the owning project. |
snapshot.group_snapshot_id |
body |
string |
The ID of the group snapshot. New in version 3.14 |
snapshot.consumes_quota |
body |
[‘boolean’, ‘null’] |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
snapshot.status |
body |
string |
The status for the snapshot. |
snapshot.description |
body |
[‘string’, ‘null’] |
A description for the snapshot. |
snapshot.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
snapshot.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
snapshot.name |
body |
[‘string’, ‘null’] |
The name of the snapshot. Default is |
snapshot.volume_id |
body |
string |
The UUID of the volume. |
snapshot.metadata |
body |
object |
One or more metadata key and value pairs for the snapshot. |
snapshot.id |
body |
string |
The UUID of the object. |
snapshot.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
snapshot.count |
body |
[‘integer’, ‘null’] |
The total count of requested resource before pagination is applied. |
404¶
Error
manageable_volumes¶
Creates or lists volumes by using existing storage instead of allocating new storage.
Creates a Block Storage volume by using existing storage rather than allocating new storage.
The caller must specify a reference to an existing storage volume in the ref parameter in the request. Although each storage driver might interpret this reference differently, the driver should accept a reference structure that contains either a source-id or source-name element, if possible.
The API chooses the size of the volume by rounding up the size of the existing storage volume to the next gibibyte (GiB).
You cannot manage a volume to an encrypted volume type.
Prior to microversion 3.16 host field was required, with the possibility of defining the cluster it is no longer required, but we must have either a host or a cluster field but we cannot have them both with values.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
name |
body |
[‘string’, ‘null’] |
The volume name. |
description |
body |
[‘string’, ‘null’] |
The volume description. |
volume_type |
body |
string |
A |
metadata |
body |
object |
A |
snapshot_id |
body |
string |
To create a volume from an existing snapshot, specify the UUID of the volume snapshot. The volume is created in same availability zone and with same size as the snapshot. |
source_volid |
body |
string |
The UUID of the source volume. The API creates a new volume with the same size as the source volume unless a larger size is requested. |
consistencygroup_id |
body |
string |
The UUID of the consistency group. |
size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
availability_zone |
body |
string |
The name of the availability zone. |
multiattach |
body |
boolean |
If true, this volume can attach to more than one instance. |
status |
body |
string |
The volume status. |
migration_status |
body |
string |
The volume migration status. Admin only. |
encrypted |
body |
boolean |
If true, this volume is encrypted. |
created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
replication_status |
body |
string |
The volume replication status. |
id |
body |
string |
The UUID of the volume. |
user_id |
body |
string |
The UUID of the user. |
volume_type_id |
body |
string |
The associated volume type ID for the volume. |
group_id |
body |
string |
The ID of the group. |
provider_id |
body |
[‘string’, ‘null’] |
The provider ID for the volume. The value is either a string set by the driver or null if the driver doesn’t use the field or if it hasn’t created it yet. Only returned for administrators. |
service_uuid |
body |
string |
A unique identifier that’s used to indicate what node the volume-service for a particular volume is being serviced by. |
shared_targets |
body |
boolean |
An indicator whether the host connecting the volume should lock for the whole attach/detach process or not. true means only is iSCSI initiator running on host doesn’t support manual scans, false means never use locks, and null means to always use locks. Look at os-brick’s guard_connection context manager. Default=True. |
cluster_name |
body |
string |
The cluster name of volume backend. |
consumes_quota |
body |
boolean |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. |
404¶
Error
Instruct Cinder to manage a storage object.
Manages an existing backend storage object (e.g. a Linux logical volume or a SAN disk) by creating the Cinder objects required to manage it, and possibly renaming the backend storage object (driver dependent)
From an API perspective, this operation behaves very much like a volume creation operation, except that properties such as image, snapshot and volume references don’t make sense, because we are taking an existing storage object into Cinder management.
Required HTTP Body:
{
"volume": {
"host": "<Cinder host on which the existing storage resides>",
"cluster": "<Cinder cluster on which the storage resides>",
"ref": "<Driver-specific reference to existing storage object>"
}
}
See the appropriate Cinder drivers’ implementations of the manage_volume method to find out the accepted format of ‘ref’.
This API call will return with an error if any of the above elements are missing from the request, or if the ‘host’ element refers to a cinder host that is not registered.
The volume will later enter the error state if it is discovered that ‘ref’ is bad.
Optional elements to ‘volume’ are:
name A name for the new volume.
description A description for the new volume.
volume_type ID or name of a volume type to associate with
the new Cinder volume. Does not necessarily
guarantee that the managed volume will have the
properties described in the volume_type. The
driver may choose to fail if it identifies that
the specified volume_type is not compatible with
the backend storage object.
metadata Key/value pairs to be associated with the new
volume.
availability_zone The availability zone to associate with the new
volume.
bootable If set to True, marks the volume as bootable.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
name |
body |
[‘string’, ‘null’] |
The volume name. |
description |
body |
[‘string’, ‘null’] |
The volume description. |
volume_type |
body |
string |
A |
metadata |
body |
object |
A |
snapshot_id |
body |
string |
To create a volume from an existing snapshot, specify the UUID of the volume snapshot. The volume is created in same availability zone and with same size as the snapshot. |
source_volid |
body |
string |
The UUID of the source volume. The API creates a new volume with the same size as the source volume unless a larger size is requested. |
consistencygroup_id |
body |
string |
The UUID of the consistency group. |
size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
availability_zone |
body |
string |
The name of the availability zone. |
multiattach |
body |
boolean |
If true, this volume can attach to more than one instance. |
status |
body |
string |
The volume status. |
migration_status |
body |
string |
The volume migration status. Admin only. |
encrypted |
body |
boolean |
If true, this volume is encrypted. |
created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
replication_status |
body |
string |
The volume replication status. |
id |
body |
string |
The UUID of the volume. |
user_id |
body |
string |
The UUID of the user. |
volume_type_id |
body |
string |
The associated volume type ID for the volume. |
group_id |
body |
string |
The ID of the group. |
provider_id |
body |
[‘string’, ‘null’] |
The provider ID for the volume. The value is either a string set by the driver or null if the driver doesn’t use the field or if it hasn’t created it yet. Only returned for administrators. |
service_uuid |
body |
string |
A unique identifier that’s used to indicate what node the volume-service for a particular volume is being serviced by. |
shared_targets |
body |
boolean |
An indicator whether the host connecting the volume should lock for the whole attach/detach process or not. true means only is iSCSI initiator running on host doesn’t support manual scans, false means never use locks, and null means to always use locks. Look at os-brick’s guard_connection context manager. Default=True. |
cluster_name |
body |
string |
The cluster name of volume backend. |
consumes_quota |
body |
boolean |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. |
404¶
Error
messages¶
Lists all, shows, and deletes messages. These are error messages generated by failed operations as a way to find out what happened when an asynchronous operation failed.
Return the given message.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
message |
body |
object |
|
message.request_id |
body |
string |
The id of the request during which the message was created. |
message.message_level |
body |
string |
The level of the message, possible value is only ‘ERROR’ now. |
message.event_id |
body |
string |
The id of the event to this message, this id could
eventually be translated into |
message.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
message.guaranteed_until |
body |
string |
The expire time of the message, this message could be deleted after this time. |
message.resource_uuid |
body |
string |
The UUID of the resource during whose operation the message was created. |
message.id |
body |
string |
The UUID for the message. |
message.resource_type |
body |
string |
The resource type corresponding to |
message.user_message |
body |
string |
The translated readable message corresponding to |
404¶
Error
Return the given message.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
message |
body |
object |
|
message.request_id |
body |
string |
The id of the request during which the message was created. |
message.message_level |
body |
string |
The level of the message, possible value is only ‘ERROR’ now. |
message.event_id |
body |
string |
The id of the event to this message, this id could
eventually be translated into |
message.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
message.guaranteed_until |
body |
string |
The expire time of the message, this message could be deleted after this time. |
message.resource_uuid |
body |
string |
The UUID of the resource during whose operation the message was created. |
message.id |
body |
string |
The UUID for the message. |
message.resource_type |
body |
string |
The resource type corresponding to |
message.user_message |
body |
string |
The translated readable message corresponding to |
404¶
Error
os-hosts¶
Administrators only, depending on policy settings.
Lists, shows hosts.
os-quota-class-sets¶
Administrators only, depending on policy settings.
Shows and updates quota classes for a project.
os-quota-sets¶
Administrators only, depending on policy settings.
Shows and updates, and deletes quotas for a project.
os-services¶
Administrator only. Lists all Cinder services, enables or disables a Cinder service, freeze or thaw the specified cinder-volume host, failover a replicating cinder-volume host.
os-volume-transfer¶
Transfers a volume from one user to another user.
Creates a volume transfer.
Preconditions
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Accept a new volume transfer.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Return data about active transfers.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Create a new volume transfer.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Accept a new volume transfer.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Return data about active transfers.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
qos-specs¶
Administrators only, depending on policy settings.
Creates, lists, shows details for, associates, disassociates, sets keys, unsets keys, and deletes quality of service (QoS) specifications.
Creates a QoS specification.
Specify one or more key and value pairs in the request body.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
qos_specs |
body |
object |
A |
qos_specs.consumer |
body |
string |
The consumer type. |
qos_specs.specs |
body |
object |
A |
qos_specs.id |
body |
string |
The generated ID for the QoS specification. |
qos_specs.name |
body |
string |
The name of the QoS specification. |
404¶
Error
Return a single qos spec item.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
qos_specs |
body |
object |
A |
qos_specs.consumer |
body |
string |
The consumer type. |
qos_specs.specs |
body |
object |
A |
qos_specs.id |
body |
string |
The generated ID for the QoS specification. |
qos_specs.name |
body |
string |
The name of the QoS specification. |
404¶
Error
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
qos_specs |
body |
object |
A |
qos_specs.consumer |
body |
string |
The consumer type. |
qos_specs.specs |
body |
object |
A |
qos_specs.id |
body |
string |
The generated ID for the QoS specification. |
qos_specs.name |
body |
string |
The name of the QoS specification. |
404¶
Error
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
qos_specs |
body |
object |
A |
qos_specs.consumer |
body |
string |
The consumer type. |
qos_specs.specs |
body |
object |
A |
qos_specs.id |
body |
string |
The generated ID for the QoS specification. |
qos_specs.name |
body |
string |
The name of the QoS specification. |
404¶
Error
Return a single qos spec item.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
qos_specs |
body |
object |
A |
qos_specs.consumer |
body |
string |
The consumer type. |
qos_specs.specs |
body |
object |
A |
qos_specs.id |
body |
string |
The generated ID for the QoS specification. |
qos_specs.name |
body |
string |
The name of the QoS specification. |
404¶
Error
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
qos_specs |
body |
object |
A |
qos_specs.consumer |
body |
string |
The consumer type. |
qos_specs.specs |
body |
object |
A |
qos_specs.id |
body |
string |
The generated ID for the QoS specification. |
qos_specs.name |
body |
string |
The name of the QoS specification. |
404¶
Error
resource_filters¶
Lists all resource filters, available since microversion 3.33.
scheduler-stats¶
Administrator only. Lists all back-end storage pools that are known to the scheduler service.
snapshots¶
A snapshot is a point-in-time copy of the data that a volume contains.
When you create, list, or delete snapshots, these status values are possible:
creating: The snapshot is being created.
available: The snapshot is ready to use.
backing-up: The snapshot is being backed up.
deleting: The snapshot is being deleted.
error: A snapshot creation error occurred.
deleted: The snapshot has been deleted.
unmanaging: The snapshot is being unmanaged.
restoring: The snapshot is being restored to a volume.
error_deleting: A snapshot deletion error occurred.
Creates a volume snapshot, which is a point-in-time, complete copy of a volume. You can create a volume from a snapshot.
Prior to API version 3.66, a ‘force’ flag was required to create a snapshot of an in-use volume, but this is no longer the case. From API version 3.66, the ‘force’ flag is invalid when passed in a volume snapshot request. (For backward compatibility, however, a ‘force’ flag with a value evaluating to True is silently ignored.)
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A |
snapshot.os-extended-snapshot-attributes:progress |
body |
string |
A percentage value for the build progress. |
snapshot.os-extended-snapshot-attributes:project_id |
body |
string |
The UUID of the owning project. |
snapshot.group_snapshot_id |
body |
string |
The ID of the group snapshot. New in version 3.14 |
snapshot.consumes_quota |
body |
[‘boolean’, ‘null’] |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
snapshot.status |
body |
string |
The status for the snapshot. |
snapshot.description |
body |
[‘string’, ‘null’] |
A description for the snapshot. |
snapshot.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
snapshot.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
snapshot.name |
body |
[‘string’, ‘null’] |
The name of the snapshot. Default is |
snapshot.volume_id |
body |
string |
The UUID of the volume. |
snapshot.metadata |
body |
object |
One or more metadata key and value pairs for the snapshot. |
snapshot.id |
body |
string |
The UUID of the object. |
snapshot.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
snapshot.count |
body |
[‘integer’, ‘null’] |
The total count of requested resource before pagination is applied. |
404¶
Error
Return data about the given snapshot.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A |
snapshot.os-extended-snapshot-attributes:progress |
body |
string |
A percentage value for the build progress. |
snapshot.os-extended-snapshot-attributes:project_id |
body |
string |
The UUID of the owning project. |
snapshot.group_snapshot_id |
body |
string |
The ID of the group snapshot. New in version 3.14 |
snapshot.consumes_quota |
body |
[‘boolean’, ‘null’] |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
snapshot.status |
body |
string |
The status for the snapshot. |
snapshot.description |
body |
[‘string’, ‘null’] |
A description for the snapshot. |
snapshot.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
snapshot.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
snapshot.name |
body |
[‘string’, ‘null’] |
The name of the snapshot. Default is |
snapshot.volume_id |
body |
string |
The UUID of the volume. |
snapshot.metadata |
body |
object |
One or more metadata key and value pairs for the snapshot. |
snapshot.id |
body |
string |
The UUID of the object. |
snapshot.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
snapshot.count |
body |
[‘integer’, ‘null’] |
The total count of requested resource before pagination is applied. |
404¶
Error
Update a snapshot.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A |
snapshot.os-extended-snapshot-attributes:progress |
body |
string |
A percentage value for the build progress. |
snapshot.os-extended-snapshot-attributes:project_id |
body |
string |
The UUID of the owning project. |
snapshot.group_snapshot_id |
body |
string |
The ID of the group snapshot. New in version 3.14 |
snapshot.consumes_quota |
body |
[‘boolean’, ‘null’] |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
snapshot.status |
body |
string |
The status for the snapshot. |
snapshot.description |
body |
[‘string’, ‘null’] |
A description for the snapshot. |
snapshot.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
snapshot.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
snapshot.name |
body |
[‘string’, ‘null’] |
The name of the snapshot. Default is |
snapshot.volume_id |
body |
string |
The UUID of the volume. |
snapshot.metadata |
body |
object |
One or more metadata key and value pairs for the snapshot. |
snapshot.id |
body |
string |
The UUID of the object. |
snapshot.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
snapshot.count |
body |
[‘integer’, ‘null’] |
The total count of requested resource before pagination is applied. |
404¶
Error
Creates a new snapshot.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A |
snapshot.os-extended-snapshot-attributes:progress |
body |
string |
A percentage value for the build progress. |
snapshot.os-extended-snapshot-attributes:project_id |
body |
string |
The UUID of the owning project. |
snapshot.group_snapshot_id |
body |
string |
The ID of the group snapshot. New in version 3.14 |
snapshot.consumes_quota |
body |
[‘boolean’, ‘null’] |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
snapshot.status |
body |
string |
The status for the snapshot. |
snapshot.description |
body |
[‘string’, ‘null’] |
A description for the snapshot. |
snapshot.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
snapshot.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
snapshot.name |
body |
[‘string’, ‘null’] |
The name of the snapshot. Default is |
snapshot.volume_id |
body |
string |
The UUID of the volume. |
snapshot.metadata |
body |
object |
One or more metadata key and value pairs for the snapshot. |
snapshot.id |
body |
string |
The UUID of the object. |
snapshot.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
snapshot.count |
body |
[‘integer’, ‘null’] |
The total count of requested resource before pagination is applied. |
404¶
Error
Return data about the given snapshot.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A |
snapshot.os-extended-snapshot-attributes:progress |
body |
string |
A percentage value for the build progress. |
snapshot.os-extended-snapshot-attributes:project_id |
body |
string |
The UUID of the owning project. |
snapshot.group_snapshot_id |
body |
string |
The ID of the group snapshot. New in version 3.14 |
snapshot.consumes_quota |
body |
[‘boolean’, ‘null’] |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
snapshot.status |
body |
string |
The status for the snapshot. |
snapshot.description |
body |
[‘string’, ‘null’] |
A description for the snapshot. |
snapshot.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
snapshot.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
snapshot.name |
body |
[‘string’, ‘null’] |
The name of the snapshot. Default is |
snapshot.volume_id |
body |
string |
The UUID of the volume. |
snapshot.metadata |
body |
object |
One or more metadata key and value pairs for the snapshot. |
snapshot.id |
body |
string |
The UUID of the object. |
snapshot.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
snapshot.count |
body |
[‘integer’, ‘null’] |
The total count of requested resource before pagination is applied. |
404¶
Error
Update a snapshot.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
snapshot |
body |
object |
A |
snapshot.os-extended-snapshot-attributes:progress |
body |
string |
A percentage value for the build progress. |
snapshot.os-extended-snapshot-attributes:project_id |
body |
string |
The UUID of the owning project. |
snapshot.group_snapshot_id |
body |
string |
The ID of the group snapshot. New in version 3.14 |
snapshot.consumes_quota |
body |
[‘boolean’, ‘null’] |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
snapshot.status |
body |
string |
The status for the snapshot. |
snapshot.description |
body |
[‘string’, ‘null’] |
A description for the snapshot. |
snapshot.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
snapshot.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
snapshot.name |
body |
[‘string’, ‘null’] |
The name of the snapshot. Default is |
snapshot.volume_id |
body |
string |
The UUID of the volume. |
snapshot.metadata |
body |
object |
One or more metadata key and value pairs for the snapshot. |
snapshot.id |
body |
string |
The UUID of the object. |
snapshot.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
snapshot.count |
body |
[‘integer’, ‘null’] |
The total count of requested resource before pagination is applied. |
404¶
Error
types¶
To create an environment with multiple-storage back ends, you must specify a volume type. The API spawns Block Storage volume back ends as children to cinder-volume, and keys them from a unique queue. The API names the back ends cinder-volume.HOST.BACKEND. For example, cinder-volume.ubuntu.lvmdriver. When you create a volume, the scheduler chooses an appropriate back end for the volume type to handle the request.
Lists volume types.
To determine which of these is the default type that will be used if you do not specify one in the Create a volume request, use the Show default volume type request.
Note to users: There may be a volume type named __DEFAULT__
in the
list. Try not to use this volume type, unless necessary or instructed by the
operator, in a Create a volume request. If you wish to create a volume of
your default volume type, simply omit the volume_type
parameter in your
Create a volume request.
Note to operators: The __DEFAULT__
volume type was introduced in
the Train release as a placeholder to prevent the creation of untyped
volumes. Under the proper conditions, it may be removed from your
deployment. Consult the Default Volume Types section in
Cinder Administration Guide
for details.
Responses¶
200¶
Ok
404¶
Error
Creates a volume type.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume_type |
body |
object |
A |
volume_type.description |
body |
string |
The volume type description. |
volume_type.extra_specs |
body |
object |
A key and value pair that contains additional specifications that are associated with the volume type. Examples include capabilities, capacity, compression, and so on, depending on the storage driver in use. |
volume_type.id |
body |
string |
The UUID of the volume type. |
volume_type.is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.name |
body |
string |
The name of the volume type. |
volume_type.os-volume-type-access:is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.qos_specs_id |
body |
string |
The QoS specifications ID. |
404¶
Error
Return a single volume type item.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume_type |
body |
object |
A |
volume_type.description |
body |
string |
The volume type description. |
volume_type.extra_specs |
body |
object |
A key and value pair that contains additional specifications that are associated with the volume type. Examples include capabilities, capacity, compression, and so on, depending on the storage driver in use. |
volume_type.id |
body |
string |
The UUID of the volume type. |
volume_type.is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.name |
body |
string |
The name of the volume type. |
volume_type.os-volume-type-access:is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.qos_specs_id |
body |
string |
The QoS specifications ID. |
404¶
Error
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume_type |
body |
object |
A |
volume_type.description |
body |
string |
The volume type description. |
volume_type.extra_specs |
body |
object |
A key and value pair that contains additional specifications that are associated with the volume type. Examples include capabilities, capacity, compression, and so on, depending on the storage driver in use. |
volume_type.id |
body |
string |
The UUID of the volume type. |
volume_type.is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.name |
body |
string |
The name of the volume type. |
volume_type.os-volume-type-access:is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.qos_specs_id |
body |
string |
The QoS specifications ID. |
404¶
Error
Creates a new volume type.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume_type |
body |
object |
A |
volume_type.description |
body |
string |
The volume type description. |
volume_type.extra_specs |
body |
object |
A key and value pair that contains additional specifications that are associated with the volume type. Examples include capabilities, capacity, compression, and so on, depending on the storage driver in use. |
volume_type.id |
body |
string |
The UUID of the volume type. |
volume_type.is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.name |
body |
string |
The name of the volume type. |
volume_type.os-volume-type-access:is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.qos_specs_id |
body |
string |
The QoS specifications ID. |
404¶
Error
Return a single volume type item.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume_type |
body |
object |
A |
volume_type.description |
body |
string |
The volume type description. |
volume_type.extra_specs |
body |
object |
A key and value pair that contains additional specifications that are associated with the volume type. Examples include capabilities, capacity, compression, and so on, depending on the storage driver in use. |
volume_type.id |
body |
string |
The UUID of the volume type. |
volume_type.is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.name |
body |
string |
The name of the volume type. |
volume_type.os-volume-type-access:is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.qos_specs_id |
body |
string |
The QoS specifications ID. |
404¶
Error
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume_type |
body |
object |
A |
volume_type.description |
body |
string |
The volume type description. |
volume_type.extra_specs |
body |
object |
A key and value pair that contains additional specifications that are associated with the volume type. Examples include capabilities, capacity, compression, and so on, depending on the storage driver in use. |
volume_type.id |
body |
string |
The UUID of the volume type. |
volume_type.is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.name |
body |
string |
The name of the volume type. |
volume_type.os-volume-type-access:is_public |
body |
boolean |
Whether the volume type is publicly visible. |
volume_type.qos_specs_id |
body |
string |
The QoS specifications ID. |
404¶
Error
Returns the list of extra specs for a given volume type.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
extra_specs |
body |
object |
A key and value pair that contains additional specifications that are associated with the volume type. Examples include capabilities, capacity, compression, and so on, depending on the storage driver in use. |
404¶
Error
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
extra_specs |
body |
object |
A key and value pair that contains additional specifications that are associated with the volume type. Examples include capabilities, capacity, compression, and so on, depending on the storage driver in use. |
404¶
Error
Returns the list of extra specs for a given volume type.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
extra_specs |
body |
object |
A key and value pair that contains additional specifications that are associated with the volume type. Examples include capabilities, capacity, compression, and so on, depending on the storage driver in use. |
404¶
Error
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
extra_specs |
body |
object |
A key and value pair that contains additional specifications that are associated with the volume type. Examples include capabilities, capacity, compression, and so on, depending on the storage driver in use. |
404¶
Error
Returns the encryption specs for a given volume type.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
cipher |
body |
string |
The encryption algorithm or mode. For example, aes-xts-plain64. The default value is None. |
control_location |
body |
string |
Notional service where encryption is performed. Valid values are “front-end” or “back-end”. The default value is “front-end”. |
created_at |
body |
string |
The date and time when the resource was created. |
deleted |
body |
boolean |
The resource is deleted or not. |
deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. |
encryption_id |
body |
string |
The UUID of the encryption. |
key_size |
body |
integer |
Size of encryption key, in bits. This is usually 256. The default value is None. |
provider |
body |
string |
The class that provides encryption support. |
updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. |
404¶
Error
Create encryption specs for an existing volume type.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
encryption |
body |
object |
|
encryption.cipher |
body |
string |
The encryption algorithm or mode. For example, aes-xts-plain64. The default value is None. |
encryption.control_location |
body |
string |
Notional service where encryption is performed. Valid values are “front-end” or “back-end”. The default value is “front-end”. |
encryption.created_at |
body |
string |
The date and time when the resource was created. |
encryption.deleted |
body |
boolean |
The resource is deleted or not. |
encryption.deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. |
encryption.encryption_id |
body |
string |
The UUID of the encryption. |
encryption.key_size |
body |
integer |
Size of encryption key, in bits. This is usually 256. The default value is None. |
encryption.provider |
body |
string |
The class that provides encryption support. |
encryption.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. |
404¶
Error
Update encryption specs for a given volume type.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
encryption |
body |
object |
|
encryption.cipher |
body |
string |
The encryption algorithm or mode. For example, aes-xts-plain64. The default value is None. |
encryption.control_location |
body |
string |
Notional service where encryption is performed. Valid values are “front-end” or “back-end”. The default value is “front-end”. |
encryption.created_at |
body |
string |
The date and time when the resource was created. |
encryption.deleted |
body |
boolean |
The resource is deleted or not. |
encryption.deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. |
encryption.encryption_id |
body |
string |
The UUID of the encryption. |
encryption.key_size |
body |
integer |
Size of encryption key, in bits. This is usually 256. The default value is None. |
encryption.provider |
body |
string |
The class that provides encryption support. |
encryption.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. |
404¶
Error
Returns the encryption specs for a given volume type.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
cipher |
body |
string |
The encryption algorithm or mode. For example, aes-xts-plain64. The default value is None. |
control_location |
body |
string |
Notional service where encryption is performed. Valid values are “front-end” or “back-end”. The default value is “front-end”. |
created_at |
body |
string |
The date and time when the resource was created. |
deleted |
body |
boolean |
The resource is deleted or not. |
deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. |
encryption_id |
body |
string |
The UUID of the encryption. |
key_size |
body |
integer |
Size of encryption key, in bits. This is usually 256. The default value is None. |
provider |
body |
string |
The class that provides encryption support. |
updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. |
404¶
Error
Create encryption specs for an existing volume type.
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
encryption |
body |
object |
|
encryption.cipher |
body |
string |
The encryption algorithm or mode. For example, aes-xts-plain64. The default value is None. |
encryption.control_location |
body |
string |
Notional service where encryption is performed. Valid values are “front-end” or “back-end”. The default value is “front-end”. |
encryption.created_at |
body |
string |
The date and time when the resource was created. |
encryption.deleted |
body |
boolean |
The resource is deleted or not. |
encryption.deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. |
encryption.encryption_id |
body |
string |
The UUID of the encryption. |
encryption.key_size |
body |
integer |
Size of encryption key, in bits. This is usually 256. The default value is None. |
encryption.provider |
body |
string |
The class that provides encryption support. |
encryption.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. |
404¶
Error
Update encryption specs for a given volume type.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
encryption |
body |
object |
|
encryption.cipher |
body |
string |
The encryption algorithm or mode. For example, aes-xts-plain64. The default value is None. |
encryption.control_location |
body |
string |
Notional service where encryption is performed. Valid values are “front-end” or “back-end”. The default value is “front-end”. |
encryption.created_at |
body |
string |
The date and time when the resource was created. |
encryption.deleted |
body |
boolean |
The resource is deleted or not. |
encryption.deleted_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was deleted. |
encryption.encryption_id |
body |
string |
The UUID of the encryption. |
encryption.key_size |
body |
integer |
Size of encryption key, in bits. This is usually 256. The default value is None. |
encryption.provider |
body |
string |
The class that provides encryption support. |
encryption.updated_at |
body |
[‘string’, ‘null’] |
The date and time when the resource was updated. |
404¶
Error
volume-transfers¶
Transfers a volume from one user to another user. This is the new transfer APIs with microversion 3.55.
Creates a volume transfer.
Preconditions
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.destination_project_id |
body |
string |
Records the destination project_id after volume transfer. New in version 3.57 |
transfer.source_project_id |
body |
string |
Records the source project_id before volume transfer. New in version 3.57 |
transfer.accepted |
body |
boolean |
Records if this transfer was accepted or not. New in version 3.57 |
transfer.no_snapshots |
body |
boolean |
Transfer volume without snapshots. Defaults to False if not specified. New in version 3.55 |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Accept a new volume transfer.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.destination_project_id |
body |
string |
Records the destination project_id after volume transfer. New in version 3.57 |
transfer.source_project_id |
body |
string |
Records the source project_id before volume transfer. New in version 3.57 |
transfer.accepted |
body |
boolean |
Records if this transfer was accepted or not. New in version 3.57 |
transfer.no_snapshots |
body |
boolean |
Transfer volume without snapshots. Defaults to False if not specified. New in version 3.55 |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Return data about active transfers.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.destination_project_id |
body |
string |
Records the destination project_id after volume transfer. New in version 3.57 |
transfer.source_project_id |
body |
string |
Records the source project_id before volume transfer. New in version 3.57 |
transfer.accepted |
body |
boolean |
Records if this transfer was accepted or not. New in version 3.57 |
transfer.no_snapshots |
body |
boolean |
Transfer volume without snapshots. Defaults to False if not specified. New in version 3.55 |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Create a new volume transfer.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.destination_project_id |
body |
string |
Records the destination project_id after volume transfer. New in version 3.57 |
transfer.source_project_id |
body |
string |
Records the source project_id before volume transfer. New in version 3.57 |
transfer.accepted |
body |
boolean |
Records if this transfer was accepted or not. New in version 3.57 |
transfer.no_snapshots |
body |
boolean |
Transfer volume without snapshots. Defaults to False if not specified. New in version 3.55 |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Accept a new volume transfer.
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.destination_project_id |
body |
string |
Records the destination project_id after volume transfer. New in version 3.57 |
transfer.source_project_id |
body |
string |
Records the source project_id before volume transfer. New in version 3.57 |
transfer.accepted |
body |
boolean |
Records if this transfer was accepted or not. New in version 3.57 |
transfer.no_snapshots |
body |
boolean |
Transfer volume without snapshots. Defaults to False if not specified. New in version 3.55 |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
Return data about active transfers.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
transfer |
body |
object |
|
transfer.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
transfer.destination_project_id |
body |
string |
Records the destination project_id after volume transfer. New in version 3.57 |
transfer.source_project_id |
body |
string |
Records the source project_id before volume transfer. New in version 3.57 |
transfer.accepted |
body |
boolean |
Records if this transfer was accepted or not. New in version 3.57 |
transfer.no_snapshots |
body |
boolean |
Transfer volume without snapshots. Defaults to False if not specified. New in version 3.55 |
transfer.id |
body |
string |
The UUID of the object. |
transfer.name |
body |
[‘string’, ‘null’] |
The name of the object. |
transfer.volume_id |
body |
string |
The UUID of the volume. |
404¶
Error
volumes¶
A volume is a detachable block storage device similar to a USB hard drive. You can attach a volume to an instance, and if the volume is of an appropriate volume type, a volume can be attached to multiple instances.
The snapshot_id and source_volid parameters specify the ID of the snapshot or volume from which this volume originates. If the volume was not created from a snapshot or source volume, these values are null.
When you create, list, update, or delete volumes, the possible status values are:
creating: The volume is being created.
available: The volume is ready to attach to an instance.
reserved: The volume is reserved for attaching or shelved.
attaching: The volume is attaching to an instance.
detaching: The volume is detaching from an instance.
in-use: The volume is attached to an instance.
maintenance: The volume is locked and being migrated.
deleting: The volume is being deleted.
awaiting-transfer: The volume is awaiting for transfer.
error: A volume creation error occurred.
error_deleting: A volume deletion error occurred.
backing-up: The volume is being backed up.
restoring-backup: A backup is being restored to the volume.
error_backing-up: A backup error occurred.
error_restoring: A backup restoration error occurred.
error_extending: An error occurred while attempting to extend a volume.
downloading: The volume is downloading an image.
uploading: The volume is being uploaded to an image.
retyping: The volume is changing type to another volume type.
extending: The volume is being extended.
Creates a volume.
To create a bootable volume, include the UUID of the image from
which you want to create the volume in the imageRef
attribute
in the request body.
Since the Train release, every volume must have a volume type. It is optional to specify a volume type as part of your Create a volume request. If you do not specify one, a default volume type will be supplied for you. This type may vary according to what project you are in and how the operator has configured the Block Storage service. Use the Show default volume type request to determine your effective default volume type.
Preconditions
Asynchronous Postconditions
Troubleshooting
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume |
body |
object |
A |
volume.name |
body |
[‘string’, ‘null’] |
The volume name. |
volume.description |
body |
[‘string’, ‘null’] |
The volume description. |
volume.volume_type |
body |
string |
The associated volume type name for the volume. |
volume.metadata |
body |
object |
A |
volume.snapshot_id |
body |
string |
To create a volume from an existing snapshot, specify the UUID of the volume snapshot. The volume is created in same availability zone and with same size as the snapshot. |
volume.source_volid |
body |
string |
The UUID of the source volume. The API creates a new volume with the same size as the source volume unless a larger size is requested. |
volume.consistencygroup_id |
body |
string |
The UUID of the consistency group. |
volume.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
volume.availability_zone |
body |
string |
The name of the availability zone. |
volume.multiattach |
body |
boolean |
If true, this volume can attach to more than one instance. |
volume.status |
body |
string |
The volume status. |
volume.migration_status |
body |
string |
The volume migration status. Admin only. |
volume.encrypted |
body |
boolean |
If true, this volume is encrypted. |
volume.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
volume.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
volume.replication_status |
body |
string |
The volume replication status. |
volume.id |
body |
string |
The UUID of the volume. |
volume.user_id |
body |
string |
The UUID of the user. |
volume.volume_type_id |
body |
string |
The associated volume type ID for the volume. New in version 3.63 |
volume.group_id |
body |
string |
The ID of the group. New in version 3.13 |
volume.provider_id |
body |
[‘string’, ‘null’] |
The provider ID for the volume. The value is either a string set by the
driver or New in version 3.21 |
volume.service_uuid |
body |
string |
A unique identifier that’s used to indicate what node the volume-service for a particular volume is being serviced by. New in version 3.48 |
volume.shared_targets |
body |
boolean |
An indicator whether the host connecting the volume should lock for the
whole attach/detach process or not. New in version 3.69 |
volume.cluster_name |
body |
string |
The cluster name of volume backend. New in version 3.61 |
volume.consumes_quota |
body |
boolean |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
404¶
Error
Return data about the given volume.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume |
body |
object |
A |
volume.name |
body |
[‘string’, ‘null’] |
The volume name. |
volume.description |
body |
[‘string’, ‘null’] |
The volume description. |
volume.volume_type |
body |
string |
The associated volume type name for the volume. |
volume.metadata |
body |
object |
A |
volume.snapshot_id |
body |
string |
To create a volume from an existing snapshot, specify the UUID of the volume snapshot. The volume is created in same availability zone and with same size as the snapshot. |
volume.source_volid |
body |
string |
The UUID of the source volume. The API creates a new volume with the same size as the source volume unless a larger size is requested. |
volume.consistencygroup_id |
body |
string |
The UUID of the consistency group. |
volume.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
volume.availability_zone |
body |
string |
The name of the availability zone. |
volume.multiattach |
body |
boolean |
If true, this volume can attach to more than one instance. |
volume.status |
body |
string |
The volume status. |
volume.migration_status |
body |
string |
The volume migration status. Admin only. |
volume.encrypted |
body |
boolean |
If true, this volume is encrypted. |
volume.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
volume.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
volume.replication_status |
body |
string |
The volume replication status. |
volume.id |
body |
string |
The UUID of the volume. |
volume.user_id |
body |
string |
The UUID of the user. |
volume.volume_type_id |
body |
string |
The associated volume type ID for the volume. New in version 3.63 |
volume.group_id |
body |
string |
The ID of the group. New in version 3.13 |
volume.provider_id |
body |
[‘string’, ‘null’] |
The provider ID for the volume. The value is either a string set by the
driver or New in version 3.21 |
volume.service_uuid |
body |
string |
A unique identifier that’s used to indicate what node the volume-service for a particular volume is being serviced by. New in version 3.48 |
volume.shared_targets |
body |
boolean |
An indicator whether the host connecting the volume should lock for the
whole attach/detach process or not. New in version 3.69 |
volume.cluster_name |
body |
string |
The cluster name of volume backend. New in version 3.61 |
volume.consumes_quota |
body |
boolean |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
404¶
Error
Update a volume.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume |
body |
object |
A |
volume.name |
body |
[‘string’, ‘null’] |
The volume name. |
volume.description |
body |
[‘string’, ‘null’] |
The volume description. |
volume.volume_type |
body |
string |
The associated volume type name for the volume. |
volume.metadata |
body |
object |
A |
volume.snapshot_id |
body |
string |
To create a volume from an existing snapshot, specify the UUID of the volume snapshot. The volume is created in same availability zone and with same size as the snapshot. |
volume.source_volid |
body |
string |
The UUID of the source volume. The API creates a new volume with the same size as the source volume unless a larger size is requested. |
volume.consistencygroup_id |
body |
string |
The UUID of the consistency group. |
volume.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
volume.availability_zone |
body |
string |
The name of the availability zone. |
volume.multiattach |
body |
boolean |
If true, this volume can attach to more than one instance. |
volume.status |
body |
string |
The volume status. |
volume.migration_status |
body |
string |
The volume migration status. Admin only. |
volume.encrypted |
body |
boolean |
If true, this volume is encrypted. |
volume.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
volume.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
volume.replication_status |
body |
string |
The volume replication status. |
volume.id |
body |
string |
The UUID of the volume. |
volume.user_id |
body |
string |
The UUID of the user. |
volume.volume_type_id |
body |
string |
The associated volume type ID for the volume. New in version 3.63 |
volume.group_id |
body |
string |
The ID of the group. New in version 3.13 |
volume.provider_id |
body |
[‘string’, ‘null’] |
The provider ID for the volume. The value is either a string set by the
driver or New in version 3.21 |
volume.service_uuid |
body |
string |
A unique identifier that’s used to indicate what node the volume-service for a particular volume is being serviced by. New in version 3.48 |
volume.shared_targets |
body |
boolean |
An indicator whether the host connecting the volume should lock for the
whole attach/detach process or not. New in version 3.69 |
volume.cluster_name |
body |
string |
The cluster name of volume backend. New in version 3.61 |
volume.consumes_quota |
body |
boolean |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
404¶
Error
Creates a new volume.
param req: |
the request |
---|---|
param body: |
the request body |
returns: |
dict – the new volume dictionary |
raises HTTPNotFound, HTTPBadRequest: |
|
Request¶
Responses¶
202¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume |
body |
object |
A |
volume.name |
body |
[‘string’, ‘null’] |
The volume name. |
volume.description |
body |
[‘string’, ‘null’] |
The volume description. |
volume.volume_type |
body |
string |
The associated volume type name for the volume. |
volume.metadata |
body |
object |
A |
volume.snapshot_id |
body |
string |
To create a volume from an existing snapshot, specify the UUID of the volume snapshot. The volume is created in same availability zone and with same size as the snapshot. |
volume.source_volid |
body |
string |
The UUID of the source volume. The API creates a new volume with the same size as the source volume unless a larger size is requested. |
volume.consistencygroup_id |
body |
string |
The UUID of the consistency group. |
volume.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
volume.availability_zone |
body |
string |
The name of the availability zone. |
volume.multiattach |
body |
boolean |
If true, this volume can attach to more than one instance. |
volume.status |
body |
string |
The volume status. |
volume.migration_status |
body |
string |
The volume migration status. Admin only. |
volume.encrypted |
body |
boolean |
If true, this volume is encrypted. |
volume.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
volume.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
volume.replication_status |
body |
string |
The volume replication status. |
volume.id |
body |
string |
The UUID of the volume. |
volume.user_id |
body |
string |
The UUID of the user. |
volume.volume_type_id |
body |
string |
The associated volume type ID for the volume. New in version 3.63 |
volume.group_id |
body |
string |
The ID of the group. New in version 3.13 |
volume.provider_id |
body |
[‘string’, ‘null’] |
The provider ID for the volume. The value is either a string set by the
driver or New in version 3.21 |
volume.service_uuid |
body |
string |
A unique identifier that’s used to indicate what node the volume-service for a particular volume is being serviced by. New in version 3.48 |
volume.shared_targets |
body |
boolean |
An indicator whether the host connecting the volume should lock for the
whole attach/detach process or not. New in version 3.69 |
volume.cluster_name |
body |
string |
The cluster name of volume backend. New in version 3.61 |
volume.consumes_quota |
body |
boolean |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
404¶
Error
Return data about the given volume.
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume |
body |
object |
A |
volume.name |
body |
[‘string’, ‘null’] |
The volume name. |
volume.description |
body |
[‘string’, ‘null’] |
The volume description. |
volume.volume_type |
body |
string |
The associated volume type name for the volume. |
volume.metadata |
body |
object |
A |
volume.snapshot_id |
body |
string |
To create a volume from an existing snapshot, specify the UUID of the volume snapshot. The volume is created in same availability zone and with same size as the snapshot. |
volume.source_volid |
body |
string |
The UUID of the source volume. The API creates a new volume with the same size as the source volume unless a larger size is requested. |
volume.consistencygroup_id |
body |
string |
The UUID of the consistency group. |
volume.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
volume.availability_zone |
body |
string |
The name of the availability zone. |
volume.multiattach |
body |
boolean |
If true, this volume can attach to more than one instance. |
volume.status |
body |
string |
The volume status. |
volume.migration_status |
body |
string |
The volume migration status. Admin only. |
volume.encrypted |
body |
boolean |
If true, this volume is encrypted. |
volume.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
volume.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
volume.replication_status |
body |
string |
The volume replication status. |
volume.id |
body |
string |
The UUID of the volume. |
volume.user_id |
body |
string |
The UUID of the user. |
volume.volume_type_id |
body |
string |
The associated volume type ID for the volume. New in version 3.63 |
volume.group_id |
body |
string |
The ID of the group. New in version 3.13 |
volume.provider_id |
body |
[‘string’, ‘null’] |
The provider ID for the volume. The value is either a string set by the
driver or New in version 3.21 |
volume.service_uuid |
body |
string |
A unique identifier that’s used to indicate what node the volume-service for a particular volume is being serviced by. New in version 3.48 |
volume.shared_targets |
body |
boolean |
An indicator whether the host connecting the volume should lock for the
whole attach/detach process or not. New in version 3.69 |
volume.cluster_name |
body |
string |
The cluster name of volume backend. New in version 3.61 |
volume.consumes_quota |
body |
boolean |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
404¶
Error
Update a volume.
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
volume |
body |
object |
A |
volume.name |
body |
[‘string’, ‘null’] |
The volume name. |
volume.description |
body |
[‘string’, ‘null’] |
The volume description. |
volume.volume_type |
body |
string |
The associated volume type name for the volume. |
volume.metadata |
body |
object |
A |
volume.snapshot_id |
body |
string |
To create a volume from an existing snapshot, specify the UUID of the volume snapshot. The volume is created in same availability zone and with same size as the snapshot. |
volume.source_volid |
body |
string |
The UUID of the source volume. The API creates a new volume with the same size as the source volume unless a larger size is requested. |
volume.consistencygroup_id |
body |
string |
The UUID of the consistency group. |
volume.size |
body |
integer |
The size of the volume, in gibibytes (GiB). |
volume.availability_zone |
body |
string |
The name of the availability zone. |
volume.multiattach |
body |
boolean |
If true, this volume can attach to more than one instance. |
volume.status |
body |
string |
The volume status. |
volume.migration_status |
body |
string |
The volume migration status. Admin only. |
volume.encrypted |
body |
boolean |
If true, this volume is encrypted. |
volume.created_at |
body |
string |
The date and time when the resource was created. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The |
volume.updated_at |
body |
string |
The date and time when the resource was updated. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss±hh:mm
For example, The If the |
volume.replication_status |
body |
string |
The volume replication status. |
volume.id |
body |
string |
The UUID of the volume. |
volume.user_id |
body |
string |
The UUID of the user. |
volume.volume_type_id |
body |
string |
The associated volume type ID for the volume. New in version 3.63 |
volume.group_id |
body |
string |
The ID of the group. New in version 3.13 |
volume.provider_id |
body |
[‘string’, ‘null’] |
The provider ID for the volume. The value is either a string set by the
driver or New in version 3.21 |
volume.service_uuid |
body |
string |
A unique identifier that’s used to indicate what node the volume-service for a particular volume is being serviced by. New in version 3.48 |
volume.shared_targets |
body |
boolean |
An indicator whether the host connecting the volume should lock for the
whole attach/detach process or not. New in version 3.69 |
volume.cluster_name |
body |
string |
The cluster name of volume backend. New in version 3.61 |
volume.consumes_quota |
body |
boolean |
Whether this resource consumes quota or not. Resources that not counted for quota usage are usually temporary internal resources created to perform an operation. New in version 3.65 |
404¶
Error
version¶
workers¶
extensions¶
os-availability-zone¶
os-snapshot-manage¶
Instruct Cinder to manage a storage snapshot object.
Manages an existing backend storage snapshot object (e.g. a Linux logical volume or a SAN disk) by creating the Cinder objects required to manage it, and possibly renaming the backend storage snapshot object (driver dependent).
From an API perspective, this operation behaves very much like a snapshot creation operation.
Required HTTP Body:
{
"snapshot":
{
"volume_id": "<Cinder volume already exists in volume backend>",
"ref":
"<Driver-specific reference to the existing storage object>"
}
}
See the appropriate Cinder drivers’ implementations of the manage_snapshot method to find out the accepted format of ‘ref’. For example,in LVM driver, it will be the logic volume name of snapshot which you want to manage.
This API call will return with an error if any of the above elements are missing from the request, or if the ‘volume_id’ element refers to a cinder volume that could not be found.
The snapshot will later enter the error state if it is discovered that ‘ref’ is bad.
Optional elements to ‘snapshot’ are:
name A name for the new snapshot.
description A description for the new snapshot.
metadata Key/value pairs to be associated with the new snapshot.
Request¶
Responses¶
202¶
Ok
404¶
Error
Instruct Cinder to manage a storage snapshot object.
Manages an existing backend storage snapshot object (e.g. a Linux logical volume or a SAN disk) by creating the Cinder objects required to manage it, and possibly renaming the backend storage snapshot object (driver dependent).
From an API perspective, this operation behaves very much like a snapshot creation operation.
Required HTTP Body:
{
"snapshot":
{
"volume_id": "<Cinder volume already exists in volume backend>",
"ref":
"<Driver-specific reference to the existing storage object>"
}
}
See the appropriate Cinder drivers’ implementations of the manage_snapshot method to find out the accepted format of ‘ref’. For example,in LVM driver, it will be the logic volume name of snapshot which you want to manage.
This API call will return with an error if any of the above elements are missing from the request, or if the ‘volume_id’ element refers to a cinder volume that could not be found.
The snapshot will later enter the error state if it is discovered that ‘ref’ is bad.
Optional elements to ‘snapshot’ are:
name A name for the new snapshot.
description A description for the new snapshot.
metadata Key/value pairs to be associated with the new snapshot.
Request¶
Responses¶
202¶
Ok
404¶
Error
os-volume-manage¶
Instruct Cinder to manage a storage object.
Manages an existing backend storage object (e.g. a Linux logical volume or a SAN disk) by creating the Cinder objects required to manage it, and possibly renaming the backend storage object (driver dependent)
From an API perspective, this operation behaves very much like a volume creation operation, except that properties such as image, snapshot and volume references don’t make sense, because we are taking an existing storage object into Cinder management.
Required HTTP Body:
{
"volume": {
"host": "<Cinder host on which the existing storage resides>",
"cluster": "<Cinder cluster on which the storage resides>",
"ref": "<Driver-specific reference to existing storage object>"
}
}
See the appropriate Cinder drivers’ implementations of the manage_volume method to find out the accepted format of ‘ref’.
This API call will return with an error if any of the above elements are missing from the request, or if the ‘host’ element refers to a cinder host that is not registered.
The volume will later enter the error state if it is discovered that ‘ref’ is bad.
Optional elements to ‘volume’ are:
name A name for the new volume.
description A description for the new volume.
volume_type ID or name of a volume type to associate with
the new Cinder volume. Does not necessarily
guarantee that the managed volume will have the
properties described in the volume_type. The
driver may choose to fail if it identifies that
the specified volume_type is not compatible with
the backend storage object.
metadata Key/value pairs to be associated with the new
volume.
availability_zone The availability zone to associate with the new
volume.
bootable If set to True, marks the volume as bootable.
Request¶
Responses¶
202¶
Ok
404¶
Error
Instruct Cinder to manage a storage object.
Manages an existing backend storage object (e.g. a Linux logical volume or a SAN disk) by creating the Cinder objects required to manage it, and possibly renaming the backend storage object (driver dependent)
From an API perspective, this operation behaves very much like a volume creation operation, except that properties such as image, snapshot and volume references don’t make sense, because we are taking an existing storage object into Cinder management.
Required HTTP Body:
{
"volume": {
"host": "<Cinder host on which the existing storage resides>",
"cluster": "<Cinder cluster on which the storage resides>",
"ref": "<Driver-specific reference to existing storage object>"
}
}
See the appropriate Cinder drivers’ implementations of the manage_volume method to find out the accepted format of ‘ref’.
This API call will return with an error if any of the above elements are missing from the request, or if the ‘host’ element refers to a cinder host that is not registered.
The volume will later enter the error state if it is discovered that ‘ref’ is bad.
Optional elements to ‘volume’ are:
name A name for the new volume.
description A description for the new volume.
volume_type ID or name of a volume type to associate with
the new Cinder volume. Does not necessarily
guarantee that the managed volume will have the
properties described in the volume_type. The
driver may choose to fail if it identifies that
the specified volume_type is not compatible with
the backend storage object.
metadata Key/value pairs to be associated with the new
volume.
availability_zone The availability zone to associate with the new
volume.
bootable If set to True, marks the volume as bootable.
Request¶
Responses¶
202¶
Ok
404¶
Error