cinder/api-ref/source/v3/consistencygroups-v3.inc
Mark T. Voelker 931e2f8161 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
2016-09-19 14:33:01 -04:00

268 lines
5.1 KiB
ReStructuredText

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