Block Storage

Version:
3.70

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.

Lists all attachments with details. Since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Available starting in the 3.27 microversion.

Responses

200

Ok

404

Error

Lists all attachments, since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Available starting in the 3.27 microversion.

Responses

200

Ok

404

Error

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’.
New in version 3.54

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

Empty body for os-complete action

Request

Responses

204

Ok

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’.
New in version 3.54

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’.
New in version 3.54

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

Delete an attachment.

Disconnects/Deletes the specified attachment, returns a list of any known shared attachment-id’s for the effected backend device.

returns: A summary list of any attachments sharing this connection

Responses

204

Ok

404

Error

Return a detailed list of attachments.

Responses

200

Ok

404

Error

Return a summary list of attachments.

Responses

200

Ok

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’.
New in version 3.54

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

Empty body for os-complete action

Request

Responses

204

Ok

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’.
New in version 3.54

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’.
New in version 3.54

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

Delete an attachment.

Disconnects/Deletes the specified attachment, returns a list of any known shared attachment-id’s for the effected backend device.

returns: A summary list of any attachments sharing this connection

Responses

204

Ok

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.

Lists Block Storage backups, with details, to which the project has access, since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

Lists Block Storage backups to which the project has access, since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

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 object.

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 object.

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 object.

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

Delete a backup.

Responses

202

Ok

404

Error

Returns a detailed list of backups.

Responses

200

Ok

404

Error

Returns a summary list of backups.

Responses

200

Ok

404

Error

Create a new backup.

Request

Responses

202

Ok

Name

Location

Type

Description

backup

body

object

A backup object.

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 object.

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 object.

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

Delete a backup.

Responses

202

Ok

404

Error

Import information about a backup.

Request

Responses

201

Ok

Name

Location

Type

Description

backup

body

object

A backup object.

backup.name

body

[‘string’, ‘null’]

The backup name.

backup.id

body

string

The UUID of the backup.

404

Error

Restore an existing backup to a volume.

Request

Responses

202

Ok

Name

Location

Type

Description

restore

body

object

restore.backup_id

body

string

The UUID for a backup.

restore.volume_id

body

string

The UUID of the volume.

restore.backup_name

body

string

The volume name.

404

Error

Request

Responses

202

Ok

404

Error

Empty body for os-force_delete action

Request

Responses

202

Ok

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

Import a backup.

Request

Responses

201

Ok

Name

Location

Type

Description

backup

body

object

A backup object.

backup.name

body

[‘string’, ‘null’]

The backup name.

backup.id

body

string

The UUID of the backup.

404

Error

Restore an existing backup to a volume.

Request

Responses

202

Ok

Name

Location

Type

Description

restore

body

object

restore.backup_id

body

string

The UUID for a backup.

restore.volume_id

body

string

The UUID of the volume.

restore.backup_name

body

string

The volume name.

404

Error

Request

Responses

202

Ok

404

Error

Empty body for os-force_delete action

Request

Responses

202

Ok

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.

Return capabilities list of given backend.

Responses

200

Ok

404

Error

Return capabilities list of given backend.

Responses

200

Ok

404

Error

cgsnapshots

Lists all, lists all with details, shows details for, creates, and deletes consistency group snapshots.

Lists all consistency group snapshots with details.

Responses

200

Ok

404

Error

Lists all consistency group snapshots.

Responses

200

Ok

404

Error

Creates a consistency group snapshot.

Request

Responses

202

Ok

404

Error

Return data about the given cgsnapshot.

Responses

200

Ok

404

Error

Delete a cgsnapshot.

Responses

204

Ok

404

Error

Returns a detailed list of cgsnapshots.

Responses

200

Ok

404

Error

Returns a summary list of cgsnapshots.

Responses

200

Ok

404

Error

Create a new cgsnapshot.

Request

Responses

202

Ok

404

Error

Return data about the given cgsnapshot.

Responses

200

Ok

404

Error

Delete a cgsnapshot.

Responses

204

Ok

404

Error

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.

Lists all clusters with details.

Available starting in the 3.7 microversion.

Responses

200

Ok

404

Error

Lists all clusters.

Available starting in the 3.7 microversion.

Responses

200

Ok

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.
New in version 3.26

cluster.active_backend_id

body

[‘string’, ‘null’]

The ID of active storage backend. Only in cinder-volume service.
New in version 3.26

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.
New in version 3.26

