Create v3 API Reference

The Cinder v3 API was marked CURRENT in Mitaka, but there no API ref
was ever created.  This is problematic for end users and would hinder
the v3 API from being included in DefCore Interoperability Guidelines
somewhere down the line (since one of DefCore's Criteria[1] is that a
Capability be well documented).  This patch creates an API ref for v3.
It also adds a header to the v2 index to show that it is SUPPORTED,
whereas v3 is CURRENT.

[1]
http://git.openstack.org/cgit/openstack/defcore/tree/doc/source/process/CoreCriteria.rst#n77

Change-Id: Ia3a8050cd04ad3a487a79d80acf9691feee6182e
Closes-Bug: #1616072
This commit is contained in:
Mark T. Voelker 2016-09-17 01:12:40 -04:00
parent 1f299df48e
commit 931e2f8161
171 changed files with 7770 additions and 3 deletions

View File

@ -9,6 +9,7 @@ Contents:
v1/index v1/index
v2/index v2/index
v3/index
Indices and tables Indices and tables

View File

@ -1,8 +1,8 @@
:tocdepth: 2 :tocdepth: 2
==================== ================================
Block Storage API V2 Block Storage API V2 (SUPPORTED)
==================== ================================
.. rest_expand_all:: .. rest_expand_all::

View File

@ -0,0 +1,32 @@
.. -*- rst -*-
List All Api Versions
=====================
.. rest_method:: GET /
Lists information for all Block Storage API versions.
Normal response codes: 200,300
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
Request
-------
Response
--------
**Example List Api Versions: JSON request**
.. literalinclude:: ./samples/versions-response.json
:language: javascript
**Example List Api Versions: XML request**
.. literalinclude:: ./samples/versions-response.xml
:language: javascript

View File

@ -0,0 +1,48 @@
.. -*- rst -*-
=================================================
Capabilities for storage back ends (capabilities)
=================================================
Shows capabilities for a storage back end.
Show all back-end capabilities
==============================
.. rest_method:: GET /v3/{tenant_id}/capabilities/{hostname}
Shows capabilities for a storage back end.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- hostname: hostname
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- pool_name: pool_name
- description: description
- volume_backend_name: volume_backend_name
- namespace: namespace
- visibility: visibility
- driver_version: driver_version
- vendor_name: vendor_name
- properties: properties
- storage_protocol: storage_protocol
Response Example
----------------
.. literalinclude:: ./samples/backend-capabilities-response.json
:language: javascript

View File

@ -0,0 +1,267 @@
.. -*- rst -*-
==================
Consistency groups
==================
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.json`` file to grant permissions for these actions
to limit roles.
List tenant's consistency groups
================================
.. rest_method:: GET /v3/{tenant_id}/consistencygroups
Lists consistency groups.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/consistency-groups-list-response.json
:language: javascript
Create a consistency group
==========================
.. rest_method:: POST /v3/{tenant_id}/consistencygroups
Creates a consistency group.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- description: description_6
- availability_zone: availability_zone
- volume_types: volume_types_2
- name: name_15
Response
--------
.. rest_parameters:: parameters.yaml
- status: status_1
- description: description_11
- availability_zone: availability_zone
- created_at: created_at
- volume_types: volume_types
- name: name_15
- id: consistencygroup_id_1
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-create-request.json
:language: javascript
Response Example
----------------
.. literalinclude:: ./samples/consistency-group-create-response.json
:language: javascript
Show a consistency group's details
==================================
.. rest_method:: GET /v3/{tenant_id}/consistencygroups/{consistencygroup_id}
Shows details for a consistency group.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- consistencygroup_id: consistencygroup_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- description: description
- availability_zone: availability_zone
- created_at: created_at
- volume_types: volume_types
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/consistency-group-show-response.json
:language: javascript
Create a consistency group from source
======================================
.. rest_method:: POST /v3/{tenant_id}/consistencygroups/create_from_src
Creates a consistency group from source.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- status: status
- user_id: user_id
- description: description
- cgsnapshot_id: cgsnapshot_id
- source_cgid: source_cgid
- project_id: project_id
- name: name
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-create-from-src-request.json
:language: javascript
Delete a consistency group
==========================
.. rest_method:: POST /v3/{tenant_id}/consistencygroups/{consistencygroup_id}/delete
Deletes a consistency group.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- force: force
- tenant_id: tenant_id
- consistencygroup_id: consistencygroup_id
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-delete-request.json
:language: javascript
List consistency groups and details
===================================
.. rest_method:: GET /v3/{tenant_id}/consistencygroups/detail
Lists consistency groups with details.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- description: description
- availability_zone: availability_zone
- created_at: created_at
- volume_types: volume_types
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/consistency-groups-list-detailed-response.json
:language: javascript
Update a consistency group
==========================
.. rest_method:: PUT /v3/{tenant_id}/consistencygroups/{consistencygroup_id}/update
Updates a consistency group.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- remove_volumes: remove_volumes
- description: description
- add_volumes: add_volumes
- name: name
- tenant_id: tenant_id
- consistencygroup_id: consistencygroup_id
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-update-request.json
:language: javascript

View File

@ -0,0 +1,38 @@
.. -*- rst -*-
================================
Backup actions (backups, action)
================================
Force-deletes a backup.
Force-delete a backup
=====================
.. rest_method:: POST /v3/{tenant_id}/backups/{backup_id}/action
Force-deletes a backup. Specify the ``os-force_delete`` action in the request body.
This operations deletes the backup and any backup data.
The backup driver returns the ``405`` status code if it does not
support this operation.
Error response codes:404,405,202,
Request
-------
.. rest_parameters:: parameters.yaml
- os-force_delete: os-force_delete
- tenant_id: tenant_id
- backup_id: backup_id
Request Example
---------------
.. literalinclude:: ./samples/backup-force-delete-request.json
:language: javascript

View File

