cinder/api-ref/source/v3/qos-specs-v3-qos-specs.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

316 lines
5.3 KiB
ReStructuredText

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