cluster.active_backend_id

body

[‘string’, ‘null’]

The ID of active storage backend. Only in cinder-volume service.
New in version 3.26

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 a detailed list of all existing clusters.

Filter by is_up, disabled, num_hosts, and num_down_hosts.

Responses

200

Ok

404

Error

Return a non detailed list of all existing clusters.

Filter by is_up, disabled, num_hosts, and num_down_hosts.

Responses

200

Ok

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.
New in version 3.26

cluster.active_backend_id

body

[‘string’, ‘null’]

The ID of active storage backend. Only in cinder-volume service.
New in version 3.26

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.
New in version 3.26

cluster.active_backend_id

body

[‘string’, ‘null’]

The ID of active storage backend. Only in cinder-volume service.
New in version 3.26

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.

Lists consistency groups with details.

Responses

200

Ok

404

Error

Lists consistency groups.

Responses

200

Ok

404

Error

Creates a consistency group.

Request

Responses

202

Ok

404

Error

Return data about the given consistency group.

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

Delete a consistency group.

Responses

204

Ok

404

Error

Returns a detailed list of consistency groups.

Responses

200

Ok

404

Error

Returns a summary list of consistency groups.

Responses

200

Ok

404

Error

Create a new consistency group.

Request

Responses

202

Ok

404

Error

Return data about the given consistency group.

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

Delete a consistency group.

Responses

204

Ok

404

Error

Creates a consistency group from source.

Request

Responses

202

Ok

404

Error

Delete a consistency group.

Request

Responses

201

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

Create a new consistency group from a source.

The source can be a CG snapshot or a CG. Note that this does not require volume_types as the “create” API above.

Request

Responses

202

Ok

404

Error

Delete a consistency group.

Request

Responses

201

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

Return detail of a default type.

Responses

200

Ok

Name

Location

Type

Description

default_type

body

object

default_type.project_id

body

string

The UUID of the project.

default_type.volume_type_id

body

string

The UUID for an existing volume type.

404

Error

Set a default volume type for the specified project.

Request

Responses

200

Ok

Name

Location

Type

Description

default_type

body

object

default_type.project_id

body

string

The UUID of the project.

default_type.volume_type_id

body

string

The UUID for an existing volume type.

404

Error

Unset a default volume type for a project.

Responses

204

Ok

404

Error

Return a list of default types.

Responses

200

Ok

404

Error

group_snapshots

Lists all, lists all with details, shows details for, creates, and deletes group snapshots.

Lists all group snapshots with details. Since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

Lists all group snapshots, since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

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.
New in version 3.58

group_snapshot.name

body

[‘string’, ‘null’]

The group snapshot name.

group_snapshot.id

body

string

The ID of the group snapshot.

404

Error

Request

Responses

201

Ok

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.
New in version 3.58

group_snapshot.name

body

[‘string’, ‘null’]

The group snapshot name.

group_snapshot.id

body

string

The ID of the group snapshot.

404

Error

Delete a group_snapshot.

Responses

204

Ok

404

Error

Returns a detailed list of group_snapshots.

Responses

200

Ok

404

Error

Returns a summary list of group_snapshots.

Responses

200

Ok

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.
New in version 3.58

group_snapshot.name

body

[‘string’, ‘null’]

The group snapshot name.

group_snapshot.id

body

string

The ID of the group snapshot.

404

Error

Request

Responses

201

Ok

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.
New in version 3.58

group_snapshot.name

body

[‘string’, ‘null’]

The group snapshot name.

group_snapshot.id

body

string

The ID of the group snapshot.

404

Error

Delete a group_snapshot.

Responses

204

Ok

404

Error

group_types

To create a generic volume group, you must specify a group type.

Lists group types.

Responses

200

Ok

404

Error

Creates a group type.

Request

Responses

202

Ok

Name

Location

Type

Description

group_type

body

object

A group_type object.

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 object.

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 object.

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

Deletes an existing group type.

Responses

204

Ok

404

Error

Returns the list of group types.

Responses

200

Ok

404

Error

Creates a new group type.

Request

Responses

202

Ok

Name

Location

Type

Description

group_type

body

object

A group_type object.

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 object.

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 object.

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

Deletes an existing group type.

Responses

204

Ok

404

Error

List all the group specs for a group type,

Responses

200

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

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