@ -0,0 +1,276 @@
.. -*- rst -*-
=================
Backups (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. Backup and restore operations can
only be carried out on volumes that are in an unattached and
available state.
When you create, list, or delete backups, these status values are
possible:
**Backup statuses**
+-----------------+---------------------------------------------+
| Status | Description |
+-----------------+---------------------------------------------+
| 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_restoring | A backup restoration error occurred. |
+-----------------+---------------------------------------------+
If an error occurs, you can find more information about the error
in the ``fail_reason`` field for the backup.
List backups with detail
========================
.. rest_method:: GET /v3/{tenant_id}/backups/detail
Lists Block Storage backups, with details, to which the tenant has access.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- object_count: object_count
- fail_reason: fail_reason
- description: description
- links: links
- availability_zone: availability_zone
- created_at: created_at
- updated_at: updated_at
- name: name
- has_dependent_backups: has_dependent_backups
- volume_id: volume_id
- container: container
- backups: backups
- size: size
- id: id
- is_incremental: is_incremental
Response Example
----------------
.. literalinclude:: ./samples/backups-list-detailed-response.json
:language: javascript
Show backup detail
==================
.. rest_method:: GET /v3/{tenant_id}/backups/{backup_id}
Shows details for a backup.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- backup_id: backup_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- object_count: object_count
- container: container
- description: description
- links: links
- availability_zone: availability_zone
- created_at: created_at
- updated_at: updated_at
- name: name
- has_dependent_backups: has_dependent_backups
- volume_id: volume_id
- fail_reason: fail_reason
- size: size
- backup: backup
- id: id
- is_incremental: is_incremental
Response Example
----------------
.. literalinclude:: ./samples/backup-show-response.json
:language: javascript
Delete a backup
===============
.. rest_method:: DELETE /v3/{tenant_id}/backups/{backup_id}
Deletes a backup.
Error response codes:204,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- backup_id: backup_id
Restore a backup
================
.. rest_method:: POST /v3/{tenant_id}/backups/{backup_id}/restore
Restores a Block Storage backup to an existing or new Block Storage volume.
You must specify either the UUID or name of the volume. If you
specify both the UUID and name, the UUID takes priority.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- restore: restore
- name: name
- volume_id: volume_id
- tenant_id: tenant_id
- backup_id: backup_id
Request Example
---------------
.. literalinclude:: ./samples/backup-restore-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- restore: restore
- backup_id: backup_id
- volume_id: volume_id
Create a backup
===============
.. rest_method:: POST /v3/{tenant_id}/backups
Creates a Block Storage backup from a volume.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- container: container
- description: description
- incremental: incremental
- volume_id: volume_id
- force: force
- backup: backup
- name: name
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/backup-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- backup: backup
- id: id
- links: links
- name: name
List backups for tenant
=======================
.. rest_method:: GET /v3/{tenant_id}/backups
Lists Block Storage backups to which the tenant has access.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- backups: backups
- id: id
- links: links
- name: name
Response Example
----------------
.. literalinclude:: ./samples/backups-list-response.json
:language: javascript

View File

@ -0,0 +1,28 @@
:tocdepth: 2
==============================
Block Storage API V3 (CURRENT)
==============================
.. rest_expand_all::
.. include:: api-versions.inc
.. include:: ext-backups.inc
.. include:: ext-backups-actions-v3.inc
.. include:: capabilities-v3.inc
.. include:: os-cgsnapshots-v3.inc
.. include:: consistencygroups-v3.inc
.. include:: limits.inc
.. include:: os-vol-image-meta-v3.inc
.. include:: os-vol-pool-v3.inc
.. include:: os-vol-transfer-v3.inc
.. include:: qos-specs-v3-qos-specs.inc
.. include:: quota-sets.inc
.. include:: volume-manage.inc
.. include:: volume-type-access.inc
.. include:: volumes-v3-extensions.inc
.. include:: volumes-v3-snapshots.inc
.. include:: volumes-v3-types.inc
.. include:: volumes-v3-versions.inc
.. include:: volumes-v3-volumes-actions.inc
.. include:: volumes-v3-volumes.inc

View File

@ -0,0 +1,57 @@
.. -*- rst -*-
===============
Limits (limits)
===============
Shows absolute limits for a tenant.
An absolute limit value of ``-1`` indicates that the absolute limit
for the item is infinite.
Show absolute limits for tenant
===============================
.. rest_method:: GET /v3/{tenant_id}/limits
Shows absolute limits for a tenant.
An absolute limit value of ``-1`` indicates that the absolute limit
for the item is infinite.
Normal response codes: 200
Error response codes:203,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- totalSnapshotsUsed: totalSnapshotsUsed
- maxTotalBackups: maxTotalBackups
- maxTotalVolumeGigabytes: maxTotalVolumeGigabytes
- limits: limits
- maxTotalSnapshots: maxTotalSnapshots
- maxTotalBackupGigabytes: maxTotalBackupGigabytes
- totalBackupGigabytesUsed: totalBackupGigabytesUsed
- maxTotalVolumes: maxTotalVolumes
- totalVolumesUsed: totalVolumesUsed
- rate: rate
- totalBackupsUsed: totalBackupsUsed
- totalGigabytesUsed: totalGigabytesUsed
- absolute: absolute
Response Example
----------------
.. literalinclude:: ./samples/limits-show-response.json
:language: javascript

View File

@ -0,0 +1,179 @@
.. -*- rst -*-
===========================
Consistency group snapshots
===========================
Lists all, lists all with details, shows details for, creates, and
deletes consistency group snapshots.
Delete a consistency group snapshot
===================================
.. rest_method:: DELETE /v3/{tenant_id}/cgsnapshots/{cgsnapshot_id}
Deletes a consistency group snapshot.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- cgsnapshot_id: cgsnapshot_id
Show consistency group snapshot detail
======================================
.. rest_method:: GET /v3/{tenant_id}/cgsnapshots/{cgsnapshot_id}
Shows details for a consistency group snapshot.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- cgsnapshot_id: cgsnapshot_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- description: description
- created_at: created_at
- consistencygroup_id: consistencygroup_id
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/cgsnapshots-show-response.json
:language: javascript
List all consistency group snapshots with details
=================================================
.. rest_method:: GET /v3/{tenant_id}/cgsnapshots/detail
Lists all consistency group snapshots with details.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- description: description
- created_at: created_at
- consistencygroup_id: consistencygroup_id
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/cgsnapshots-list-detailed-response.json
:language: javascript
List all consistency group snapshots
====================================
.. rest_method:: GET /v3/{tenant_id}/cgsnapshots
Lists all consistency group snapshots.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/cgsnapshots-list-response.json
:language: javascript
Create a consistency group snapshot
===================================
.. rest_method:: POST /v3/{tenant_id}/cgsnapshots
Creates a consistency group snapshot.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- name: name
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/cgsnapshots-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- description: description
- created_at: created_at
- consistencygroup_id: consistencygroup_id
- id: id
- name: name

View File

@ -0,0 +1,46 @@
.. -*- rst -*-
===================================================
Volume image metadata extension (os-vol-image-meta)
===================================================
Shows image metadata that is associated with a volume.
Show image metadata for a volume
================================
.. rest_method:: GET /v3/{tenant_id}/os-vol-image-meta
Shows image metadata for a volume.
When the request is made, the caller must specify a reference to an
existing storage volume in the ``ref`` element. Each storage driver
may interpret the existing storage volume reference differently but
should accept a reference structure containing either a ``source-
volume-id`` or ``source-volume-name`` element, if possible.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- description: description
- availability_zone: availability_zone
- bootable: bootable
- volume_type: volume_type
- name: name
- volume: volume
- host: host
- ref: ref
- metadata: metadata
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/image-metadata-show-request.json
:language: javascript

View File

@ -0,0 +1,50 @@
.. -*- rst -*-
======================
Back-end storage pools
======================
Administrator only. Lists all back-end storage pools that are known
to the scheduler service.
List all back-end storage pools
===============================
.. rest_method:: GET /v3/{tenant_id}/scheduler-stats/get_pools
Lists all back-end storage pools.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- detail: detail
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- updated: updated
- QoS_support: QoS_support
- name: name
- total_capacity: total_capacity
- volume_backend_name: volume_backend_name
- capabilities: capabilities
- free_capacity: free_capacity
- driver_version: driver_version
- reserved_percentage: reserved_percentage
- storage_protocol: storage_protocol
Response Example
----------------
.. literalinclude:: ./samples/pools-list-detailed-response.json
:language: javascript

View File

@ -0,0 +1,217 @@
.. -*- rst -*-
===============
Volume transfer
===============
Transfers a volume from one user to another user.
Accept a volume transfer
========================
.. rest_method:: POST /v3/{tenant_id}/os-volume-transfer/{transfer_id}/accept
Accepts a volume transfer.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- auth_key: auth_key
- transfer_id: transfer_id
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/volume-transfer-accept-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- volume_id: volume_id
- id: id
- links: links
- name: name
Create a volume transfer
========================
.. rest_method:: POST /v3/{tenant_id}/os-volume-transfer
Creates a volume transfer.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- name: name
- volume_id: volume_id
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/volume-transfer-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- auth_key: auth_key
- links: links
- created_at: created_at
- volume_id: volume_id
- id: id
- name: name
List volume transfers for a tenant
==================================
.. rest_method:: GET /v3/{tenant_id}/os-volume-transfer
Lists volume transfers.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- volume_id: volume_id
- id: id
- links: links
- name: name
Response Example
----------------
.. literalinclude:: ./samples/volume-transfers-list-response.json
:language: javascript
Show volume transfer detail
===========================
.. rest_method:: GET /v3/{tenant_id}/os-volume-transfer/{transfer_id}
Shows details for a volume transfer.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- transfer_id: transfer_id
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- created_at: created_at
- volume_id: volume_id
- id: id
- links: links
- name: name
Response Example
----------------
.. literalinclude:: ./samples/volume-transfer-show-response.json
:language: javascript
Delete a volume transfer
========================
.. rest_method:: DELETE /v3/{tenant_id}/os-volume-transfer/{transfer_id}
Deletes a volume transfer.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- transfer_id: transfer_id
- tenant_id: tenant_id
List volume transfers and details
=================================
.. rest_method:: GET /v3/{tenant_id}/os-volume-transfer/detail
Lists volume transfers, with details.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- created_at: created_at
- volume_id: volume_id
- id: id
- links: links
- name: name
Response Example
----------------
.. literalinclude:: ./samples/volume-transfers-list-detailed-response.json
:language: javascript

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,315 @@
.. -*- rst -*-
===================================================
Quality of service (QoS) specifications (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.
Disassociate a QoS specification from all associations
======================================================
.. rest_method:: GET /v3/{tenant_id}/qos-specs/{qos_id}/disassociate_all
Disassociates a QoS specification from all associations.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
Unset keys in a QoS specification
=================================
.. rest_method:: PUT /v3/{tenant_id}/qos-specs/{qos_id}/delete_keys
Unsets keys in a QoS specification.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- keys: keys
- tenant_id: tenant_id
- qos_id: qos_id
Request Example
---------------
.. literalinclude:: ./samples/qos-unset-request.json
:language: javascript
Response Example
----------------
.. literalinclude:: ./samples/qos-unset-response.json
:language: javascript
Get all associations for a QoS specification
============================================
.. rest_method:: GET /v3/{tenant_id}/qos-specs/{qos_id}/associations
Lists all associations for a QoS specification.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
Response Example
----------------
.. literalinclude:: ./samples/qos-show-response.json
:language: javascript
Associate QoS specification with a volume type
==============================================
.. rest_method:: GET /v3/{tenant_id}/qos-specs/{qos_id}/associate
Associates a QoS specification with a volume type.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
Disassociate QoS specification from a volume type
=================================================
.. rest_method:: GET /v3/{tenant_id}/qos-specs/{qos_id}/disassociate
Disassociates a QoS specification from a volume type.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
Show a QoS specification details
================================
.. rest_method:: GET /v3/{tenant_id}/qos-specs/{qos_id}
Shows details for a QoS specification.
Normal response codes: 200
Error response codes:413,405,404,403,401,400,503,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- name: name
- links: links
- id: id
- qos_specs: qos_specs
- consumer: consumer
- specs: specs
Response Example
----------------
.. literalinclude:: ./samples/qos-show-response.json
:language: javascript
Set keys in a QoS specification
===============================
.. rest_method:: PUT /v3/{tenant_id}/qos-specs/{qos_id}
Sets keys in a QoS specification.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
- specs: specs
- tenant_id: tenant_id
- qos_id: qos_id
Request Example
---------------
.. literalinclude:: ./samples/qos-update-request.json
:language: javascript
Response Example
----------------
.. literalinclude:: ./samples/qos-update-response.json
:language: javascript
Delete a QoS specification
==========================
.. rest_method:: DELETE /v3/{tenant_id}/qos-specs/{qos_id}
Deletes a QoS specification.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
- force: force
Create a QoS specification
==========================
.. rest_method:: POST /v3/{tenant_id}/qos-specs
Creates a QoS specification.
Specify one or more key and value pairs in the request body.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
- consumer: consumer
- name: name
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/qos-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- name: name
- links: links
- id: id
- qos_specs: qos_specs
- consumer: consumer
- specs: specs
List QoS Specifications
=======================
.. rest_method:: GET /v3/{tenant_id}/qos-specs
Lists quality of service (QoS) specifications.
Normal response codes: 200
Error response codes:300,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- specs: specs
- qos_specs: qos_specs
- consumer: consumer
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/qos-list-response.json
:language: javascript

View File

@ -0,0 +1,407 @@
.. -*- rst -*-
====================================
Quota sets extension (os-quota-sets)
====================================
Administrators only, depending on policy settings.
Shows, updates, and deletes quotas for a tenant.
Show quotas for a user
======================
.. rest_method:: GET /v3/{admin_tenant_id}/os-quota-sets/{tenant_id}/{user_id}
Enables an admin user to show quotas for a tenant and user.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- user_id: user_id
- admin_tenant_id: admin_tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- injected_file_content_bytes: injected_file_content_bytes
- metadata_items: metadata_items
- reserved: reserved
- in_use: in_use
- ram: ram
- floating_ips: floating_ips
- key_pairs: key_pairs
- injected_file_path_bytes: injected_file_path_bytes
- instances: instances
- security_group_rules: security_group_rules
- injected_files: injected_files
- quota_set: quota_set
- cores: cores
- fixed_ips: fixed_ips
- id: id
- security_groups: security_groups
Response Example
----------------
.. literalinclude:: ./samples/quotas-update-response.json
:language: javascript
Update quotas for a user
========================
.. rest_method:: PUT /v3/{admin_tenant_id}/os-quota-sets/{tenant_id}/{user_id}
Updates quotas for a tenant and user.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- injected_file_content_bytes: injected_file_content_bytes
- metadata_items: metadata_items
- reserved: reserved
- in_use: in_use
- ram: ram
- floating_ips: floating_ips
- key_pairs: key_pairs
- injected_file_path_bytes: injected_file_path_bytes
- instances: instances
- security_group_rules: security_group_rules
- injected_files: injected_files
- quota_set: quota_set
- cores: cores
- fixed_ips: fixed_ips
- id: id
- security_groups: security_groups
- tenant_id: tenant_id
- user_id: user_id
- admin_tenant_id: admin_tenant_id
Request Example
---------------
.. literalinclude:: ./samples/quotas-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- injected_file_content_bytes: injected_file_content_bytes
- metadata_items: metadata_items
- reserved: reserved
- in_use: in_use
- ram: ram
- floating_ips: floating_ips
- key_pairs: key_pairs
- injected_file_path_bytes: injected_file_path_bytes
- instances: instances
- security_group_rules: security_group_rules
- injected_files: injected_files
- quota_set: quota_set
- cores: cores
- fixed_ips: fixed_ips
- id: id
- security_groups: security_groups
Response Example
----------------
.. literalinclude:: ./samples/quotas-update-response.json
:language: javascript
Delete quotas for a user
========================
.. rest_method:: DELETE /v3/{admin_tenant_id}/os-quota-sets/{tenant_id}/{user_id}
Deletes quotas for a user so that the quotas revert to default values.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- user_id: user_id
- admin_tenant_id: admin_tenant_id
Response Example
----------------
.. literalinclude:: ./samples/quotas-delete-response.json
:language: javascript
Show quotas for a tenant
========================
.. rest_method:: GET /v3/{admin_tenant_id}/os-quota-sets/{tenant_id}
Shows quotas for a tenant.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- admin_tenant_id: admin_tenant_id
- usage: usage
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- injected_file_content_bytes: injected_file_content_bytes
- metadata_items: metadata_items
- reserved: reserved
- in_use: in_use
- ram: ram
- floating_ips: floating_ips
- key_pairs: key_pairs
- injected_file_path_bytes: injected_file_path_bytes
- instances: instances
- security_group_rules: security_group_rules
- injected_files: injected_files
- quota_set: quota_set
- cores: cores
- fixed_ips: fixed_ips
- id: id
- security_groups: security_groups
Response Example
----------------
.. literalinclude:: ./samples/quotas-show-response.json
:language: javascript
Update quotas for a tenant
==========================
.. rest_method:: PUT /v3/{admin_tenant_id}/os-quota-sets/{tenant_id}
Updates quotas for a tenant.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- injected_file_content_bytes: injected_file_content_bytes
- metadata_items: metadata_items
- reserved: reserved
- in_use: in_use
- ram: ram
- floating_ips: floating_ips
- key_pairs: key_pairs
- injected_file_path_bytes: injected_file_path_bytes
- instances: instances
- security_group_rules: security_group_rules
- injected_files: injected_files
- quota_set: quota_set
- cores: cores
- fixed_ips: fixed_ips
- id: id
- security_groups: security_groups
- tenant_id: tenant_id
- admin_tenant_id: admin_tenant_id
Request Example
---------------
.. literalinclude:: ./samples/quotas-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- injected_file_content_bytes: injected_file_content_bytes
- metadata_items: metadata_items
- reserved: reserved
- in_use: in_use
- ram: ram
- floating_ips: floating_ips
- key_pairs: key_pairs
- injected_file_path_bytes: injected_file_path_bytes
- instances: instances
- security_group_rules: security_group_rules
- injected_files: injected_files
- quota_set: quota_set
- cores: cores
- fixed_ips: fixed_ips
- id: id
- security_groups: security_groups
Response Example
----------------
.. literalinclude:: ./samples/quotas-update-response.json
:language: javascript
Delete quotas for a tenant
==========================
.. rest_method:: DELETE /v3/{admin_tenant_id}/os-quota-sets/{tenant_id}
Deletes quotas for a tenant so the quotas revert to default values.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- admin_tenant_id: admin_tenant_id
Response Example
----------------
.. literalinclude:: ./samples/quotas-delete-response.json
:language: javascript
Show quota details for a user
=============================
.. rest_method:: GET /v3/{admin_tenant_id}/os-quota-sets/{tenant_id}/detail/{user_id}
Shows details for quotas for a tenant and user.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- user_id: user_id
- admin_tenant_id: admin_tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- injected_file_content_bytes: injected_file_content_bytes
- metadata_items: metadata_items
- reserved: reserved
- in_use: in_use
- ram: ram
- floating_ips: floating_ips
- key_pairs: key_pairs
- injected_file_path_bytes: injected_file_path_bytes
- instances: instances
- security_group_rules: security_group_rules
- injected_files: injected_files
- quota_set: quota_set
- cores: cores
- fixed_ips: fixed_ips
- id: id
- security_groups: security_groups
Response Example
----------------
.. literalinclude:: ./samples/quotas-update-response.json
:language: javascript
Get default quotas for a tenant
===============================
.. rest_method:: GET /v3/{tenant_id}/os-quota-sets/defaults
Gets default quotas for a tenant.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- injected_file_content_bytes: injected_file_content_bytes
- metadata_items: metadata_items
- reserved: reserved
- in_use: in_use
- ram: ram
- floating_ips: floating_ips
- key_pairs: key_pairs
- injected_file_path_bytes: injected_file_path_bytes
- instances: instances
- security_group_rules: security_group_rules
- injected_files: injected_files
- quota_set: quota_set
- cores: cores
- fixed_ips: fixed_ips
- id: id
- security_groups: security_groups
Response Example
----------------
.. literalinclude:: ./samples/quotas-show-defaults-response.json
:language: javascript

View File

@ -0,0 +1,33 @@
{
"namespace": "OS::Storage::Capabilities::fake",
"vendor_name": "OpenStack",
"volume_backend_name": "lvm",
"pool_name": "pool",
"driver_version": "2.0.0",
"storage_protocol": "iSCSI",
"display_name": "Capabilities of Cinder LVM driver",
"description": "These are volume type options provided by Cinder LVM driver, blah, blah.",
"visibility": "public",
"properties": {
"compression": {
"title": "Compression",
"description": "Enables compression.",
"type": "boolean"
},
"qos": {
"title": "QoS",
"description": "Enables QoS.",
"type": "boolean"
},
"replication": {
"title": "Replication",
"description": "Enables replication.",
"type": "boolean"
},
"thin_provisioning": {
"title": "Thin Provisioning",
"description": "Sets thin provisioning.",
"type": "boolean"
}
}
}

View File

@ -0,0 +1,9 @@
{
"backup": {
"container": null,
"description": null,
"name": "backup001",
"volume_id": "64f5d2fb-d836-4063-b7e2-544d5c1ff607",
"incremental": true
}
}

View File

@ -0,0 +1,16 @@
{
"backup": {
"id": "deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"links": [
{
"href": "http://localhost:8776/v3/c95fc3e4afe248a49a28828f286a7b38/backups/deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"rel": "bookmark"
}
],
"name": "backup001"
}
}

View File

@ -0,0 +1,3 @@
{
"os-force_delete": {}
}

View File

@ -0,0 +1,6 @@
{
"backup-record": {
"backup_service": "cinder.backup.drivers.swift",
"backup_url": "eyJzdGF0"
}
}

View File

@ -0,0 +1,6 @@
{
"backup-record": {
"backup_service": "cinder.backup.drivers.swift",
"backup_url": "eyJzdGF0"
}
}

View File

@ -0,0 +1,16 @@
{
"backup": {
"id": "deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"links": [
{
"href": "http://localhost:8776/v3/c95fc3e4afe248a49a28828f286a7b38/backups/deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"rel": "bookmark"
}
],
"name": null
}
}

