cinder/api-ref/source/v2/consistencygroups-v2.inc
lihaijing ba9eaf27af Api-ref: add 'all_tenants' API query option
Cinder REST API allows one to use a special query parameter
named "all_tenants" to list resources from all projects (tenants)
through the REST API:

`/v3/{project_id}/volumes/detail?all_tenants=1`

However, this option is hardly documented anywhere besides
`/v3/{project_id}/volumes/summary`. So add them.

Change-Id: Ia9cc9e20c3b333a054c90f07e952b61dfad8529e
Closes-Bug: #1743800
2018-02-07 01:11:49 +00:00

267 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 consistency groups
~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{project_id}/consistencygroups
Lists consistency groups.
Normal response codes: 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- all_tenants: all-tenants
- 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 consistency group
~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{project_id}/consistencygroups
Creates a consistency group.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- description: description_6
- availability_zone: availability_zone
- volume_types: volume_types_2
- name: name_15
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-create-request.json
:language: javascript
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
Response Example
----------------
.. literalinclude:: ./samples/consistency-group-create-response.json
:language: javascript
Show consistency group details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{project_id}/consistencygroups/{consistencygroup_id}
Shows details for a consistency group.
Normal response codes: 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- consistencygroup_id: consistencygroup_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status_1
- 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 consistency group from source
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{project_id}/consistencygroups/create_from_src
Creates a consistency group from source.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- status: status_1
- user_id: user_id
- description: description
- cgsnapshot_id: cgsnapshot_id
- source_cgid: source_cgid
- project_id: project_id_path
- name: name
- project_id: project_id
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-create-from-src-request.json
:language: javascript
Delete consistency group
~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{project_id}/consistencygroups/{consistencygroup_id}/delete
Deletes a consistency group.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- force: force
- project_id: project_id_path
- consistencygroup_id: consistencygroup_id
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-delete-request.json
:language: javascript
List consistency groups with details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{project_id}/consistencygroups/detail
Lists consistency groups with details.
Normal response codes: 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- all_tenants: all-tenants
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status_1
- 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 consistency group
~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v2/{project_id}/consistencygroups/{consistencygroup_id}/update
Updates a consistency group.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- remove_volumes: remove_volumes
- description: description
- add_volumes: add_volumes
- name: name
- project_id: project_id_path
- consistencygroup_id: consistencygroup_id
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-update-request.json
:language: javascript