Return a single extra spec item.

Responses

200

Ok

404

Error

Request

Responses

200

Ok

404

Error

Deletes an existing group spec.

Responses

204

Ok

404

Error

Returns the list of group specs for a given group type.

Responses

200

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

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

Return a single extra spec item.

Responses

200

Ok

404

Error

Request

Responses

200

Ok

404

Error

Deletes an existing group spec.

Responses

204

Ok

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.

Lists groups with details, since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

Lists groups. Since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

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.
New in version 3.38

group.project_id

body

[‘string’, ‘null’]

The UUID of the volume group project.
New in version 3.58

group.name

body

[‘string’, ‘null’]

The group name.

group.id

body

string

The UUID of the group.

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

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.
New in version 3.38

group.project_id

body

[‘string’, ‘null’]

The UUID of the volume group project.
New in version 3.58

group.name

body

[‘string’, ‘null’]

The group name.

group.id

body

string

The UUID of the group.

404

Error

Update the group.

Expected format of the input parameter ‘body’:


{
    "group":
    {
        "name": "my_group",
        "description": "My group",
        "add_volumes": "volume-uuid-1,volume-uuid-2,...",
        "remove_volumes": "volume-uuid-8,volume-uuid-9,..."
    }
}

Request

Responses

200

Ok

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

Returns a detailed list of groups.

Responses

200

Ok

404

Error

Returns a summary list of groups.

Responses

200

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.
New in version 3.38

group.project_id

body

[‘string’, ‘null’]

The UUID of the volume group project.
New in version 3.58

group.name

body

[‘string’, ‘null’]

The group name.

group.id

body

string

The UUID of the group.

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

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.
New in version 3.38

group.project_id

body

[‘string’, ‘null’]

The UUID of the volume group project.
New in version 3.58

group.name

body

[‘string’, ‘null’]

The group name.

group.id

body

string

The UUID of the group.

404

Error

Update the group.

Expected format of the input parameter ‘body’:


{
    "group":
    {
        "name": "my_group",
        "description": "My group",
        "add_volumes": "volume-uuid-1,volume-uuid-2,...",
        "remove_volumes": "volume-uuid-8,volume-uuid-9,..."
    }
}

Request

Responses

200

Ok

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

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

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 limit objects.

limits.absolute

body

object

An absolute limits object.

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 limit objects.

limits.absolute

body

object

An absolute limits object.

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.

Search a volume backend and list detail of snapshots which are available to manage.

Responses

200

Ok

404

Error

Search a volume backend and list summary of snapshots which are available to manage.

Responses

200

Ok

404

Error

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 object.

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
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

snapshot.name

body

[‘string’, ‘null’]

The name of the snapshot. Default is None.

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.
New in version 3.45

404

Error

Returns a detailed list of volumes available to manage.

Responses

200

Ok

404

Error

Returns a summary list of volumes available to manage.

Responses

200

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

Name

Location

Type

Description

snapshot

body

object

A snapshot object.

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
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

snapshot.name

body

[‘string’, ‘null’]

The name of the snapshot. Default is None.

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.
New in version 3.45

404

Error

manageable_volumes

Creates or lists volumes by using existing storage instead of allocating new storage.

Search a volume backend and list detail of volumes which are available to manage.

Responses

200

Ok

404

Error

Search a volume backend and list summary of volumes which are available to manage.

Responses

200

Ok

404

Error

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 volume_type object.

metadata

body

object

A metadata object. Contains one or more metadata key and value pairs that are associated with the 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.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

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.
New in version 3.63

group_id

body

string

The ID of the group.
New in version 3.63

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.
New in version 3.21

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

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.
New in version 3.48

cluster_name

body

string

The cluster name of volume backend.
New in version 3.61

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

Returns a detailed list of volumes available to manage.

Responses

200

Ok

404

Error

Returns a summary list of volumes available to manage.

Responses

200

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

Name

Location

Type

Description

name

body

[‘string’, ‘null’]

The volume name.

description

body

[‘string’, ‘null’]

The volume description.

volume_type

body

string

A volume_type object.

metadata

body

object

A metadata object. Contains one or more metadata key and value pairs that are associated with the 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.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

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.
New in version 3.63

group_id

body

string

The ID of the group.
New in version 3.63

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.
New in version 3.21

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

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.
New in version 3.48

cluster_name

body

string