View File

@ -0,0 +1,6 @@
{
"restore": {
"name": "vol-01",
"volume_id": "64f5d2fb-d836-4063-b7e2-544d5c1ff607"
}
}

View File

@ -0,0 +1,6 @@
{
"restore": {
"backup_id": "2ef47aee-8844-490c-804d-2a8efe561c65",
"volume_id": "795114e8-7489-40be-a978-83797f2c1dd3"
}
}

View File

@ -0,0 +1,27 @@
{
"backup": {
"availability_zone": "az1",
"container": "volumebackups",
"created_at": "2013-04-02T10:35:27.000000",
"description": null,
"fail_reason": null,
"id": "2ef47aee-8844-490c-804d-2a8efe561c65",
"links": [
{
"href": "http://localhost:8776/v1/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "bookmark"
}
],
"name": "backup001",
"object_count": 22,
"size": 1,
"status": "available",
"volume_id": "e5185058-943a-4cb4-96d9-72c184c337d6",
"is_incremental": true,
"has_dependent_backups": false
}
}

View File

@ -0,0 +1,54 @@
{
"backups": [
{
"availability_zone": "az1",
"container": "volumebackups",
"created_at": "2013-04-02T10:35:27.000000",
"description": null,
"fail_reason": null,
"id": "2ef47aee-8844-490c-804d-2a8efe561c65",
"links": [
{
"href": "http://localhost:8776/v1/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "bookmark"
}
],
"name": "backup001",
"object_count": 22,
"size": 1,
"status": "available",
"volume_id": "e5185058-943a-4cb4-96d9-72c184c337d6",
"is_incremental": true,
"has_dependent_backups": false
},
{
"availability_zone": "az1",
"container": "volumebackups",
"created_at": "2013-04-02T10:21:48.000000",
"description": null,
"fail_reason": null,
"id": "4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"links": [
{
"href": "http://localhost:8776/v1/c95fc3e4afe248a49a28828f286a7b38/backups/4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"rel": "bookmark"
}
],
"name": "backup002",
"object_count": 22,
"size": 1,
"status": "available",
"volume_id": "e5185058-943a-4cb4-96d9-72c184c337d6",
"is_incremental": true,
"has_dependent_backups": false
}
]
}

