Files
manila/api-ref/source/quota-classes.inc
kpdev 274073fcdc Add documentation for per share gigabytes quotas
Update documentation to fit into the new manila quota key:
- `per_share_gigabytes`

This cherry-pick is required only to update the admin and config
docs - api ref is always served from the latest branch

Closes-Bug: #1918959
Change-Id: If0bbac2d153348f26f5b60cba3eb492926aa53c5
(cherry picked from commit df3382d960)
2021-07-30 20:59:57 +00:00

136 lines
3.2 KiB
ReStructuredText

.. -*- rst -*-
===============
Quota class set
===============
Quota classes can be shown and updated for a project.
.. important::
Share replicas and replica gigabytes were added to quota management
APIs in API version 2.53.
Per share gigabytes was added to quota management APIs in API
version 2.62.
Show quota classes for a project
================================
.. rest_method:: GET /v2/quota-class-sets/{quota_class_name}
Shows quota class set for a project. If no specific value for the quota class
resource exists, then the default value will be reported.
Response codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 403
- 404
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- quota_class_name: quota_class_name
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- quota_class_set: quota_class_set
- share_groups: maxTotalShareGroups
- gigabytes: maxTotalShareGigabytes
- share_group_snapshots: maxTotalShareGroupSnapshots
- snapshots: maxTotalShareSnapshots
- snapshot_gigabytes: maxTotalSnapshotGigabytes
- shares: maxTotalShares
- id: quota_class_id
- share_networks: maxTotalShareNetworks
- share_replicas: maxTotalShareReplicas
- replica_gigabytes: maxTotalReplicaGigabytes
- per_share_gigabytes: perShareGigabytes
Response Example
----------------
.. literalinclude:: ./samples/quota-classes-show-response.json
:language: javascript
Update quota classes for a project
==================================
.. rest_method:: PUT /v2/quota-class-sets/{quota_class_name}
Updates quota class set for a project. If the ``quota_class_name`` key does not
exist, then the API will create one.
Response codes
--------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 400
- 403
- 404
Request
-------
.. rest_parameters:: parameters.yaml
- project_id: project_id_path
- quota_class_name: quota_class_name
- shares: maxTotalSharesOptional
- snapshots: maxTotalShareSnapshotsOptional
- gigabytes: maxTotalShareGigabytesOptional
- snapshot-gigabytes: maxTotalSnapshotGigabytesOptional
- share-networks: maxTotalShareNetworksOptional
- share-replicas: maxTotalShareReplicasOptional
- replica-gigabytes: maxTotalReplicaGigabytesOptional
- per-share-gigabytes: perShareGigabytesOptional
Request Example
---------------
.. literalinclude:: ./samples/quota-classes-update-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- quota_class_set: quota_class_set
- share_groups: maxTotalShareGroups
- gigabytes: maxTotalShareGigabytes
- share_group_snapshots: maxTotalShareGroupSnapshots
- snapshots: maxTotalShareSnapshots
- snapshot_gigabytes: maxTotalSnapshotGigabytes
- shares: maxTotalShares
- share_networks: maxTotalShareNetworks
- share_replicas: maxTotalShareReplicas
- replica_gigabytes: maxTotalReplicaGigabytes
- per_share_gigabytes: perShareGigabytes
Response Example
----------------
.. literalinclude:: ./samples/quota-classes-update-response.json
:language: javascript