The cluster name of volume backend.
New in version 3.61

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

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.

Lists all messages, since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

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 user_message.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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 resource_uuid.

message.user_message

body

string

The translated readable message corresponding to event_id.

404

Error

Delete a message.

Responses

204

Ok

404

Error

Returns a list of messages, transformed through view builder.

Responses

200

Ok

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 user_message.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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 resource_uuid.

message.user_message

body

string

The translated readable message corresponding to event_id.

404

Error

Delete a message.

Responses

204

Ok

404

Error

os-hosts

Administrators only, depending on policy settings.

Lists, shows hosts.

Responses

200

Ok

404

Error

Request of the project_id/os-hosts:put operation

Request

Responses

200

Ok

404

Error

Shows the volume usage info given by hosts.

param req:

security context

param id:

hostname

returns:

dict – the host resources dictionary. ex.: {'host': [{'resource': D},..]} D: {'host': 'hostname','project': 'admin',     'volume_count': 1, 'total_volume_gb': 2048}

Responses

200

Ok

404

Error

Request of the project_id/os-hosts/id:put operation

Request

Responses

200

Ok

404

Error

Responses

200

Ok

404

Error

Request of the project_id/os-hosts:put operation

Request

Responses

200

Ok

404

Error

Shows the volume usage info given by hosts.

param req:

security context

param id:

hostname

returns:

dict – the host resources dictionary. ex.: {'host': [{'resource': D},..]} D: {'host': 'hostname','project': 'admin',     'volume_count': 1, 'total_volume_gb': 2048}

Responses

200

Ok

404

Error

Request of the project_id/os-hosts/id:put operation

Request

Responses

200

Ok

404

Error

os-quota-class-sets

Administrators only, depending on policy settings.

Shows and updates quota classes for a project.

Responses

200

Ok

404

Error

Request

Responses

200

Ok

404

Error

Responses

200

Ok

404

Error

Request

Responses

200

Ok

404

Error

os-quota-sets

Administrators only, depending on policy settings.

Shows and updates, and deletes quotas for a project.

Responses

200

Ok

404

Error

Show quota for a particular tenant

param req:

request

param id:

target project id that needs to be shown

Responses

200

Ok

404

Error

Update Quota for a particular tenant

param req:

request

param id:

target project id that needs to be updated

param body:

key, value pair that will be applied to the resources if the update succeeds

Request

Responses

200

Ok

404

Error

Delete Quota for a particular tenant.

param req:

request

param id:

target project id that needs to be deleted

Responses

204

Ok

404

Error

Responses

200

Ok

404

Error

Show quota for a particular tenant

param req:

request

param id:

target project id that needs to be shown

Responses

200

Ok

404

Error

Update Quota for a particular tenant

param req:

request

param id:

target project id that needs to be updated

param body:

key, value pair that will be applied to the resources if the update succeeds

Request

Responses

200

Ok

404

Error

Delete Quota for a particular tenant.

param req:

request

param id:

target project id that needs to be deleted

Responses

204

Ok

404

Error

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.

Lists all Cinder services. Provides details why any services were disabled.

Responses

200

Ok

404

Error

Enable/Disable scheduling for a service.

Includes Freeze/Thaw which sends call down to drivers and allows volume.manager for the specified host to disable the service rather than accessing the service directly in this API layer.

Request

Responses

200

Ok

404

Error

Return a list of all running services.

Filter by host & service name.

Responses

200

Ok

404

Error

Enable/Disable scheduling for a service.

Includes Freeze/Thaw which sends call down to drivers and allows volume.manager for the specified host to disable the service rather than accessing the service directly in this API layer.

Request

Responses

200

Ok

404

Error

os-volume-transfer

Transfers a volume from one user to another user.

Lists volume transfers, with details.

Responses

200

Ok

404

Error

Lists volume transfers.

Responses

200

Ok

404

Error

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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

Delete a transfer.

Responses

204

Ok

404

Error

Returns a detailed list of transfers.

Responses

200

Ok

404

Error

Returns a summary list of transfers.

Responses

200

Ok

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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

Delete a transfer.

Responses

204

Ok

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.

Lists quality of service (QoS) specifications.

Responses

200

Ok

404

Error

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 object.

qos_specs.consumer

body

string

The consumer type.

qos_specs.specs

body

object

A specs object.

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

List all associations of given qos specs.