View File

@ -0,0 +1,32 @@
{
"backups": [
{
"id": "2ef47aee-8844-490c-804d-2a8efe561c65",
"links": [
{
"href": "http://localhost:8776/v1/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "bookmark"
}
],
"name": "backup001"
},
{
"id": "4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"links": [
{
"href": "http://localhost:8776/v1/c95fc3e4afe248a49a28828f286a7b38/backups/4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"rel": "bookmark"
}
],
"name": "backup002"
}
]
}

View File

@ -0,0 +1,10 @@
{
"cgsnapshot": {
"consistencygroup_id": "6f519a48-3183-46cf-a32f-41815f814546",
"name": "firstcg",
"description": "first consistency group",
"user_id": "6f519a48-3183-46cf-a32f-41815f814444",
"project_id": "6f519a48-3183-46cf-a32f-41815f815555",
"status": "creating"
}
}

View File

@ -0,0 +1,6 @@
{
"cgsnapshot": {
"id": "6f519a48-3183-46cf-a32f-41815f816666",
"name": "firstcg"
}
}

View File

@ -0,0 +1,20 @@
{
"cgsnapshots": [
{
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"consistencygroup_id": "6f519a48-3183-46cf-a32f-41815f814444",
"status": "available",
"created_at": "2015-09-16T09:28:52.000000",
"name": "my-cg1",
"description": "my first consistency group"
},
{
"id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
"consistencygroup_id": "aed36625-a6d7-4681-ba59-c7ba3d18dddd",
"status": "error",
"created_at": "2015-09-16T09:31:15.000000",
"name": "my-cg2",
"description": "Edited description"
}
]
}

View File

