ab284169b2
Change [1] wrongly attempted to re-define bandwidth_limit_rules, dscp_marking_rules and minimum_bandwidth_rules as first level API resources, leading to conflicts in the QoS API. We now define alias_bandwidth_limit_rules, alias_dscp_marking_rules and alias_minimum_bandwidth_rules that will enable users to perform GET, PUT and DELETE operations on the corresponding QoS rules without having to specify the associated policy ID. [1] I5366dfee9b760ff5c884981582cdd17245b4d16f Change-Id: I978668ee073c26d6e05ea5e5a0a4e16a7e513fa1 Partial-Bug: #1777627
1071 lines
25 KiB
ReStructuredText
1071 lines
25 KiB
ReStructuredText
.. -*- rst -*-
|
|
|
|
.. _quality-of-service:
|
|
|
|
==============
|
|
QoS rule types
|
|
==============
|
|
|
|
Lists and shows information for QoS rule types available in current deployment.
|
|
|
|
Rule type details
|
|
=================
|
|
|
|
The ``qos-rule-type-details`` extension adds the ``drivers`` attribute to
|
|
QoS rule types. The ``drivers`` attribute's value is a list of driver objects.
|
|
Each driver object represents a loaded backend QoS driver and includes the
|
|
driver's ``name`` as well as a list of its ``supported_parameters`` and
|
|
acceptable values.
|
|
|
|
List QoS rule types
|
|
===================
|
|
|
|
.. rest_method:: GET /v2.0/qos/rule-types
|
|
|
|
Lists available qos rule types.
|
|
|
|
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
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
Resource timestamps extension
|
|
=============================
|
|
|
|
The ``standard-attr-timestamp`` extension adds the ``created_at`` and
|
|
``updated_at`` attributes to all resources that have standard attributes.
|
|
|
|
QoS default extension
|
|
=====================
|
|
The QoS default extension (``qos-default``) allows a per project
|
|
default QoS policy by adding the ``is_default`` attribute
|
|
to ``policy`` resources.
|
|
|
|
Tag extension
|
|
=============
|
|
|
|
The ``standard-attr-tag`` adds Tag support for resources with
|
|
standard attributes by adding the ``tags`` attribute
|
|
allowing consumers to associate tags with resources.
|
|
|
|
|
|
List QoS policies
|
|
=================
|
|
|
|
.. rest_method:: GET /v2.0/qos/policies
|
|
|
|
Lists all QoS policies associated with your project. One policy can contain
|
|
more than one rule type.
|
|
|
|
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
|
|
|
|
- description: description-query
|
|
- tenant_id: project_id-query
|
|
- project_id: project_id-query
|
|
- revision_number: revision_number-query
|
|
- shared: qos-shared-query
|
|
- id: id-query
|
|
- is_default: qos_is_default-query
|
|
- name: name-query
|
|
- tags: tags-query
|
|
- tags-any: tags-any-query
|
|
- not-tags: not-tags-query
|
|
- not-tags-any: not-tags-any-query
|
|
- sort_dir: sort_dir
|
|
- sort_key: qos-sort_key
|
|
- fields: fields
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policies: policies
|
|
- description: description
|
|
- tenant_id: project_id
|
|
- project_id: project_id
|
|
- revision_number: revision_number
|
|
- shared: qos-shared
|
|
- id: qos_policy_id
|
|
- is_default: qos_is_default
|
|
- rules: qos-rules
|
|
- name: name
|
|
- created_at: created_at_resource
|
|
- updated_at: updated_at_resource
|
|
- tags: tags
|
|
|
|
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
|
|
- is_default: qos_is_default-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
|
|
- revision_number: revision_number
|
|
- shared: qos-shared
|
|
- rules: qos-rules
|
|
- id: qos_policy_id
|
|
- is_default: qos_is_default
|
|
- name: name
|
|
- created_at: created_at_resource
|
|
- updated_at: updated_at_resource
|
|
|
|
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. One policy can contain more than one rule type.
|
|
|
|
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
|
|
- revision_number: revision_number
|
|
- shared: qos-shared
|
|
- rules: qos-rules
|
|
- id: qos_policy_id
|
|
- is_default: qos_is_default
|
|
- name: name
|
|
- created_at: created_at_resource
|
|
- updated_at: updated_at_resource
|
|
|
|
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, 412
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- policy: policy
|
|
- description: description-request
|
|
- is_default: qos_is_default-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
|
|
- revision_number: revision_number
|
|
- shared: qos-shared
|
|
- id: qos_policy_id
|
|
- is_default: qos_is_default
|
|
- rules: qos-rules
|
|
- name: name
|
|
- created_at: created_at_resource
|
|
- updated_at: updated_at_resource
|
|
|
|
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, 412
|
|
|
|
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.
|
|
|
|
Bandwidth limit direction
|
|
=========================
|
|
|
|
The ``qos-bw-limit-direction`` extension adds the ``direction`` attribute to
|
|
QoS rule types. The ``direction`` attribute allows to configure QoS bandwidth
|
|
limit rule with specific direction: ``ingress`` or ``egress``.
|
|
Default is ``egress``.
|
|
|
|
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
|
|
- max_kbps: max_kbps-response-query
|
|
- id: id-query
|
|
- max_burst_kbps: max_burst_kbps-query
|
|
- direction: qos-rule-direction-query
|
|
- sort_dir: sort_dir
|
|
- sort_key: qos_bandwidth_limit_rule-sort_key
|
|
|
|
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
|
|
- tags: tags
|
|
|
|
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
|
|
- tags: tags
|
|
|
|
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
|
|
- tags: tags
|
|
|
|
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
|
|
- tags: tags
|
|
|
|
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
|
|
- dscp_mark: dscp_mark-query
|
|
- id: id-query
|
|
- sort_dir: sort_dir
|
|
- sort_key: qos_dscp_marking_rule-sort_key
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- dscp_marking_rules: dscp_marking_rules
|
|
- dscp_mark: dscp_mark-response
|
|
- id: qos_dscp_marking_rule-id
|
|
- tags: tags
|
|
|
|
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
|
|
- tags: tags
|
|
|
|
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
|
|
- tags: tags
|
|
|
|
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
|
|
- tags: tags
|
|
|
|
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.
|
|
|
|
===========================
|
|
QoS minimum bandwidth rules
|
|
===========================
|
|
|
|
Lists, creates, deletes, shows information for, and updates QoS minimum bandwidth rules.
|
|
|
|
List minimum bandwidth rules for QoS policy
|
|
===========================================
|
|
|
|
.. rest_method:: GET /v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules
|
|
|
|
Lists all minimum bandwidth rules for a QoS policy.
|
|
|
|
The list might be empty.
|
|
|
|
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
|
|
|
|
- policy_id: qos-policy-id-path
|
|
- min_kbps: min_kbps-query
|
|
- id: id-query
|
|
- direction: qos-rule-direction-query
|
|
- sort_dir: sort_dir
|
|
- sort_key: qos_minimum_bandwidth_rule-sort_key
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- minimum_bandwidth_rules: minimum_bandwidth_rules
|
|
- min_kbps: min_kbps-response
|
|
- id: qos_minimum_bandwidth_rule-id
|
|
- direction: qos-rule-direction-response
|
|
- tags: tags
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/minimum_bandwidth_rules-list-response.json
|
|
:language: javascript
|
|
|
|
Create minimum bandwidth rule
|
|
=============================
|
|
|
|
.. rest_method:: POST /v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules
|
|
|
|
Creates a minimum bandwidth 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
|
|
- minimum_bandwidth_rule: minimum_bandwidth_rule
|
|
- min_kbps: min_kbps
|
|
- direction: qos-rule-direction
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/qos/minimum_bandwidth_rule-create-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- minimum_bandwidth_rule: minimum_bandwidth_rule
|
|
- min_kbps: min_kbps-response
|
|
- id: qos_minimum_bandwidth_rule-id
|
|
- direction: qos-rule-direction-response
|
|
- tags: tags
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/minimum_bandwidth_rule-create-response.json
|
|
:language: javascript
|
|
|
|
Show minimum bandwidth rule details
|
|
===================================
|
|
|
|
.. rest_method:: GET /v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules/{rule_id}
|
|
|
|
Shows details for a minimum bandwidth 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
|
|
|
|
- minimum_bandwidth_rule: minimum_bandwidth_rule
|
|
- min_kbps: min_kbps-response
|
|
- id: qos_minimum_bandwidth_rule-id
|
|
- direction: qos-rule-direction-response
|
|
- tags: tags
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/minimum_bandwidth_rule-show-response.json
|
|
:language: javascript
|
|
|
|
Update minimum bandwidth rule
|
|
=============================
|
|
|
|
.. rest_method:: PUT /v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules/{rule_id}
|
|
|
|
Updates a minimum bandwidth 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
|
|
- minimum_bandwidth_rule: minimum_bandwidth_rule
|
|
- min_kbps: min_kbps
|
|
- direction: qos-rule-direction-update
|
|
|
|
Request Example
|
|
---------------
|
|
|
|
.. literalinclude:: samples/qos/minimum_bandwidth_rule-update-request.json
|
|
:language: javascript
|
|
|
|
Response Parameters
|
|
-------------------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- minimum_bandwidth_rule: minimum_bandwidth_rule
|
|
- min_kbps: min_kbps-response
|
|
- id: qos_minimum_bandwidth_rule-id
|
|
- direction: qos-rule-direction-update-response
|
|
- tags: tags
|
|
|
|
Response Example
|
|
----------------
|
|
|
|
.. literalinclude:: samples/qos/minimum_bandwidth_rule-update-response.json
|
|
:language: javascript
|
|
|
|
Delete minimum bandwidth rule
|
|
=============================
|
|
|
|
.. rest_method:: DELETE /v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules/{rule_id}
|
|
|
|
Deletes a minimum bandwidth 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.
|
|
|
|
==================================
|
|
Quality of Service rules alias API
|
|
==================================
|
|
|
|
The purpose of this API extension is to enable callers to execute the requests
|
|
to delete, show and update QoS rules without specifying the corresponding
|
|
policy ID. Otherwise, these requests have the exact same behavior as their
|
|
counterparts described in other parts of this documentation. The requests
|
|
available in this API extension are:
|
|
|
|
Show bandwidth limit rule details alias
|
|
=======================================
|
|
|
|
.. rest_method:: GET /v2.0/qos/alias_bandwidth_limit_rules/{rule_id}
|
|
|
|
Please refer to
|
|
`Show bandwidth limit rule details <#show-bandwidth-limit-rule-details>`__
|
|
for more information on the request, response and return codes.
|
|
|
|
Update bandwidth limit rule alias
|
|
=================================
|
|
|
|
.. rest_method:: PUT /v2.0/qos/alias_bandwidth_limit_rules/{rule_id}
|
|
|
|
Please refer to
|
|
`Update bandwidth limit rule <#update-bandwidth-limit-rule>`__
|
|
for more information on the request, response and return codes.
|
|
|
|
Delete bandwidth limit rule alias
|
|
=================================
|
|
|
|
.. rest_method:: DELETE /v2.0/qos/alias_bandwidth_limit_rules/{rule_id}
|
|
|
|
Please refer to
|
|
`Delete bandwidth limit rule <#delete-bandwidth-limit-rule>`__
|
|
for more information on the request, response and return codes.
|
|
|
|
Show DSCP marking rule details alias
|
|
====================================
|
|
|
|
.. rest_method:: GET /v2.0/qos/alias_dscp_marking_rules/{dscp_rule_id}
|
|
|
|
Please refer to
|
|
`Show DSCP marking rule details <#show-dscp-marking-rule-details>`__
|
|
for more information on the request, response and return codes.
|
|
|
|
Update DSCP marking rule alias
|
|
==============================
|
|
|
|
.. rest_method:: PUT /v2.0/qos/alias_dscp_marking_rules/{dscp_rule_id}
|
|
|
|
Please refer to
|
|
`Update DSCP marking rule <#update-dscp-marking-rule>`__
|
|
for more information on the request, response and return codes.
|
|
|
|
Delete DSCP marking rule alias
|
|
==============================
|
|
|
|
.. rest_method:: DELETE /v2.0/qos/alias_dscp_marking_rules/{dscp_rule_id}
|
|
|
|
Please refer to
|
|
`Delete DSCP marking rule <#delete-dscp-marking-rule>`__
|
|
for more information on the request, response and return codes.
|
|
|
|
Show minimum bandwidth rule details alias
|
|
=========================================
|
|
|
|
.. rest_method:: GET /v2.0/qos/alias_minimum_bandwidth_rules/{rule_id}
|
|
|
|
Please refer to
|
|
`Show minimum bandwidth rule details <#show-minimum-bandwidth-rule-details>`__
|
|
for more information on the request, response and return codes.
|
|
|
|
Update minimum bandwidth rule alias
|
|
===================================
|
|
|
|
.. rest_method:: PUT /v2.0/qos/alias_minimum_bandwidth_rules/{rule_id}
|
|
|
|
Please refer to
|
|
`Update minimum bandwidth rule <#update-minimum-bandwidth-rule>`__
|
|
for more information on the request, response and return codes.
|
|
|
|
Delete minimum bandwidth rule alias
|
|
===================================
|
|
|
|
.. rest_method:: DELETE /v2.0/qos/alias_minimum_bandwidth_rules/{rule_id}
|
|
|
|
Please refer to
|
|
`Delete minimum bandwidth rule <#delete-minimum-bandwidth-rule>`__
|
|
for more information on the request, response and return codes.
|