Responses

200

Ok

404

Error

Associate a qos specs with a volume type.

Responses

202

Accepted

404

Error

Disassociate a qos specs from a volume type.

Responses

202

Accepted

404

Error

Disassociate a qos specs from all volume types.

Responses

202

Accepted

404

Error

Deletes specified keys in qos specs.

Request

Responses

200

Ok

404

Error

Return a single qos spec item.

Responses

200

Ok

Name

Location

Type

Description

qos_specs

body

object

A qos_specs object.

qos_specs.consumer

body

string

The consumer type.

qos_specs.specs

body

object

A specs object.

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 object.

qos_specs.consumer

body

string

The consumer type.

qos_specs.specs

body

object

A specs object.

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

Deletes an existing qos specs.

Responses

204

Ok

404

Error

Returns the list of qos_specs.

Responses

200

Ok

404

Error

Request

Responses

201

Ok

Name

Location

Type

Description

qos_specs

body

object

A qos_specs object.

qos_specs.consumer

body

string

The consumer type.

qos_specs.specs

body

object

A specs object.

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

List all associations of given qos specs.

Responses

200

Ok

404

Error

Associate a qos specs with a volume type.

Responses

202

Accepted

404

Error

Disassociate a qos specs from a volume type.

Responses

202

Accepted

404

Error

Disassociate a qos specs from all volume types.

Responses

202

Accepted

404

Error

Deletes specified keys in qos specs.

Request

Responses

200

Ok

404

Error

Return a single qos spec item.

Responses

200

Ok

Name

Location

Type

Description

qos_specs

body

object

A qos_specs object.

qos_specs.consumer

body

string

The consumer type.

qos_specs.specs

body

object

A specs object.

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 object.

qos_specs.consumer

body

string

The consumer type.

qos_specs.specs

body

object

A specs object.

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

Deletes an existing qos specs.

Responses

204

Ok

404

Error

resource_filters

Lists all resource filters, available since microversion 3.33.

List filters.

Responses

200

Ok

404

Error

Return a list of resource filters.

Responses

200

Ok

404

Error

scheduler-stats

Administrator only. Lists all back-end storage pools that are known to the scheduler service.

Lists all back-end storage pools. Since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

List all active pools in scheduler.

Responses

200

Ok

404

Error

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.

Lists all Block Storage snapshots, with details, that the project can access, since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

Lists all Block Storage snapshots, with summary information, that the project can access, since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

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 object.

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
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

snapshot.name

body

[‘string’, ‘null’]

The name of the snapshot. Default is None.

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.
New in version 3.45

404

Error

Empty body for os-reset_status action

Request

Responses

201

Ok

202

Ok

404

Error

Empty body for os-force_delete action

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Empty body for os-unmanage action

Request

Responses

201

Ok

202

Ok

404

Error

Return data about the given snapshot.

Responses

200

Ok

Name

Location

Type

Description

snapshot

body

object

A snapshot object.

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
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

snapshot.name

body

[‘string’, ‘null’]

The name of the snapshot. Default is None.

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.
New in version 3.45

404

Error

Update a snapshot.

Request

Responses

200

Ok

Name

Location

Type

Description

snapshot

body

object

A snapshot object.

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
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

snapshot.name

body

[‘string’, ‘null’]

The name of the snapshot. Default is None.

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.
New in version 3.45

404

Error

Delete a snapshot.

Responses

204

Ok

404

Error

Returns a detailed list of snapshots.

Responses

200

Ok

404

Error

Returns a summary list of snapshots.

Responses

200

Ok

404

Error

Creates a new snapshot.

Request

Responses

202

Ok

Name

Location

Type

Description

snapshot

body

object

A snapshot object.

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
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

snapshot.name

body

[‘string’, ‘null’]

The name of the snapshot. Default is None.

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.
New in version 3.45

404

Error

Empty body for os-reset_status action

Request

Responses

201

Ok

202

Ok

404

Error

Empty body for os-force_delete action

Request

Responses

201

Ok

202

Ok

404

Error

Request

Responses

201

Ok

202

Ok

404

Error

Empty body for os-unmanage action

Request

Responses

201

Ok

202

Ok

404

Error

Return data about the given snapshot.

Responses

200

Ok

Name

Location

Type

Description

snapshot

body

object

A snapshot object.

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
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

snapshot.name

body