@ -0,0 +1,12 @@
{
"cgsnapshots": [
{
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"name": "my-cg1"
},
{
"id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
"name": "my-cg2"
}
]
}

View File

@ -0,0 +1,10 @@
{
"cgsnapshot": {
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"consistencygroup_id": "6f519a48-3183-46cf-a32f-41815f814444",
"status": "available",
"created_at": "2015-09-16T09:28:52.000000",
"name": "my-cg1",
"description": "my first consistency group"
}
}

View File

@ -0,0 +1,11 @@
{
"consistencygroup-from-src": {
"name": "firstcg",
"description": "first consistency group",
"cgsnapshot_id": "6f519a48-3183-46cf-a32f-41815f813986",
"source_cgid": "6f519a48-3183-46cf-a32f-41815f814546",
"user_id": "6f519a48-3183-46cf-a32f-41815f815555",
"project_id": "6f519a48-3183-46cf-a32f-41815f814444",
"status": "creating"
}
}

View File

@ -0,0 +1,8 @@
{
"consistencygroup": {
"name": "firstcg",
"description": "first consistency group",
"volume_types": "type1,type2",
"availability_zone": "az0"
}
}

View File

@ -0,0 +1,11 @@
{
"consistencygroup": {
"status": "error",
"description": "first consistency group",
"availability_zone": "az0",
"created_at": "2016-08-19T19:32:19.000000",
"volume_types": ["type1", "type2"],
"id": "63d1a274-de38-4384-a97e-475306777027",
"name": "firstcg"
}
}

View File

@ -0,0 +1,5 @@
{
"consistencygroup": {
"force": false
}
}

View File

@ -0,0 +1,13 @@
{
"consistencygroup": {
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"status": "available",
"availability_zone": "az1",
"created_at": "2015-09-16T09:28:52.000000",
"name": "my-cg1",
"description": "my first consistency group",
"volume_types": [
"123456"
]
}
}

View File

@ -0,0 +1,14 @@
<?xml version='1.0' encoding='UTF-8'?>
<consistencygroups xmlns:consistencygroups="http://docs.openstack.org/volume/ext/consistencygroups/api/v1">
<consistencygroup
id="6f519a48-3183-46cf-a32f-41815f813986"
status="available"
availability_zone="az1"
created_at="2015-09-16T09:28:52.000000"
name="my-cg1"
description="my first consistency group">
<volume_types>
<volume_type>"123456"</volume_type>
</volume_types>
</consistencygroup>
</consistencygroups>

View File

@ -0,0 +1,8 @@
{
"consistencygroup": {
"name": "my_cg",
"description": "My consistency group",
"add_volumes": "volume-uuid-1,volume-uuid-2",
"remove_volumes": "volume-uuid-8,volume-uuid-9"
}
}

View File

@ -0,0 +1,26 @@
{
"consistencygroups": [
{
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"status": "available",
"availability_zone": "az1",
"created_at": "2015-09-16T09:28:52.000000",
"name": "my-cg1",
"description": "my first consistency group",
"volume_types": [
"123456"
]
},
{
"id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
"status": "error",
"availability_zone": "az2",
"created_at": "2015-09-16T09:31:15.000000",
"name": "my-cg2",
"description": "Edited description",
"volume_types": [
"234567"
]
}
]
}

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<consistencygroups xmlns:consistencygroups="http://docs.openstack.org/volume/ext/consistencygroups/api/v1">
<consistencygroup
id="6f519a48-3183-46cf-a32f-41815f813986"
status="available"
availability_zone="az1"
created_at="2015-09-16T09:28:52.000000"
name="my-cg1"
description="my first consistency group">
<volume_types>
<volume_type>"123456"</volume_type>
</volume_types>
</consistencygroup>
<consistencygroup
id="aed36625-a6d7-4681-ba59-c7ba3d18c148"
status="error"
availability_zone="az2"
created_at="2015-09-16T09:31:15.000000"
name="my-cg2"
description="Edited description">
<volume_types>
<volume_type>"234567"</volume_type>
</volume_types>
</consistencygroup>
</consistencygroups>

View File

@ -0,0 +1,12 @@
{
"consistencygroups": [
{
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"name": "my-cg1"
},
{
"id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
"name": "my-cg2"
}
]
}

View File

@ -0,0 +1,212 @@
{
"extensions": [
{
"updated": "2013-04-18T00:00:00+00:00",
"name": "SchedulerHints",
"links": [],
"namespace": "http://docs.openstack.org/block-service/ext/scheduler-hints/api/v3",
"alias": "OS-SCH-HNT",
"description": "Pass arbitrary key/value pairs to the scheduler."
},
{
"updated": "2011-06-29T00:00:00+00:00",
"name": "Hosts",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/hosts/api/v1.1",
"alias": "os-hosts",
"description": "Admin-only host administration."
},
{
"updated": "2011-11-03T00:00:00+00:00",
"name": "VolumeTenantAttribute",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/volume_tenant_attribute/api/v1",
"alias": "os-vol-tenant-attr",
"description": "Expose the internal project_id as an attribute of a volume."
},
{
"updated": "2011-08-08T00:00:00+00:00",
"name": "Quotas",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/quotas-sets/api/v1.1",
"alias": "os-quota-sets",
"description": "Quota management support."
},
{
"updated": "2011-08-24T00:00:00+00:00",
"name": "TypesManage",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/types-manage/api/v1",
"alias": "os-types-manage",
"description": "Types manage support."
},
{
"updated": "2013-07-10T00:00:00+00:00",
"name": "VolumeEncryptionMetadata",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/os-volume-encryption-metadata/api/v1",
"alias": "os-volume-encryption-metadata",
"description": "Volume encryption metadata retrieval support."
},
{
"updated": "2012-12-12T00:00:00+00:00",
"name": "Backups",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/backups/api/v1",
"alias": "backups",
"description": "Backups support."
},
{
"updated": "2013-07-16T00:00:00+00:00",
"name": "SnapshotActions",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/snapshot-actions/api/v1.1",
"alias": "os-snapshot-actions",
"description": "Enable snapshot manager actions."
},
{
"updated": "2012-05-31T00:00:00+00:00",
"name": "VolumeActions",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/volume-actions/api/v1.1",
"alias": "os-volume-actions",
"description": "Enable volume actions\n "
},
{
"updated": "2013-10-03T00:00:00+00:00",
"name": "UsedLimits",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/used-limits/api/v1.1",
"alias": "os-used-limits",
"description": "Provide data on limited resources that are being used."
},
{
"updated": "2012-05-31T00:00:00+00:00",
"name": "VolumeUnmanage",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/volume-unmanage/api/v1.1",
"alias": "os-volume-unmanage",
"description": "Enable volume unmanage operation."
},
{
"updated": "2011-11-03T00:00:00+00:00",
"name": "VolumeHostAttribute",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/volume_host_attribute/api/v1",
"alias": "os-vol-host-attr",
"description": "Expose host as an attribute of a volume."
},
{
"updated": "2013-07-01T00:00:00+00:00",
"name": "VolumeTypeEncryption",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/volume-type-encryption/api/v1",
"alias": "encryption",
"description": "Encryption support for volume types."
},
{
"updated": "2013-06-27T00:00:00+00:00",
"name": "AvailabilityZones",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/os-availability-zone/api/v1",
"alias": "os-availability-zone",
"description": "Describe Availability Zones."
},
{
"updated": "2013-08-02T00:00:00+00:00",
"name": "Qos_specs_manage",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/qos-specs/api/v1",
"alias": "qos-specs",
"description": "QoS specs support."
},
{
"updated": "2011-08-24T00:00:00+00:00",
"name": "TypesExtraSpecs",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/types-extra-specs/api/v1",
"alias": "os-types-extra-specs",
"description": "Type extra specs support."
},
{
"updated": "2013-08-08T00:00:00+00:00",
"name": "VolumeMigStatusAttribute",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/volume_mig_status_attribute/api/v1",
"alias": "os-vol-mig-status-attr",
"description": "Expose migration_status as an attribute of a volume."
},
{
"updated": "2012-08-13T00:00:00+00:00",
"name": "CreateVolumeExtension",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/image-create/api/v1",
"alias": "os-image-create",
"description": "Allow creating a volume from an image in the Create Volume v1 API."
},
{
"updated": "2014-01-10T00:00:00-00:00",
"name": "ExtendedServices",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/extended_services/api/v3",
"alias": "os-extended-services",
"description": "Extended services support."
},
{
"updated": "2012-06-19T00:00:00+00:00",
"name": "ExtendedSnapshotAttributes",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/extended_snapshot_attributes/api/v1",
"alias": "os-extended-snapshot-attributes",
"description": "Extended SnapshotAttributes support."
},
{
"updated": "2012-12-07T00:00:00+00:00",
"name": "VolumeImageMetadata",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/volume_image_metadata/api/v1",
"alias": "os-vol-image-meta",
"description": "Show image metadata associated with the volume."
},
{
"updated": "2012-03-12T00:00:00+00:00",
"name": "QuotaClasses",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/quota-classes-sets/api/v1.1",
"alias": "os-quota-class-sets",
"description": "Quota classes management support."
},
{
"updated": "2013-05-29T00:00:00+00:00",
"name": "VolumeTransfer",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/volume-transfer/api/v1.1",
"alias": "os-volume-transfer",
"description": "Volume transfer management support."
},
{
"updated": "2014-02-10T00:00:00+00:00",
"name": "VolumeManage",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/os-volume-manage/api/v1",
"alias": "os-volume-manage",
"description": "Allows existing backend storage to be 'managed' by Cinder."
},
{
"updated": "2012-08-25T00:00:00+00:00",
"name": "AdminActions",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/admin-actions/api/v1.1",
"alias": "os-admin-actions",
"description": "Enable admin actions."
},
{
"updated": "2012-10-28T00:00:00-00:00",
"name": "Services",
"links": [],
"namespace": "http://docs.openstack.org/volume/ext/services/api/v3",
"alias": "os-services",
"description": "Services support."
}
]
}

