1152f9d4c3
The result is different from API document about 'qos-policy-show', bandwidth and DSCP description in rules list not in policy Change-Id: I1d857f5061f4fc7a58ed13766016d04ff6d315eb Closes-Bug: #1643121
550 lines
11 KiB
ReStructuredText
550 lines
11 KiB
ReStructuredText
.. -*- rst -*-
|
|
.. needs:method_verification
|
|
.. needs:parameter_verification
|
|
.. needs:example_verification
|
|
.. needs:body_verification
|
|
|
|
==================
|
|
QoS policies (qos)
|
|
==================
|
|
|
|
Lists, creates, shows information for, and updates QoS policies.
|
|
|
|
Show bandwidth limit rule details
|
|
=================================
|
|
|
|
.. rest_method:: GET /v2.0/qos/policies/{policy_id}/bandwidth_limit_rules/{rule_id}
|
|
|
|
Shows details for a bandwidth limit rule for a QoS policy.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 500,401,503
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- rule_id: rule_id
|
|
- policy_id: policy_id
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bandwidth_limit_rule: bandwidth_limit_rule
|
|
- max_kbps: max_kbps
|
|
- id: id
|
|
- max_burst_kbps: max_burst_kbps
|
|
- policy_id: policy_id
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/bandwidth_limit_rule-show-response.json
|
|
:language: javascript
|
|
|
|
Update bandwidth limit rule
|
|
===========================
|
|
|
|
.. rest_method:: PUT /v2.0/qos/policies/{policy_id}/bandwidth_limit_rules/{rule_id}
|
|
|
|
Updates a bandwidth limit rule for a QoS policy.
|
|
|
|
If the request is valid, the service returns the ``Accepted (202)``
|
|
response code.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 400,401,413,503,500
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bandwidth_limit_rule: bandwidth_limit_rule
|
|
- max_kbps: max_kbps
|
|
- max_burst_kbps: max_burst_kbps
|
|
- policy_id: policy_id
|
|
- rule_id: rule_id
|
|
- policy_id: policy_id
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/qos/bandwidth_limit_rule-update-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bandwidth_limit_rule: bandwidth_limit_rule
|
|
- max_kbps: max_kbps
|
|
- id: id
|
|
- max_burst_kbps: max_burst_kbps
|
|
- policy_id: policy_id
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/bandwidth_limit_rule-update-response.json
|
|
:language: javascript
|
|
|
|
Delete bandwidth limit rule
|
|
===========================
|
|
|
|
.. rest_method:: DELETE /v2.0/qos/policies/{policy_id}/bandwidth_limit_rules/{rule_id}
|
|
|
|
Deletes a bandwidth limit rule for a QoS policy.
|
|
|
|
Error response codes: 204,400,401,413,503,500
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- rule_id: rule_id
|
|
- policy_id: policy_id
|
|
|
|
List QoS policies
|
|
=================
|
|
|
|
.. rest_method:: GET /v2.0/qos/policies
|
|
|
|
Lists all QoS policies associated with your project.
|
|
|
|
The list might be empty.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 500,401,503
|
|
|
|
Request
|
|
-------
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- description: description
|
|
- policy_id: policy_id
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- policies: policies
|
|
- shared: shared
|
|
- id: id
|
|
- rules: rules
|
|
- name: name
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/policies-list-response.json
|
|
:language: javascript
|
|
|
|
Create QoS policy
|
|
=================
|
|
|
|
.. rest_method:: POST /v2.0/qos/policies
|
|
|
|
Creates a QoS policy.
|
|
|
|
Creates a QoS policy by using the configuration that you define in
|
|
the request object. A response object is returned. The object
|
|
contains a unique ID.
|
|
|
|
If the caller is not an administrative user, this call returns the
|
|
HTTP ``Forbidden (403)`` response code.
|
|
|
|
Users with an administrative role can create policies on behalf of
|
|
other projects by specifying a project ID that is different than
|
|
their own.
|
|
|
|
Error response codes: 201,404,409,401,413,503,500
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- description: description
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- policy: policy
|
|
- shared: shared
|
|
- type: type
|
|
- name: name
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/qos/policy-create-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- description: description
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- policy: policy
|
|
- shared: shared
|
|
- id: id
|
|
- name: name
|
|
|
|
Show DSCP marking rule details
|
|
==============================
|
|
|
|
.. rest_method:: GET /v2.0/qos/policies/{policy_id}/dscp_marking_rules/{dscp_rule_id}
|
|
|
|
Shows details for a DSCP marking rule for a QoS policy.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 500,401,503
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: policy_id
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- dscp_marking_rule: dscp_marking_rule
|
|
- dscp_mark: dscp_mark
|
|
- id: id
|
|
- policy_id: policy_id
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/dscp_marking_rule-show-response.json
|
|
:language: javascript
|
|
|
|
Update DSCP marking rule
|
|
========================
|
|
|
|
.. rest_method:: PUT /v2.0/qos/policies/{policy_id}/dscp_marking_rules/{dscp_rule_id}
|
|
|
|
Updates a DSCP marking rule for a QoS policy.
|
|
|
|
If the request is valid, the service returns the ``Accepted (202)``
|
|
response code.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 400,401,413,503,500
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- dscp_marking_rule: dscp_marking_rule
|
|
- dscp_mark: dscp_mark
|
|
- policy_id: policy_id
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/qos/dscp_marking_rule-update-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- dscp_marking_rule: dscp_marking_rule
|
|
- dscp_mark: dscp_mark
|
|
- id: id
|
|
- policy_id: policy_id
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/dscp_marking_rule-update-response.json
|
|
:language: javascript
|
|
|
|
Delete DSCP marking rule
|
|
========================
|
|
|
|
.. rest_method:: DELETE /v2.0/qos/policies/{policy_id}/dscp_marking_rules/{dscp_rule_id}
|
|
|
|
Deletes a DSCP marking rule for a QoS policy.
|
|
|
|
Error response codes: 204,400,401,413,503,500
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: policy_id
|
|
|
|
List DSCP marking rules for QoS policy
|
|
======================================
|
|
|
|
.. rest_method:: GET /v2.0/qos/policies/{policy_id}/dscp_marking_rules
|
|
|
|
Lists all DSCP marking rules for a QoS policy.
|
|
|
|
The list may be empty.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 500,401,503
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: policy_id
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- dscp_marking_rules: dscp_marking_rules
|
|
- dscp_mark: dscp_mark
|
|
- id: id
|
|
- policy_id: policy_id
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/dscp_marking_rules-list-response.json
|
|
:language: javascript
|
|
|
|
Create DSCP marking rule
|
|
========================
|
|
|
|
.. rest_method:: POST /v2.0/qos/policies/{policy_id}/dscp_marking_rules
|
|
|
|
Creates a DSCP marking rule for a QoS policy.
|
|
|
|
Error response codes: 201,404,409,401,413,503,500
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- dscp_marking_rule: dscp_marking_rule
|
|
- dscp_mark: dscp_mark
|
|
- policy_id: policy_id
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/qos/dscp_marking_rule-create-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- dscp_marking_rule: dscp_marking_rule
|
|
- dscp_mark: dscp_mark
|
|
- id: id
|
|
- policy_id: policy_id
|
|
|
|
Show QoS policy details
|
|
=======================
|
|
|
|
.. rest_method:: GET /v2.0/qos/policies/{policy_id}
|
|
|
|
Shows details for a QoS policy.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 500,401,503
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: policy_id
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- description: description
|
|
- policy_id: policy_id
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- policy: policy
|
|
- shared: shared
|
|
- rules: rules
|
|
- id: id
|
|
- name: name
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/policy-show-response.json
|
|
:language: javascript
|
|
|
|
Update QoS policy
|
|
=================
|
|
|
|
.. rest_method:: PUT /v2.0/qos/policies/{policy_id}
|
|
|
|
Updates a QoS policy.
|
|
|
|
If the request is valid, the service returns the ``Accepted (202)``
|
|
response code.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 400,401,413,503,500
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- description: description
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- policy: policy
|
|
- shared: shared
|
|
- type: type
|
|
- name: name
|
|
- policy_id: policy_id
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/qos/policy-update-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- description: description
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- policy: policy
|
|
- shared: shared
|
|
- id: id
|
|
- name: name
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/policy-update-response.json
|
|
:language: javascript
|
|
|
|
Delete QoS policy
|
|
=================
|
|
|
|
.. rest_method:: DELETE /v2.0/qos/policies/{policy_id}
|
|
|
|
Deletes a QoS policy.
|
|
|
|
Error response codes: 204,400,401,413,503,500
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: policy_id
|
|
|
|
List bandwidth limit rules for QoS policy
|
|
=========================================
|
|
|
|
.. rest_method:: GET /v2.0/qos/policies/{policy_id}/bandwidth_limit_rules
|
|
|
|
Lists all bandwidth limit rules for a QoS policy.
|
|
|
|
The list might be empty.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 500,401,503
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: policy_id
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- max_kbps: max_kbps
|
|
- bandwidth_limit_rules: bandwidth_limit_rules
|
|
- id: id
|
|
- max_burst_kbps: max_burst_kbps
|
|
- policy_id: policy_id
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/bandwidth_limit_rules-list-response.json
|
|
:language: javascript
|
|
|
|
Create bandwidth limit rule
|
|
===========================
|
|
|
|
.. rest_method:: POST /v2.0/qos/policies/{policy_id}/bandwidth_limit_rules
|
|
|
|
Creates a bandwidth limit rule for a QoS policy.
|
|
|
|
Error response codes: 201,404,409,401,413,503,500
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bandwidth_limit_rule: bandwidth_limit_rule
|
|
- max_kbps: max_kbps
|
|
- max_burst_kbps: max_burst_kbps
|
|
- policy_id: policy_id
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/qos/bandwidth_limit_rule-create-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bandwidth_limit_rule: bandwidth_limit_rule
|
|
- max_kbps: max_kbps
|
|
- id: id
|
|
- max_burst_kbps: max_burst_kbps
|
|
- policy_id: policy_id
|
|
|