cinder/api-ref/source/v3/quota-sets.inc
whoami-rajat de3f8e2bff Automate generation of quotas api-ref samples
This patch adds the following tests:
1) quota sets
2) quota classes

Change-Id: Ie52071c0b69b49eee340ebf4b06446e824c4b5fe
Partially-Implements: blueprint generating-sample-files
2019-09-30 16:29:49 +05:30

283 lines
5.8 KiB
ReStructuredText

.. -*- rst -*-
Quota sets extension (os-quota-sets)
====================================
Administrators only, depending on policy settings.
Shows, updates, and deletes quotas for a project.
Show quotas for a project
~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v3/{admin_project_id}/os-quota-sets/{project_id}
Shows quotas for a project.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 200
Request
-------
.. rest_parameters:: parameters.yaml
- admin_project_id: admin_project_id
- project_id: quotas_project_id
- usage: usage
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- quota_set: quota_set
- id: project_id
- volumes: volumes_number
- volumes_{volume_type}: volumes_number_for_type
- snapshots: snapshots_number
- snapshots_{volume_type}: snapshots_number_for_type
- backups: backups_number
- groups: groups_number
- per_volume_gigabytes: per_volume_gigabytes
- gigabytes: gigabytes
- gigabytes_{volume_type}: gigabytes_for_type
- backup_gigabytes: backup_gigabytes
Response Example
----------------
.. literalinclude:: ./samples/quota_sets/quotas-show-response.json
:language: javascript
Show quota usage for a project
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method::
GET /v3/{admin_project_id}/os-quota-sets/{project_id}?{usage}=True
Shows quota usage for a project.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: quotas_project_id
- admin_project_id: admin_project_id
- usage: usage
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- quota_set: quota_set
- id: project_id
- volumes: volumes_number_usage
- volumes_{volume_type}: volumes_number_for_type_usage
- snapshots: snapshots_number_usage
- snapshots_{volume_type}: snapshots_number_for_type_usage
- backups: backups_number_usage
- groups: groups_number_usage
- per_volume_gigabytes: per_volume_gigabytes_usage
- gigabytes: gigabytes_usage
- gigabytes_{volume_type}: gigabytes_for_type_usage
- backup_gigabytes: backup_gigabytes_usage
Response Example
----------------
.. literalinclude:: ./samples/quota_sets/quotas-show-usage-response.json
:language: javascript
Update quotas for a project
~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v3/{admin_project_id}/os-quota-sets/{project_id}
Updates quotas for a project.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 200
Request
-------
.. rest_parameters:: parameters.yaml
- admin_project_id: admin_project_id
- project_id: quotas_project_id
- quota_set: quota_set
- volumes: volumes_number
- volumes_{volume_type}: volumes_number_for_type
- snapshots: snapshots_number
- snapshots_{volume_type}: snapshots_number_for_type
- backups: backups_number
- groups: groups_number
- per_volume_gigabytes: per_volume_gigabytes
- gigabytes: gigabytes
- gigabytes_{volume_type}: gigabytes_for_type
- backup_gigabytes: backup_gigabytes
Request Example
---------------
.. literalinclude:: ./samples/quota_sets/quotas-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- quota_set: quota_set
- volumes: volumes_number
- volumes_{volume_type}: volumes_number_for_type
- snapshots: snapshots_number
- snapshots_{volume_type}: snapshots_number_for_type
- backups: backups_number
- groups: groups_number
- per_volume_gigabytes: per_volume_gigabytes
- gigabytes: gigabytes
- gigabytes_{volume_type}: gigabytes_for_type
- backup_gigabytes: backup_gigabytes
Response Example
----------------
.. literalinclude:: ./samples/quota_sets/quotas-update-response.json
:language: javascript
Delete quotas for a project
~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: DELETE /v3/{admin_project_id}/os-quota-sets/{project_id}
Deletes quotas for a project so the quotas revert to default values.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: quotas_project_id
- admin_project_id: admin_project_id
Get default quotas for a project
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method::
GET /v3/{admin_project_id}/os-quota-sets/{project_id}/defaults
Gets default quotas for a project.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 200
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- admin_project_id: admin_project_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- quota_set: quota_set
- id: project_id
- volumes: volumes_number
- volumes_{volume_type}: volumes_number_for_type
- snapshots: snapshots_number
- snapshots_{volume_type}: snapshots_number_for_type
- backups: backups_number
- groups: groups_number
- per_volume_gigabytes: per_volume_gigabytes
- gigabytes: gigabytes
- gigabytes_{volume_type}: gigabytes_for_type
- backup_gigabytes: backup_gigabytes
Response Example
----------------
.. literalinclude:: ./samples/quota_sets/quotas-show-defaults-response.json
:language: javascript
Validate setup for nested quota
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method::
GET /v3/{admin_project_id}/os-quota-sets/validate_setup_for_nested_quota_use
Validate setup for nested quota, administrator should ensure that Keystone v3
or greater is being used.
Response codes
--------------
.. rest_status_code:: success ../status.yaml
- 200
.. rest_status_code:: error ../status.yaml
- 400
Request
-------
.. rest_parameters:: parameters.yaml
- admin_project_id: admin_project_id
- fix_allocated_quotas: fix_allocated_quotas