View File

@ -0,0 +1,165 @@
<?xml version='1.0' encoding='UTF-8'?>
<extensions xmlns:atom="http://www.w3.org/2005/Atom"
xmlns="http://docs.openstack.org/common/api/v1.0">
<extension alias="OS-SCH-HNT" updated="2013-04-18T00:00:00+00:00"
namespace="http://docs.openstack.org/block-service/ext/scheduler-hints/api/v2"
name="SchedulerHints">
<description>Pass arbitrary key/value pairs to the
scheduler.</description>
</extension>
<extension alias="os-hosts" updated="2011-06-29T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/hosts/api/v1.1"
name="Hosts">
<description>Admin-only host administration.</description>
</extension>
<extension alias="os-vol-tenant-attr"
updated="2011-11-03T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/volume_tenant_attribute/api/v1"
name="VolumeTenantAttribute">
<description>Expose the internal project_id as an attribute of
a volume.</description>
</extension>
<extension alias="os-quota-sets"
updated="2011-08-08T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/quotas-sets/api/v1.1"
name="Quotas">
<description>Quota management support.</description>
</extension>
<extension alias="os-types-manage"
updated="2011-08-24T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/types-manage/api/v1"
name="TypesManage">
<description>Types manage support.</description>
</extension>
<extension alias="os-volume-encryption-metadata"
updated="2013-07-10T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/os-volume-encryption-metadata/api/v1"
name="VolumeEncryptionMetadata">
<description>Volume encryption metadata retrieval
support.</description>
</extension>
<extension alias="backups" updated="2012-12-12T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/backups/api/v1"
name="Backups">
<description>Backups support.</description>
</extension>
<extension alias="os-snapshot-actions"
updated="2013-07-16T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/snapshot-actions/api/v1.1"
name="SnapshotActions">
<description>Enable snapshot manager actions.</description>
</extension>
<extension alias="os-volume-actions"
updated="2012-05-31T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/volume-actions/api/v1.1"
name="VolumeActions">
<description>Enable volume actions </description>
</extension>
<extension alias="os-used-limits"
updated="2013-10-03T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/used-limits/api/v1.1"
name="UsedLimits">
<description>Provide data on limited resources that are being
used.</description>
</extension>
<extension alias="os-volume-unmanage"
updated="2012-05-31T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/volume-unmanage/api/v1.1"
name="VolumeUnmanage">
<description>Enable volume unmanage operation.</description>
</extension>
<extension alias="os-vol-host-attr"
updated="2011-11-03T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/volume_host_attribute/api/v1"
name="VolumeHostAttribute">
<description>Expose host as an attribute of a
volume.</description>
</extension>
<extension alias="encryption" updated="2013-07-01T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/volume-type-encryption/api/v1"
name="VolumeTypeEncryption">
<description>Encryption support for volume
types.</description>
</extension>
<extension alias="os-availability-zone"
updated="2013-06-27T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/os-availability-zone/api/v1"
name="AvailabilityZones">
<description>Describe Availability Zones.</description>
</extension>
<extension alias="qos-specs" updated="2013-08-02T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/qos-specs/api/v1"
name="Qos_specs_manage">
<description>QoS specs support.</description>
</extension>
<extension alias="os-types-extra-specs"
updated="2011-08-24T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/types-extra-specs/api/v1"
name="TypesExtraSpecs">
<description>Type extra specs support.</description>
</extension>
<extension alias="os-vol-mig-status-attr"
updated="2013-08-08T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/volume_mig_status_attribute/api/v1"
name="VolumeMigStatusAttribute">
<description>Expose migration_status as an attribute of a
volume.</description>
</extension>
<extension alias="os-image-create"
updated="2012-08-13T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/image-create/api/v1"
name="CreateVolumeExtension">
<description>Allow creating a volume from an image in the
Create Volume v1 API.</description>
</extension>
<extension alias="os-extended-services"
updated="2014-01-10T00:00:00-00:00"
namespace="http://docs.openstack.org/volume/ext/extended_services/api/v2"
name="ExtendedServices">
<description>Extended services support.</description>
</extension>
<extension alias="os-extended-snapshot-attributes"
updated="2012-06-19T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/extended_snapshot_attributes/api/v1"
name="ExtendedSnapshotAttributes">
<description>Extended SnapshotAttributes
support.</description>
</extension>
<extension alias="os-vol-image-meta"
updated="2012-12-07T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/volume_image_metadata/api/v1"
name="VolumeImageMetadata">
<description>Show image metadata associated with the
volume.</description>
</extension>
<extension alias="os-quota-class-sets"
updated="2012-03-12T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/quota-classes-sets/api/v1.1"
name="QuotaClasses">
<description>Quota classes management support.</description>
</extension>
<extension alias="os-volume-transfer"
updated="2013-05-29T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/volume-transfer/api/v1.1"
name="VolumeTransfer">
<description>Volume transfer management support.</description>
</extension>
<extension alias="os-volume-manage"
updated="2014-02-10T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/os-volume-manage/api/v1"
name="VolumeManage">
<description>Allows existing back end storage to be 'managed'
by cinder.</description>
</extension>
<extension alias="os-admin-actions"
updated="2012-08-25T00:00:00+00:00"
namespace="http://docs.openstack.org/volume/ext/admin-actions/api/v1.1"
name="AdminActions">
<description>Enable admin actions.</description>
</extension>
<extension alias="os-services" updated="2012-10-28T00:00:00-00:00"
namespace="http://docs.openstack.org/volume/ext/services/api/v2"
name="Services">
<description>Services support.</description>
</extension>
</extensions>

View File

@ -0,0 +1,5 @@
{
"os-attach": {
"host_name": "my_host"
}
}

View File

@ -0,0 +1,18 @@
{
"volume": {
"host": "geraint-VirtualBox",
"ref": {
"source-volume-name": "existingLV",
"source-volume-id": "1234"
},
"name": "New Volume",
"availability_zone": "az2",
"description": "Volume imported from existingLV",
"volume_type": null,
"bootable": true,
"metadata": {
"key1": "value1",
"key2": "value2"
}
}
}

View File

