Block Storage API

For details on how to use block_storage, see Using OpenStack Block Storage

The BlockStorage Class

The block_storage high-level interface is available through the block_storage member of a Connection object. The block_storage member will only be added if the service is detected.

Volume Operations

class openstack.block_storage.v3._proxy.Proxy(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs)
get_volume(volume)

Get a single volume

Parameters

volume – The value can be the ID of a volume or a Volume instance.

Returns

One Volume

Raises

ResourceNotFound when no resource can be found.

volumes(details=True, **query)

Retrieve a generator of volumes

Parameters
  • details (bool) – When set to False no extended attributes will be returned. The default, True, will cause objects with additional attributes to be returned.

  • query (kwargs) –

    Optional query parameters to be sent to limit the volumes being returned. Available parameters include:

    • name: Name of the volume as a string.

    • all_projects: Whether return the volumes in all projects

    • status: Value of the status of the volume so that you can filter

      on “available” for example.

Returns

A generator of volume objects.

create_volume(**attrs)

Create a new volume from attributes

Parameters

attrs (dict) – Keyword arguments which will be used to create a Volume, comprised of the properties on the Volume class.

Returns

The results of volume creation

Return type

Volume

delete_volume(volume, ignore_missing=True)

Delete a volume

Parameters
  • volume – The value can be either the ID of a volume or a Volume instance.

  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the volume does not exist. When set to True, no exception will be set when attempting to delete a nonexistent volume.

Returns

None

Backup Operations

class openstack.block_storage.v3._proxy.Proxy(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs)
backups(details=True, **query)

Retrieve a generator of backups

Parameters
  • details (bool) – When set to False no additional details will be returned. The default, True, will cause objects with additional attributes to be returned.

  • query (dict) –

    Optional query parameters to be sent to limit the resources being returned:

    • offset: pagination marker

    • limit: pagination limit

    • sort_key: Sorts by an attribute. A valid value is

      name, status, container_format, disk_format, size, id, created_at, or updated_at. Default is created_at. The API uses the natural sorting direction of the sort_key attribute value.

    • sort_dir: Sorts by one or more sets of attribute and sort

      direction combinations. If you omit the sort direction in a set, default is desc.

    • project_id: Project ID to query backups for.

Returns

A generator of backup objects.

get_backup(backup)

Get a backup

Parameters

backup – The value can be the ID of a backup or a Backup instance.

Returns

Backup instance

Return type

Backup

create_backup(**attrs)

Create a new Backup from attributes with native API

Parameters

attrs (dict) – Keyword arguments which will be used to create a Backup comprised of the properties on the Backup class.

Returns

The results of Backup creation

Return type

Backup

delete_backup(backup, ignore_missing=True)

Delete a CloudBackup

Parameters
  • backup – The value can be the ID of a backup or a Backup instance

  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the zone does not exist. When set to True, no exception will be set when attempting to delete a nonexistent zone.

Returns

None

restore_backup(backup, volume_id=None, name=None)

Restore a Backup to volume

Parameters
  • backup – The value can be the ID of a backup or a Backup instance

  • volume_id – The ID of the volume to restore the backup to.

  • name – The name for new volume creation to restore.

Returns

Updated backup instance

Return type

Backup

Type Operations

class openstack.block_storage.v3._proxy.Proxy(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs)
get_type(type)

Get a single type

Parameters

type – The value can be the ID of a type or a Type instance.

Returns

One Type

Raises

ResourceNotFound when no resource can be found.

types(**query)

Retrieve a generator of volume types

Returns

A generator of volume type objects.

create_type(**attrs)

Create a new type from attributes

Parameters

attrs (dict) – Keyword arguments which will be used to create a Type, comprised of the properties on the Type class.

Returns

The results of type creation

Return type

Type

delete_type(type, ignore_missing=True)

Delete a type

Parameters
  • type – The value can be either the ID of a type or a Type instance.

  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the type does not exist. When set to True, no exception will be set when attempting to delete a nonexistent type.

Returns

None

Snapshot Operations

class openstack.block_storage.v3._proxy.Proxy(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs)
get_snapshot(snapshot)

Get a single snapshot

Parameters

snapshot – The value can be the ID of a snapshot or a Snapshot instance.

Returns

One Snapshot

Raises

ResourceNotFound when no resource can be found.

snapshots(details=True, **query)

Retrieve a generator of snapshots

Parameters
  • details (bool) – When set to False Snapshot objects will be returned. The default, True, will cause more attributes to be returned.

  • query (kwargs) –

    Optional query parameters to be sent to limit the snapshots being returned. Available parameters include:

    • name: Name of the snapshot as a string.

    • all_projects: Whether return the snapshots in all projects.

    • project_id: Filter the snapshots by project.

    • volume_id: volume id of a snapshot.

    • status: Value of the status of the snapshot so that you can

      filter on “available” for example.

Returns

A generator of snapshot objects.

create_snapshot(**attrs)

Create a new snapshot from attributes

Parameters

attrs (dict) – Keyword arguments which will be used to create a Snapshot, comprised of the properties on the Snapshot class.

Returns

The results of snapshot creation

Return type

Snapshot

delete_snapshot(snapshot, ignore_missing=True)

Delete a snapshot

Parameters
  • snapshot – The value can be either the ID of a snapshot or a Snapshot instance.

  • ignore_missing (bool) – When set to False ResourceNotFound will be raised when the snapshot does not exist. When set to True, no exception will be set when attempting to delete a nonexistent snapshot.

Returns

None

Stats Operations

class openstack.block_storage.v3._proxy.Proxy(session, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None, *args, **kwargs)
backend_pools(**query)

Returns a generator of cinder Back-end storage pools

Parameters

query (kwargs) – Optional query parameters to be sent to limit the resources being returned.

:returns A generator of cinder Back-end storage pools objects