cinder/api-ref/source/v3/qos-specs-v3-qos-specs.inc
Stephen Finucane a32e0b2aa6 api-ref: Improve sort, pagination parameter docs
The various index APIs (e.g. 'GET /volumes') support two forms of sort
parameter: the legacy 'sort_key'/'sort_dir' parameters and the combined
'sort' parameter. We were documenting different parameters in different
APIs despite the fact all APIs support all parameters.

In a similar vein, the various index APIs support the same three
pagination parameters: 'offset', 'limit', and 'marker'. Once again, we
were documenting these inconsistently.

Correct both issues.

Change-Id: Ia3300a8852825f7da830f7b1ed37b27625e267e9
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-08-28 15:56:03 +01:00

392 lines
6.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/{project_id}/qos-specs/{qos_id}/disassociate_all
Disassociates a QoS specification from all associations.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 202
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
Unset keys in a QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{project_id}/qos-specs/{qos_id}/delete_keys
Unsets keys in a QoS specification.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 202
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
- keys: keys
Request Example
---------------
.. literalinclude:: ./samples/qos/qos-unset-request.json
:language: javascript
Get all associations for a QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v3/{project_id}/qos-specs/{qos_id}/associations
Lists all associations for a QoS specification.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
Response
--------
.. rest_parameters:: parameters.yaml
- qos_associations: qos_associations
- type: qos_association_type
- id: qos_association_id
- name: qos_association_name
Response Example
----------------
.. literalinclude:: ./samples/qos/qos_show_response.json
:language: javascript
Associate QoS specification with a volume type
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v3/{project_id}/qos-specs/{qos_id}/associate
Associates a QoS specification with a volume type.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 202
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
- vol_type_id: vol_type_id_query
Disassociate QoS specification from a volume type
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v3/{project_id}/qos-specs/{qos_id}/disassociate
Disassociates a QoS specification from a volume type.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 202
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
- vol_type_id: vol_type_id_query
Show a QoS specification details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v3/{project_id}/qos-specs/{qos_id}
Shows details for a QoS specification.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 200
.. rest_status_code:: error ../status.yaml
- 400
- 401
- 403
- 404
- 405
- 413
- 503
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
- specs: specs
- consumer: consumer
- name: name_qos_spec
- id: id_qos_spec
- links: links_qos
Response Example
----------------
.. literalinclude:: ./samples/qos/qos-show-response.json
:language: javascript
Set keys in a QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{project_id}/qos-specs/{qos_id}
Sets keys in a QoS specification.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
- qos_specs: qos_specs
Request Example
---------------
.. literalinclude:: ./samples/qos/qos-update-request.json
:language: javascript
Response
--------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
Response Example
----------------
.. literalinclude:: ./samples/qos/qos-update-response.json
:language: javascript
Delete a QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: DELETE /v3/{project_id}/qos-specs/{qos_id}
Deletes a QoS specification.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 202
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
- force: force_del_qos
Create a QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v3/{project_id}/qos-specs
Creates a QoS specification.
Specify one or more key and value pairs in the request body.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 202
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_specs: qos_specs
- name: name_qos_spec
Request Example
---------------
.. literalinclude:: ./samples/qos/qos-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
- name: name_qos_spec
- links: links_qos
- id: id_qos_spec
- consumer: consumer
- specs: specs
Response Example
----------------
.. literalinclude:: ./samples/qos/qos-create-response.json
:language: javascript
List QoS Specifications
~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v3/{project_id}/qos-specs
Lists quality of service (QoS) specifications.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 200
.. rest_status_code:: error ../status.yaml
- 300
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- sort: sort
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- offset: offset
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
- specs: specs
- consumer: consumer
- id: id_qos_spec
- name: name_qos_spec
Response Example
----------------
.. literalinclude:: ./samples/qos/qos-list-response.json
:language: javascript