[‘string’, ‘null’]

The name of the snapshot. Default is None.

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.
New in version 3.45

404

Error

Update a snapshot.

Request

Responses

200

Ok

Name

Location

Type

Description

snapshot

body

object

A snapshot object.

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
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

snapshot.name

body

[‘string’, ‘null’]

The name of the snapshot. Default is None.

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.
New in version 3.45

404

Error

Delete a snapshot.

Responses

204

Ok

404

Error

Shows metadata for a snapshot.

Responses

200

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Updates metadata for a snapshot.

Creates or replaces metadata items that match keys. Does not modify items that are not in the request.

Request

Responses

201

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Replaces all the snapshot’s metadata with the key-value pairs in the request.

Request

Responses

200

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Return a single metadata item.

Responses

200

Ok

Name

Location

Type

Description

meta

body

object

A metadata object. Contains one or more metadata key and value pairs that are associated with the resource.

404

Error

Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes.

Request

Responses

200

Ok

Name

Location

Type

Description

meta

body

object

A metadata object. Contains one or more metadata key and value pairs that are associated with the resource.

404

Error

Deletes an existing metadata.

Responses

204

Ok

404

Error

Returns the list of metadata for a given snapshot.

Responses

200

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes.

Request

Responses

201

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes.

Request

Responses

200

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Return a single metadata item.

Responses

200

Ok

Name

Location

Type

Description

meta

body

object

A metadata object. Contains one or more metadata key and value pairs that are associated with the resource.

404

Error

Metadata key and value pairs. The maximum size for each metadata key and value pair is 255 bytes.

Request

Responses

200

Ok

Name

Location

Type

Description

meta

body

object

A metadata object. Contains one or more metadata key and value pairs that are associated with the resource.

404

Error

Deletes an existing metadata.

Responses

204

Ok

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 object.

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

201

Ok

404

Error

Request

Responses

201

Ok

404

Error

Empty body for delete action

Request

Responses

201

Ok

404

Error

Request

Responses

201

Ok

404

Error

Request

Responses

201

Ok

404

Error

Return a single volume type item.

Responses

200

Ok

Name

Location

Type

Description

volume_type

body

object

A volume_type object.

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 object.

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

Deletes an existing volume type.

Responses

204

Ok

404

Error

Returns the list of volume types.

Responses

200

Ok

404

Error

Creates a new volume type.

Request

Responses

201

Ok

Name

Location

Type

Description

volume_type

body

object

A volume_type object.

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

201

Ok

404

Error

Request

Responses

201

Ok

404

Error

Empty body for delete action

Request

Responses

201

Ok

404

Error

Request

Responses

201

Ok

404

Error

Request

Responses

201

Ok

404

Error

Return a single volume type item.

Responses

200

Ok

Name

Location

Type

Description

volume_type

body

object

A volume_type object.

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 object.

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

Deletes an existing volume type.

Responses

204

Ok

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

Return a single extra spec item.

Responses

200

Ok

404

Error

Request

Responses

200

Ok

404

Error

Deletes an existing extra spec.

Responses

202

Ok

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

Return a single extra spec item.

Responses

200

Ok

404

Error

Request

Responses

200

Ok

404

Error

Deletes an existing extra spec.

Responses

202

Ok

404

Error

Responses

200

Ok

404

Error

Responses

200

Ok

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

Return a single encryption item.

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.

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

Delete encryption specs for a given volume type.

Responses

204

Ok

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

Return a single encryption item.

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.

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

Delete encryption specs for a given volume type.

Responses

204

Ok

404

Error

volume-transfers

Transfers a volume from one user to another user. This is the new transfer APIs with microversion 3.55.

Lists volume transfers, with details.

Responses

200

Ok

404

Error

Lists volume transfers.

Responses

200

Ok

404

Error

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

transfer.destination_project_id

body

string

Records the destination project_id after volume transfer.

New in version 3.57
New in version 3.57

transfer.source_project_id

body

string

Records the source project_id before volume transfer.

New in version 3.57
New in version 3.57

transfer.accepted

body

boolean

Records if this transfer was accepted or not.

New in version 3.57
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

transfer.destination_project_id

body

string

Records the destination project_id after volume transfer.

New in version 3.57
New in version 3.57

transfer.source_project_id

body

string

Records the source project_id before volume transfer.

New in version 3.57
New in version 3.57