@ -0,0 +1,33 @@
{
"volume": {
"status": "creating",
"user_id": "eae1472b5fc5496998a3d06550929e7e",
"attachments": [],
"links": [
{
"href": "http://10.0.2.15:8776/v3/87c8522052ca4eed98bc672b4c1a3ddb/volumes/23cf872b-c781-4cd4-847d-5f2ec8cbd91c",
"rel": "self"
},
{
"href": "http://10.0.2.15:8776/87c8522052ca4eed98bc672b4c1a3ddb/volumes/23cf872b-c781-4cd4-847d-5f2ec8cbd91c",
"rel": "bookmark"
}
],
"availability_zone": "az2",
"bootable": "false",
"encrypted": "false",
"created_at": "2014-07-18T00:12:54.000000",
"description": "Volume imported from existingLV",
"os-vol-tenant-attr:tenant_id": "87c8522052ca4eed98bc672b4c1a3ddb",
"volume_type": null,
"name": "New Volume",
"source_volid": null,
"snapshot_id": null,
"metadata": {
"key2": "value2",
"key1": "value1"
},
"id": "23cf872b-c781-4cd4-847d-5f2ec8cbd91c",
"size": 0
}
}

View File

@ -0,0 +1,17 @@
{
"limits": {
"rate": [],
"absolute": {
"totalSnapshotsUsed": 0,
"maxTotalBackups": 10,
"maxTotalVolumeGigabytes": 1000,
"maxTotalSnapshots": 10,
"maxTotalBackupGigabytes": 1000,
"totalBackupGigabytesUsed": 0,
"maxTotalVolumes": 10,
"totalVolumesUsed": 0,
"totalBackupsUsed": 0,
"totalGigabytesUsed": 0
}
}
}

View File

@ -0,0 +1,17 @@
<?xml version='1.0' encoding='UTF-8'?>
<limits xmlns:atom="http://www.w3.org/2005/Atom"
xmlns="http://docs.openstack.org/common/api/v1.0">
<rates/>
<absolute>
<limit name="totalSnapshotsUsed" value="0"/>
<limit name="maxTotalBackups" value="10"/>
<limit name="maxTotalVolumeGigabytes" value="1000"/>
<limit name="maxTotalSnapshots" value="10"/>
<limit name="maxTotalBackupGigabytes" value="1000"/>
<limit name="totalBackupGigabytesUsed" value="0"/>
<limit name="maxTotalVolumes" value="10"/>
<limit name="totalVolumesUsed" value="0"/>
<limit name="totalBackupsUsed" value="0"/>
<limit name="totalGigabytesUsed" value="0"/>
</absolute>
</limits>

View File

@ -0,0 +1,30 @@
{
"pools": [
{
"name": "pool1",
"capabilities": {
"updated": "2014-10-28T00:00:00-00:00",
"total_capacity": 1024,
"free_capacity": 100,
"volume_backend_name": "pool1",
"reserved_percentage": 0,
"driver_version": "1.0.0",
"storage_protocol": "iSCSI",
"QoS_support": false
}
},
{
"name": "pool2",
"capabilities": {
"updated": "2014-10-28T00:00:00-00:00",
"total_capacity": 512,
"free_capacity": 200,
"volume_backend_name": "pool2",
"reserved_percentage": 0,
"driver_version": "1.0.1",
"storage_protocol": "iSER",
"QoS_support": true
}
}
]
}

View File

@ -0,0 +1,7 @@
{
"qos_specs": {
"availability": "100",
"name": "reliability-spec",
"numberOfFailures": "0"
}
}

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<qos_specs name="performance-spec" delay="0" throughput="100" />

View File

@ -0,0 +1,21 @@
{
"qos_specs": {
"specs": {
"numberOfFailures": "0",
"availability": "100"
},
"consumer": "back-end",
"name": "reliability-spec",
"id": "599ef437-1c99-42ec-9fc6-239d0519fef1"
},
"links": [
{
"href": "http://23.253.248.171:8776/v3/bab7d5c60cd041a0a36f7c4b6e1dd978/qos_specs/599ef437-1c99-42ec-9fc6-239d0519fef1",
"rel": "self"
},
{
"href": "http://23.253.248.171:8776/bab7d5c60cd041a0a36f7c4b6e1dd978/qos_specs/599ef437-1c99-42ec-9fc6-239d0519fef1",
"rel": "bookmark"
}
]
}

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<qos_specs>
<qos_spec consumer="back-end" id="e1f84cf3-6b1e-4f25-8130-3244f69ec7c1" name="performance-spec">
<specs>
<delay>0</delay>
<throughput>100</throughput>
</specs>
</qos_spec>
</qos_specs>

View File

@ -0,0 +1,22 @@
{
"qos_specs": [
{
"specs": {
"availability": "100",
"numberOfFailures": "0"
},
"consumer": "back-end",
"name": "reliability-spec",
"id": "0388d6c6-d5d4-42a3-b289-95205c50dd15"
},
{
"specs": {
"delay": "0",
"throughput": "100"
},
"consumer": "back-end",
"name": "performance-spec",
"id": "ecfc6e2e-7117-44a4-8eec-f84d04f531a8"
}
]
}

View File

@ -0,0 +1,19 @@
<?xml version='1.0' encoding='UTF-8'?>
<qos_specs>
<qos_spec consumer="back-end"
id="0388d6c6-d5d4-42a3-b289-95205c50dd15"
name="reliability-spec">
<specs>
<availability>100</availability>
<numberOfFailures>0</numberOfFailures>
</specs>
</qos_spec>
<qos_spec consumer="back-end"
id="ecfc6e2e-7117-44a4-8eec-f84d04f531a8"
name="performance-spec">
<specs>
<delay>0</delay>
<throughput>100</throughput>
</specs>
</qos_spec>
</qos_specs>

View File

@ -0,0 +1,21 @@
{
"qos_specs": {
"specs": {
"availability": "100",
"numberOfFailures": "0"
},
"consumer": "back-end",
"name": "reliability-spec",
"id": "0388d6c6-d5d4-42a3-b289-95205c50dd15"
},
"links": [
{
"href": "http://23.253.228.211:8776/v3/e1cf63117ae74309a5bcc2002a23be8b/qos_specs/0388d6c6-d5d4-42a3-b289-95205c50dd15",
"rel": "self"
},
{
"href": "http://23.253.228.211:8776/e1cf63117ae74309a5bcc2002a23be8b/qos_specs/0388d6c6-d5d4-42a3-b289-95205c50dd15",
"rel": "bookmark"
}
]
}

View File

@ -0,0 +1,11 @@
<?xml version='1.0' encoding='UTF-8'?>
<qos_specs>
<qos_spec consumer="back-end"
id="0388d6c6-d5d4-42a3-b289-95205c50dd15"
name="reliability-spec">
<specs>
<availability>100</availability>
<numberOfFailures>0</numberOfFailures>
</specs>
</qos_spec>
</qos_specs>

View File

@ -0,0 +1,5 @@
{
"keys": [
"key1"
]
}

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<keys>
<key/>
</keys>

View File

@ -0,0 +1,5 @@
{
"qos_specs": {
"delay": "1"
}
}

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<qos_specs delay="2" throughput="100"/>

View File

@ -0,0 +1,5 @@
{
"qos_specs": {
"delay": "1"
}
}

View File

@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<qos_specs>
<qos_spec/>
</qos_specs>

View File

@ -0,0 +1,9 @@
{
"qos_associations": [
{
"association_type": "volume_type",
"name": "reliability-type",
"id": "a12983c2-83bd-4afa-be9f-ad796573ead6"
}
]
}

View File

@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<qos_associations>
<associations association_type="volume_type"
name="reliability-type"
id="a12983c2-83bd-4afa-be9f-ad796573ead6"/>
</qos_associations>

View File

@ -0,0 +1,15 @@
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
<cores>20</cores>
<fixed_ips>-1</fixed_ips>
<floating_ips>10</floating_ips>
<injected_file_content_bytes>10240</injected_file_content_bytes>
<injected_file_path_bytes>255</injected_file_path_bytes>
<injected_files>5</injected_files>
<instances>10</instances>
<key_pairs>100</key_pairs>
<metadata_items>128</metadata_items>
<ram>51200</ram>
<security_group_rules>20</security_group_rules>
<security_groups>10</security_groups>
</quota_set>

