cinder/api-ref/source/v3/qos-specs-v3-qos-specs.inc
Sean McGinnis fffdac20c2 api-ref: Make v3 enclosing objects consistent
Some request details provided information about the other
JSON value while others didn't. To make things consistent
and to make sure API consumers understand how the requests
need to be structured, this adds missing instances. It also
reorders some parameter lists to be a little more logical,
so even though we can't show the nested nature of some of
these, it at least doesn't show inner values before outer
ones.

This also corrects many errors seen while going through
the API ref. This is by no means exhaustive, and is already
somewhat out of the scope for this patch, so it is expected
that there are some (many) cases that are not addressed by
this patch. Those will be fixed with ongoing effort in
future patches.

Partial-bug: #1713517
Change-Id: I30964ba8d829778fd01174d639d44ba07e4b77a6
2017-09-01 09:54:34 -05:00

325 lines
5.4 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.
Normal response codes: 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.
Normal response codes: 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
- keys: keys
Request Example
---------------
.. literalinclude:: ./samples/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.
Normal response codes: 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
Response
--------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
- specs: specs
- consumer: consumer_1
- name: name_4
- id: id_3
- links: links_2
Response Example
----------------
.. literalinclude:: ./samples/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.
Normal response codes: 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.
Normal response codes: 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.
Normal response codes: 200
Error response codes: 413,405,404,403,401,400,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_4
- id: id_3
- links: links_2
Response Example
----------------
.. literalinclude:: ./samples/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.
Normal response codes: 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
- qos_specs: qos_specs
Request Example
---------------
.. literalinclude:: ./samples/qos-update-request.json
:language: javascript
Response
--------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
Response Example
----------------
.. literalinclude:: ./samples/qos-update-response.json
:language: javascript
Delete a QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: DELETE /v3/{project_id}/qos-specs/{qos_id}
Deletes a QoS specification.
Normal response codes: 202
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_id: qos_id
- force: force_3
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.
Normal response codes: 202
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- qos_specs: qos_specs
- name: name_4
Request Example
---------------
.. literalinclude:: ./samples/qos-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
- name: name_4
- links: links_2
- id: id_3
- consumer: consumer
- specs: specs
List QoS Specifications
~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v3/{project_id}/qos-specs
Lists quality of service (QoS) specifications.
Normal response codes: 200
Error response codes: 300
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- sort: sort
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
- specs: specs
- consumer: consumer
- id: id_3
- name: name_4
Response Example
----------------
.. literalinclude:: ./samples/qos-list-response.json
:language: javascript