transfer.accepted

body

boolean

Records if this transfer was accepted or not.

New in version 3.57
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

transfer.destination_project_id

body

string

Records the destination project_id after volume transfer.

New in version 3.57
New in version 3.57

transfer.source_project_id

body

string

Records the source project_id before volume transfer.

New in version 3.57
New in version 3.57

transfer.accepted

body

boolean

Records if this transfer was accepted or not.

New in version 3.57
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
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

Delete a transfer.

Responses

204

Ok

404

Error

Returns a detailed list of transfers.

Responses

200

Ok

404

Error

Returns a summary list of transfers.

Responses

200

Ok

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

transfer.destination_project_id

body

string

Records the destination project_id after volume transfer.

New in version 3.57
New in version 3.57

transfer.source_project_id

body

string

Records the source project_id before volume transfer.

New in version 3.57
New in version 3.57

transfer.accepted

body

boolean

Records if this transfer was accepted or not.

New in version 3.57
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

transfer.destination_project_id

body

string

Records the destination project_id after volume transfer.

New in version 3.57
New in version 3.57

transfer.source_project_id

body

string

Records the source project_id before volume transfer.

New in version 3.57
New in version 3.57

transfer.accepted

body

boolean

Records if this transfer was accepted or not.

New in version 3.57
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
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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

transfer.destination_project_id

body

string

Records the destination project_id after volume transfer.

New in version 3.57
New in version 3.57

transfer.source_project_id

body

string

Records the source project_id before volume transfer.

New in version 3.57
New in version 3.57

transfer.accepted

body

boolean

Records if this transfer was accepted or not.

New in version 3.57
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
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

Delete a transfer.

Responses

204

Ok

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.

Lists all Block Storage volumes, with details, that the project can access, since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

Display volumes summary with total number of volumes and total size in GB. Available since API microversion 3.12.

Responses

200

Ok

404

Error

Lists summary information for all Block Storage volumes that the project can access, since v3.31 if non-admin users specify invalid filters in the url, API will return bad request.

Responses

200

Ok

404

Error

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 object.

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 metadata object. Contains one or more metadata key and value pairs that are associated with the volume.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

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
New in version 3.63

volume.group_id

body

string

The ID of the group.

New in version 3.13
New in version 3.63

volume.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.

New in version 3.21
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
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. 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.

New in version 3.69
New in version 3.48

volume.cluster_name

body

string

The cluster name of volume backend.

New in version 3.61
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
New in version 3.65

404

Error

Empty body for revert action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-reset_status action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-force_delete action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-reserve action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-unreserve action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-begin_detaching action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-roll_detaching action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-show_image_metadata action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-unmanage action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Return data about the given volume.

Responses

200

Ok

Name

Location

Type

Description

volume

body

object

A volume object.

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 metadata object. Contains one or more metadata key and value pairs that are associated with the volume.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

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
New in version 3.63

volume.group_id

body

string

The ID of the group.

New in version 3.13
New in version 3.63

volume.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.

New in version 3.21
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
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. 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.

New in version 3.69
New in version 3.48

volume.cluster_name

body

string

The cluster name of volume backend.

New in version 3.61
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
New in version 3.65

404

Error

Update a volume.

Request

Responses

200

Ok

Name

Location

Type

Description

volume

body

object

A volume object.

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 metadata object. Contains one or more metadata key and value pairs that are associated with the volume.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

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
New in version 3.63

volume.group_id

body

string

The ID of the group.

New in version 3.13
New in version 3.63

volume.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.

New in version 3.21
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
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. 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.

New in version 3.69
New in version 3.48

volume.cluster_name

body

string

The cluster name of volume backend.

New in version 3.61
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
New in version 3.65

404

Error

Delete a volume.

Responses

204

Ok

404

Error

Returns a detailed list of volumes.

Responses

200

Ok

404

Error

Return summary of volumes.

Responses

200

Ok

404

Error

Returns a summary list of volumes.

Responses

200

Ok

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 object.

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 metadata object. Contains one or more metadata key and value pairs that are associated with the volume.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

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
New in version 3.63

volume.group_id

body

string

The ID of the group.

New in version 3.13
New in version 3.63

volume.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.

New in version 3.21
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
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. 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.

New in version 3.69
New in version 3.48

volume.cluster_name

body

string

The cluster name of volume backend.

