Block Storage API
=================

For details on how to use block_storage, see :doc:`/user/guides/block_storage`

.. automodule:: openstack.block_storage.v2._proxy

The BlockStorage Class
----------------------

The block_storage high-level interface is available through the
``block_storage`` member of a :class:`~openstack.connection.Connection` object.
The ``block_storage`` member will only be added if the service is detected.

Backup Operations
^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: create_backup, delete_backup, get_backup, find_backup, backups,
            import_backup, export_backup, export_record,
            restore_backup, reset_backup_status, reset_backup

Capabilities Operations
^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: get_capabilities

Consistency Group Operations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: create_consistency_group, create_consistency_group_from_source,
            delete_consistency_group, update_consistency_group,
            get_consistency_group, find_consistency_group, consistency_groups

Consistency Group Snapshot Operations
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: create_consistency_group_snapshot,
            delete_consistency_group_snapshot,
            get_consistency_group_snapshot,
            find_consistency_group_snapshot, consistency_group_snapshots

Extension Operations
^^^^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: extensions

Limits Operations
^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: get_limits

QoSSpec Operations
^^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: create_qos_spec, delete_qos_spec, find_qos_spec, get_qos_spec,
            qos_specs, update_qos_spec, associate_qos_spec,
            disassociate_qos_spec, disassociate_all_qos_spec,
            delete_qos_spec_metadata, qos_spec_associations

QuotaClassSet Operations
^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: get_quota_class_set, update_quota_class_set

QuotaSet Operations
^^^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: get_quota_set, get_quota_set_defaults,
            revert_quota_set, update_quota_set

Service Operations
^^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
   :noindex:
   :members: find_service, services, enable_service, disable_service,
             thaw_service, freeze_service, failover_service

Snapshot Operations
^^^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: create_snapshot, delete_snapshot, update_snapshot,
            get_snapshot, find_snapshot, snapshots,
            get_snapshot_metadata, fetch_snapshot_metadata,
            set_snapshot_metadata, delete_snapshot_metadata,
            reset_snapshot_status, reset_snapshot,
            manage_snapshot, unmanage_snapshot

Stats Operations
^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: backend_pools

Transfer Operations
^^^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: create_transfer, delete_transfer, find_transfer,
            get_transfer, transfers, accept_transfer

Type Operations
^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: create_type, delete_type, update_type, get_type, find_type, types,
            update_type_extra_specs, delete_type_extra_specs, get_type_access,
            add_type_access, remove_type_access, get_type_encryption,
            create_type_encryption, delete_type_encryption,
            update_type_encryption

Volume Operations
^^^^^^^^^^^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
  :noindex:
  :members: create_volume, delete_volume, update_volume, get_volume,
            find_volume, volumes, get_volume_metadata, fetch_volume_metadata,
            set_volume_metadata,
            delete_volume_metadata, extend_volume, set_volume_readonly,
            retype_volume, set_volume_bootable_status, reset_volume_status,
            set_volume_image_metadata, delete_volume_image_metadata,
            create_image,
            attach_volume, detach_volume,
            unmanage_volume, migrate_volume, complete_volume_migration,
            upload_volume_to_image

Helpers
^^^^^^^

.. autoclass:: openstack.block_storage.v2._proxy.Proxy
   :noindex:
   :members: wait_for_status, wait_for_delete
