nova/api-ref/source/os-quota-sets.inc
Matt Riedemann e851c13d49 api-ref: sort parameters for limits, quotas and quota classes
The limits, quotas and quota classes parameters tables are
getting a bit confusing now after several deprecation microversions.

This change sorts the parameters for those APIs such that the
deprecated parameters are pushed to the end of the parameter table,
sorted by microversion in ascending order and alphabetical within
the same microversion.

Change-Id: Icedabe222ed7e1ce9a5665e3aaeefb520b16cf83
2017-12-18 13:40:13 -05:00

267 lines
7.3 KiB
ReStructuredText

.. -*- rst -*-
.. _os-quota-sets:
============================
Quota sets (os-quota-sets)
============================
Permits administrators, depending on policy settings, to view default
quotas, view details for quotas, revert quotas to defaults, and update
the quotas for a project or a project and user.
Show A Quota
============
.. rest_method:: GET /os-quota-sets/{tenant_id}
Show the quota for a project or a project and a user.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
- 400 - BadRequest - the tenant_id is not valid in your cloud, perhaps
because it was typoed.
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- user_id: user_id_query_quota
Response
--------
.. rest_parameters:: parameters.yaml
- quota_set: quota_set
- cores: cores
- id: quota_tenant_or_user_id_body
- instances: instances
- key_pairs: key_pairs
- metadata_items: metadata_items
- ram: ram
- server_groups: server_groups
- server_group_members: server_group_members
- fixed_ips: fixed_ips_quota
- floating_ips: floating_ips
- networks: networks_quota_set_optional
- security_group_rules: security_group_rules_quota
- security_groups: security_groups_quota
- injected_file_content_bytes: injected_file_content_bytes
- injected_file_path_bytes: injected_file_path_bytes
- injected_files: injected_files
**Example Show A Quota: JSON response**
.. literalinclude:: ../../doc/api_samples/os-quota-sets/user-quotas-show-get-resp.json
:language: javascript
Update Quotas
=============
.. rest_method:: PUT /os-quota-sets/{tenant_id}
Update the quotas for a project or a project and a user.
Users can force the update even if the quota has already been used and
the reserved quota exceeds the new quota. To force the update, specify
the ``"force": True`` attribute in the request body, the default value
is ``false``.
Normal response codes: 200
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
- 400 - BadRequest - the tenant_id is not valid in your cloud, perhaps
because it was typoed.
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- user_id: user_id_query_set_quota
- quota_set: quota_set
- force: force
- cores: cores_quota_optional
- instances: instances_quota_optional
- key_pairs: key_pairs_quota_optional
- metadata_items: metadata_items_quota_optional
- ram: ram_quota_optional
- server_groups: server_groups_quota_optional
- server_group_members: server_group_members_quota_optional
- fixed_ips: fixed_ips_quota_optional
- floating_ips: floating_ips_quota_optional
- networks: networks_quota_set_optional
- security_group_rules: security_group_rules
- security_groups: security_groups_quota_optional
- injected_file_content_bytes: injected_file_content_bytes_quota_optional
- injected_file_path_bytes: injected_file_path_bytes_quota_optional
- injected_files: injected_files_quota_optional
**Example Update Quotas: JSON request**
.. literalinclude:: ../../doc/api_samples/os-quota-sets/quotas-update-post-req.json
:language: javascript
**Example Update Quotas with the optional ``force`` attribute: JSON request**
.. literalinclude:: ../../doc/api_samples/os-quota-sets/quotas-update-force-post-req.json
:language: javascript
Response
--------
.. rest_parameters:: parameters.yaml
- quota_set: quota_set
- cores: cores
- instances: instances
- key_pairs: key_pairs
- metadata_items: metadata_items
- ram: ram
- server_groups: server_groups
- server_group_members: server_group_members
- fixed_ips: fixed_ips_quota
- floating_ips: floating_ips
- networks: networks_quota_set_optional
- security_group_rules: security_group_rules_quota
- security_groups: security_groups_quota
- injected_file_content_bytes: injected_file_content_bytes
- injected_file_path_bytes: injected_file_path_bytes
- injected_files: injected_files
**Example Update Quotas: JSON response**
.. literalinclude:: ../../doc/api_samples/os-quota-sets/quotas-update-post-resp.json
:language: javascript
Revert Quotas To Defaults
=========================
.. rest_method:: DELETE /os-quota-sets/{tenant_id}
Reverts the quotas to default values for a project or a project and a user.
To revert quotas for a project and a user, specify the ``user_id`` query parameter.
Normal response codes: 202
Error response codes: unauthorized(401), forbidden(403)
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- user_id: user_id_query_quota_delete
Response
--------
There is no body content for the response of a successful DELETE operation.
List Default Quotas For Tenant
==============================
.. rest_method:: GET /os-quota-sets/{tenant_id}/defaults
Lists the default quotas for a project.
Normal response codes: 200
Error response codes: badrequest(400), unauthorized(401), forbidden(403)
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response
--------
.. rest_parameters:: parameters.yaml
- quota_set: quota_set
- cores: cores
- id: quota_tenant_or_user_id_body
- instances: instances
- key_pairs: key_pairs
- metadata_items: metadata_items
- ram: ram
- server_groups: server_groups
- server_group_members: server_group_members
- fixed_ips: fixed_ips_quota
- floating_ips: floating_ips
- networks: networks_quota_set_optional
- security_group_rules: security_group_rules_quota
- security_groups: security_groups_quota
- injected_file_content_bytes: injected_file_content_bytes
- injected_file_path_bytes: injected_file_path_bytes
- injected_files: injected_files
**Example List Default Quotas For Tenant: JSON response**
.. literalinclude:: ../../doc/api_samples/os-quota-sets/quotas-show-defaults-get-resp.json
:language: javascript
Show The Detail of Quota
========================
.. rest_method:: GET /os-quota-sets/{tenant_id}/detail
Show the detail of quota for a project or a project and a user.
To show a quota for a project and a user, specify the ``user_id`` query parameter.
Normal response codes: 200
Error response codes: badrequest(400), unauthorized(401), forbidden(403)
- 400 - BadRequest - the {tenant_id} is not valid in your cloud, perhaps
because it was typoed.
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- user_id: user_id_query_quota
Response
--------
.. rest_parameters:: parameters.yaml
- quota_set: quota_set
- cores: cores_quota_details
- id: quota_tenant_or_user_id_body
- instances: instances_quota_details
- key_pairs: key_pairs_quota_details
- metadata_items: metadata_items_quota_details
- ram: ram_quota_details
- server_groups: server_groups_quota_details
- server_group_members: server_group_members_quota_details
- fixed_ips: fixed_ips_quota_details
- floating_ips: floating_ips_quota_details
- networks: networks_quota_set_optional
- security_group_rules: security_group_rules_quota_details
- security_groups: security_groups_quota_details
- injected_file_content_bytes: injected_file_content_bytes_quota_details
- injected_file_path_bytes: injected_file_path_bytes_quota_details
- injected_files: injected_files_quota_details
**Example Show A Quota: JSON response**
.. literalinclude:: ../../doc/api_samples/os-quota-sets/quotas-show-detail-get-resp.json
:language: javascript