New in version 3.61
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
New in version 3.65

404

Error

Empty body for revert action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-reset_status action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-force_delete action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-reserve action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-unreserve action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-begin_detaching action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-roll_detaching action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-show_image_metadata action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Empty body for os-unmanage action

Request

Responses

200

Ok

201

Ok

202

Ok

404

Error

Return data about the given volume.

Responses

200

Ok

Name

Location

Type

Description

volume

body

object

A volume object.

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 metadata object. Contains one or more metadata key and value pairs that are associated with the volume.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

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
New in version 3.63

volume.group_id

body

string

The ID of the group.

New in version 3.13
New in version 3.63

volume.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.

New in version 3.21
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
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. 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.

New in version 3.69
New in version 3.48

volume.cluster_name

body

string

The cluster name of volume backend.

New in version 3.61
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
New in version 3.65

404

Error

Update a volume.

Request

Responses

200

Ok

Name

Location

Type

Description

volume

body

object

A volume object.

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 metadata object. Contains one or more metadata key and value pairs that are associated with the volume.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

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, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC. In the previous example, the offset value is -05:00.

If the updated_at date and time stamp is not set, its value is null.

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
New in version 3.63

volume.group_id

body

string

The ID of the group.

New in version 3.13
New in version 3.63

volume.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.

New in version 3.21
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
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. 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.

New in version 3.69
New in version 3.48

volume.cluster_name

body

string

The cluster name of volume backend.

New in version 3.61
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
New in version 3.65

404

Error

Delete a volume.

Responses

204

Ok

404

Error

Shows metadata for a volume.

Responses

200

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Creates or replaces metadata for a volume. Does not modify items that are not in the request.

Request

Responses

201

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Replaces all the volume’s metadata with the key-value pairs in the request.

Request

Responses

200

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Return a single metadata item.

Responses

200

Ok

Name

Location

Type

Description

meta

body

object

A metadata object. Contains one or more metadata key and value pairs that are associated with the resource.

404

Error

Request

Responses

200

Ok

Name

Location

Type

Description

meta

body

object

A metadata object. Contains one or more metadata key and value pairs that are associated with the resource.

404

Error

Deletes an existing metadata.

Responses

204

Ok

404

Error

Returns the list of metadata for a given volume.

Responses

200

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Request

Responses

201

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Request

Responses

200

Ok

Name

Location

Type

Description

metadata

body

object

One or more metadata key and value pairs for the snapshot, if any.

404

Error

Return a single metadata item.

Responses

200

Ok

Name

Location

Type

Description

meta

body

object

A metadata object. Contains one or more metadata key and value pairs that are associated with the resource.

404

Error

Request

Responses

200

Ok

Name

Location

Type

Description

meta

body

object

A metadata object. Contains one or more metadata key and value pairs that are associated with the resource.

404

Error

Deletes an existing metadata.

Responses

204

Ok

404

Error

Returns the encryption metadata for a given volume.

Responses

200

Ok

404

Error

Return a single encryption item.

Responses

200

Ok

404

Error

Returns the encryption metadata for a given volume.

Responses

200

Ok

404

Error

Return a single encryption item.

Responses

200

Ok

404

Error

version

Shows details for Block Storage API v3.

Responses

200

Ok

404

Error

workers

Do the cleanup on resources from a specific service/host/node.

Request

Responses

202

Ok

404

Error

Do the cleanup on resources from a specific service/host/node.

Request

Responses

202

Ok

404

Error

extensions

Lists Block Storage API extensions.

Responses

200

Ok

404

Error

Responses

200

Ok

404

Error

os-availability-zone

Describe all known availability zones.

Responses

200

Ok

404

Error

Describe all known availability zones.

Responses

200

Ok

404

Error

os-snapshot-manage

Returns a detailed list of snapshots available to manage.

Responses

200

Ok

404

Error

Returns a summary list of snapshots available to manage.

Responses

200

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

Returns a detailed list of snapshots available to manage.

Responses

200

Ok

404

Error

Returns a summary list of snapshots available to manage.

Responses

200

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

Returns a detailed list of volumes available to manage.

Responses

200

Ok

404

Error

Returns a summary list of volumes available to manage.

Responses

200

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

Returns a detailed list of volumes available to manage.

Responses

200

Ok

404

Error

Returns a summary list of volumes available to manage.

Responses

200

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