View File

@ -0,0 +1,7 @@
{
"quota_set": {
"gigabytes": 5,
"snapshots": 10,
"volumes": 20
}
}

View File

@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
<gigabytes>5</gigabytes>
<snapshots>10</snapshots>
<volumes>20</volumes>
</quota_set>

View File

@ -0,0 +1,7 @@
{
"quota_set": {
"gigabytes": 5,
"snapshots": 10,
"volumes": 20
}
}

View File

@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
<gigabytes>5</gigabytes>
<snapshots>10</snapshots>
<volumes>20</volumes>
</quota_set>

View File

@ -0,0 +1,5 @@
{
"quota_set": {
"snapshots": 45
}
}

View File

@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
<snapshots>45</snapshots>
</quota_set>

View File

@ -0,0 +1,5 @@
{
"quota_set": {
"snapshots": 45
}
}

View File

@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
<gigabytes>5</gigabytes>
<snapshots>10</snapshots>
<volumes>20</volumes>
</quota_set>

View File

@ -0,0 +1,19 @@
{
"quota_set": {
"gigabytes": {
"in_use": 100,
"limit": -1,
"reserved": 0
},
"snapshots": {
"in_use": 12,
"limit": -1,
"reserved": 0
},
"volumes": {
"in_use": 1,
"limit": -1,
"reserved": 0
}
}
}

View File

@ -0,0 +1,7 @@
{
"quota_set": {
"gigabytes": 5,
"snapshots": 10,
"volumes": 20
}
}

View File

@ -0,0 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<quota_set id="fake_tenant">
<gigabytes>5</gigabytes>
<snapshots>10</snapshots>
<volumes>20</volumes>
</quota_set>

View File

@ -0,0 +1,8 @@
{
"snapshot": {
"name": "snap-001",
"description": "Daily backup",
"volume_id": "5aa119a8-d25b-45a7-8d1b-88e127885635",
"force": true
}
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<snapshot
xmlns="http://docs.openstack.org/openstack-block-storage/2.0/content"
name="snap-001" description="Daily backup"
volume_id="5aa119a8-d25b-45a7-8d1b-88e127885635" force="true"/>

View File

@ -0,0 +1,12 @@
{
"snapshot": {
"status": "creating",
"description": "Daily backup",
"created_at": "2013-02-25T03:56:53.081642",
"metadata": {},
"volume_id": "5aa119a8-d25b-45a7-8d1b-88e127885635",
"size": 1,
"id": "ffa9bc5e-1172-4021-acaf-cdcd78a9584d",
"name": "snap-001"
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<snapshot status="creating" description="Daily backup"
created_at="2013-02-25T03:56:53.081642"
volume_id="5aa119a8-d25b-45a7-8d1b-88e127885635" size="1"
id="ffa9bc5e-1172-4021-acaf-cdcd78a9584d" name="snap-001">
<metadata/>
</snapshot>

View File

@ -0,0 +1,5 @@
{
"metadata": {
"name": "test"
}
}

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
<meta key="name">test</meta>
</metadata>

View File

@ -0,0 +1,5 @@
{
"metadata": {
"key": "v2"
}
}

View File

@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<metadata>
<meta key="key">v2</meta>
</metadata>

View File

@ -0,0 +1,5 @@
{
"metadata": {
"key": "v2"
}
}

View File

@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<metadata xmlns="http://docs.openstack.org/compute/api/v1.1">
<meta key="key">v2</meta>
</metadata>

View File

@ -0,0 +1,14 @@
{
"snapshot": {
"status": "available",
"os-extended-snapshot-attributes:progress": "100%",
"description": "Daily backup",
"created_at": "2013-02-25T04:13:17.000000",
"metadata": {},
"volume_id": "5aa119a8-d25b-45a7-8d1b-88e127885635",
"os-extended-snapshot-attributes:project_id": "0c2eba2c5af04d3f9e9d0d410b371fde",
"size": 1,
"id": "2bb856e1-b3d8-4432-a858-09e4ce939389",
"name": "snap-001"
}
}

View File

@ -0,0 +1,11 @@
<?xml version='1.0' encoding='UTF-8'?>
<snapshot
xmlns:os-extended-snapshot-attributes="http://docs.openstack.org/openstack-block-storage/2.0/content/Extended_Snapshot_Attributes.html"
status="available" description="Very important"
created_at="2013-02-25 04:13:17"
volume_id="5aa119a8-d25b-45a7-8d1b-88e127885635" size="1"
id="2bb856e1-b3d8-4432-a858-09e4ce939389" name="snap-001"
os-extended-snapshot-attributes:project_id="0c2eba2c5af04d3f9e9d0d410b371fde"
os-extended-snapshot-attributes:progress="100%">
<metadata/>
</snapshot>

View File

@ -0,0 +1,6 @@
{
"snapshot": {
"name": "snap-002",
"description": "This is yet, another snapshot."
}
}

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<snapshot
xmlns="http://docs.openstack.org/openstack-block-storage/2.0/content"
name="snap-002" description="This is yet, another snapshot."/>

View File

@ -0,0 +1,11 @@
{
"snapshot": {
"created_at": "2013-02-20T08:11:34.000000",
"description": "This is yet, another snapshot",
"name": "snap-002",
"id": "4b502fcb-1f26-45f8-9fe5-3b9a0a52eaf2",
"size": 1,
"status": "available",
"volume_id": "2402b902-0b7a-458c-9c07-7435a826f794"
}
}

View File

@ -0,0 +1,14 @@
<?xml version='1.0' encoding='UTF-8'?>
<snapshot
xmlns:os-extended-snapshot-attributes="http://docs.openstack.org/openstack-block-storage/2.0/content/Extended_Snapshot_Attributes.html"
status="available"
description="This is yet, another snapshot"
created_at="2013-02-20T08:11:34.000000"
volume_id="2402b902-0b7a-458c-9c07-7435a826f794"
size="1"
id="4b502fcb-1f26-45f8-9fe5-3b9a0a52eaf2"
name="snap-002"
os-extended-snapshot-attributes:project_id="0c2eba2c5af04d3f9e9d0d410b371fde"
os-extended-snapshot-attributes:progress="100%">
<metadata/>
</snapshot>

View File

@ -0,0 +1,18 @@
{
"snapshots": [
{
"status": "available",
"metadata": {
"name": "test"
},
"os-extended-snapshot-attributes:progress": "100%",
"name": "test-volume-snapshot",
"volume_id": "173f7b48-c4c1-4e70-9acc-086b39073506",
"os-extended-snapshot-attributes:project_id": "bab7d5c60cd041a0a36f7c4b6e1dd978",
"created_at": "2015-11-29T02:25:51.000000",
"size": 1,
"id": "b1323cda-8e4b-41c1-afc5-2fc791809c8c",
"description": "volume snapshot"
}
]
}

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<snapshots
xmlns:os-extended-snapshot-attributes="http://docs.openstack.org/volume/ext/extended_snapshot_attributes/api/v1">
<snapshot status="available"
description="volume snapshot"
created_at="2015-11-29 02:25:51+00:00"
volume_id="173f7b48-c4c1-4e70-9acc-086b39073506"
size="1" id="b1323cda-8e4b-41c1-afc5-2fc791809c8c"
name="test-volume-snapshot"
os-extended-snapshot-attributes:project_id="bab7d5c60cd041a0a36f7c4b6e1dd978"
os-extended-snapshot-attributes:progress="100%">
<metadata>
<meta key="name">test</meta>
</metadata>
</snapshot>
</snapshots>

View File

@ -0,0 +1,16 @@
{
"snapshots": [
{
"status": "available",
"metadata": {
"name": "test"
},
"name": "test-volume-snapshot",
"volume_id": "173f7b48-c4c1-4e70-9acc-086b39073506",
"created_at": "2015-11-29T02:25:51.000000",
"size": 1,
"id": "b1323cda-8e4b-41c1-afc5-2fc791809c8c",
"description": "volume snapshot"
}
]
}

Some files were not shown because too many files have changed in this diff Show More