681 lines
14 KiB
ReStructuredText
681 lines
14 KiB
ReStructuredText
.. -*- rst -*-
|
|
|
|
==============
|
|
QoS rule types
|
|
==============
|
|
|
|
Lists and shows information for QoS rule types available in current deployment.
|
|
|
|
List QoS rule types
|
|
===================
|
|
|
|
.. rest_method:: GET /v2.0/qos/rule-types
|
|
|
|
Lists available qos rule types.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 401
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- rule_types: qos-rule-types
|
|
- type: qos-rule-type
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/rule_types-list-response.json
|
|
:language: javascript
|
|
|
|
Show QoS rule type details
|
|
==========================
|
|
|
|
.. rest_method:: GET /v2.0/qos/rule-types/{rule_type}
|
|
|
|
Shows details for an available QoS rule type.
|
|
|
|
To determine if this API call is available, a user can check whether
|
|
the ``qos-rule-type-details`` extension API is available.
|
|
|
|
You can control which response parameters are returned by using the
|
|
fields query parameter. For information, see `Filtering and column
|
|
selection <http://specs.openstack.org/openstack/neutron-
|
|
specs/specs/api/networking_general_api_information.html#filtering-
|
|
and-column-selection>`__.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- rule_type: qos-rule_type
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- type: qos-rule-type
|
|
- drivers: qos-backend-drivers
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/rule_type-details-response.json
|
|
:language: javascript
|
|
|
|
==================
|
|
QoS policies (qos)
|
|
==================
|
|
|
|
Lists, creates, deletes, shows information for, and updates QoS policies.
|
|
|
|
List QoS policies
|
|
=================
|
|
|
|
.. rest_method:: GET /v2.0/qos/policies
|
|
|
|
Lists all QoS policies associated with your project.
|
|
|
|
The list might be empty.
|
|
|
|
Use the ``fields`` query parameter to control which fields are
|
|
returned in the response body. Additionally, you can filter results
|
|
by using query string parameters. For information, see `Filtering
|
|
and Column Selection <https://wiki.openstack.org/wiki/Neutron/APIv2
|
|
-specification#Filtering_and_Column_Selection>`__.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: 401
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- fields: fields
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policies: policies
|
|
- description: description
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- shared: qos-shared
|
|
- id: qos_policy_id
|
|
- rules: qos-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.
|
|
|
|
By the default policy configuration, 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.
|
|
|
|
Normal response codes: 201
|
|
|
|
Error response codes: 401, 403, 404, 409
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy: policy
|
|
- description: description-request
|
|
- tenant_id: project_id-request
|
|
- project_id: project_id-request
|
|
- shared: qos-shared-request
|
|
- name: qos_policy-name
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/qos/policy-create-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy: policy
|
|
- description: description
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- shared: qos-shared
|
|
- rules: qos-rules
|
|
- id: qos_policy_id
|
|
- name: name
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/policy-create-response.json
|
|
:language: javascript
|
|
|
|
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: 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy: policy
|
|
- description: description
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- shared: qos-shared
|
|
- rules: qos-rules
|
|
- id: qos_policy_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: 202
|
|
|
|
Error response codes: 400, 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- policy: policy
|
|
- description: description-request
|
|
- shared: qos-shared-request
|
|
- name: qos_policy-name
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/qos/policy-update-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy: policy
|
|
- description: description
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- shared: qos-shared
|
|
- id: qos_policy_id
|
|
- rules: qos-rules
|
|
- 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.
|
|
|
|
Normal response codes: 204
|
|
|
|
Error response codes: 400, 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
|
|
Response
|
|
--------
|
|
|
|
There is no body content for the response of a successful DELETE request.
|
|
|
|
=========================
|
|
QoS bandwidth limit rules
|
|
=========================
|
|
|
|
Lists, creates, deletes, shows information for, and updates QoS bandwidth limit rules.
|
|
|
|
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: 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bandwidth_limit_rules: bandwidth_limit_rules
|
|
- max_kbps: max_kbps-response
|
|
- id: qos_bandwidth_limit_rule-id
|
|
- max_burst_kbps: max_burst_kbps-response
|
|
- direction: qos-rule-direction-response
|
|
|
|
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.
|
|
|
|
Normal response codes: 201
|
|
|
|
Error response codes: 400, 401, 404, 409
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- bandwidth_limit_rule: bandwidth_limit_rule
|
|
- max_kbps: max_kbps
|
|
- max_burst_kbps: max_burst_kbps
|
|
- direction: qos-rule-direction
|
|
|
|
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-response
|
|
- id: qos_bandwidth_limit_rule-id
|
|
- max_burst_kbps: max_burst_kbps-response
|
|
- direction: qos-rule-direction-response
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/bandwidth_limit_rule-create-response.json
|
|
:language: javascript
|
|
|
|
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: 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- rule_id: qos-rule_id
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- bandwidth_limit_rule: bandwidth_limit_rule
|
|
- max_kbps: max_kbps-response
|
|
- id: qos_bandwidth_limit_rule-id
|
|
- max_burst_kbps: max_burst_kbps-response
|
|
- direction: qos-rule-direction-response
|
|
|
|
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: 202
|
|
|
|
Error response codes: 400, 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- rule_id: qos-rule_id
|
|
- bandwidth_limit_rule: bandwidth_limit_rule
|
|
- max_kbps: max_kbps
|
|
- max_burst_kbps: max_burst_kbps
|
|
- direction: qos-rule-direction-update
|
|
|
|
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-response
|
|
- id: qos_bandwidth_limit_rule-id
|
|
- max_burst_kbps: max_burst_kbps-response
|
|
- direction: qos-rule-direction-update-response
|
|
|
|
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.
|
|
|
|
Normal response codes: 204
|
|
|
|
Error response codes: 400, 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- rule_id: qos-rule_id
|
|
|
|
Response
|
|
--------
|
|
|
|
There is no body content for the response of a successful DELETE request.
|
|
|
|
======================
|
|
QoS DSCP marking rules
|
|
======================
|
|
|
|
Lists, creates, deletes, shows information for, and updates QoS DSCP marking rules.
|
|
|
|
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: 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- dscp_marking_rules: dscp_marking_rules
|
|
- dscp_mark: dscp_mark-response
|
|
- id: qos_dscp_marking_rule-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.
|
|
|
|
Normal response codes: 201
|
|
|
|
Error response codes: 400, 401, 404, 409
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- dscp_marking_rule: dscp_marking_rule
|
|
- dscp_mark: dscp_mark
|
|
|
|
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-response
|
|
- id: qos_dscp_marking_rule-id
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/dscp_marking_rule-create-response.json
|
|
:language: javascript
|
|
|
|
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: 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- dscp_rule_id: dscp_rule_id
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- dscp_marking_rule: dscp_marking_rule
|
|
- dscp_mark: dscp_mark
|
|
- id: qos_dscp_marking_rule-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: 202
|
|
|
|
Error response codes: 400, 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- dscp_rule_id: dscp_rule_id
|
|
- dscp_marking_rule: dscp_marking_rule
|
|
- dscp_mark: dscp_mark
|
|
|
|
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-response
|
|
- id: qos_dscp_marking_rule-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.
|
|
|
|
Normal response codes: 204
|
|
|
|
Error response codes: 400, 401, 404
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- dscp_rule_id: dscp_rule_id
|
|
|
|
Response
|
|
--------
|
|
|
|
There is no body content for the response of a successful DELETE request.
|
|
|