api-ref: Correcting QoS policies in API extension

This patch set modified the in column of the policy_id
parameter from "in:path" to "in:body". And refactoring
the name of function to easy maintain.

Closes-Bug: #1615466
Part of blueprint neutron-in-tree-api-ref

Co-Authored-By: Anindita Das <anindita.das@intel.com>
Change-Id: I6d90fcc556b7c08dd5c18e1580360216e469f8ae
This commit is contained in:
Nam Nguyen Hoai 2016-08-23 11:48:05 +07:00 committed by Anindita Das
parent fc38a3fe8e
commit 5647fc57bd
3 changed files with 429 additions and 386 deletions

View File

@ -139,12 +139,6 @@ network_id-path:
in: path
required: true
type: string
policy_id:
description: |
The UUID of the policy.
in: path
required: false
type: string
pool_id-path:
description: |
The ID for the pool.
@ -175,6 +169,18 @@ project_id-path:
in: path
required: true
type: string
qos-policy-id-path:
description: |
The ID of the QoS policy.
in: path
required: true
type: string
qos-rule_id:
description: |
The ID of the QoS rule.
in: path
required: true
type: string
resource_id:
description: |
The ID of resource which the tag is set on.
@ -193,12 +199,6 @@ router_id:
in: path
required: true
type: string
rule_id:
description: |
The UUID of the rule.
in: path
required: false
type: string
security_group-id-path:
description: |
The ID of the security group.
@ -1231,6 +1231,12 @@ dscp_mark:
in: body
required: false
type: integer
dscp_mark-response:
description: |
The DSCP mark value.
in: body
required: true
type: integer
dscp_marking_rule:
description: |
A ``dscp_marking_rule`` object.
@ -2387,12 +2393,6 @@ id_17:
in: body
required: true
type: string
id_18:
description: |
The generated UUID of the QoS policy.
in: body
required: true
type: string
id_19:
description: |
The UUID for the pool.
@ -2852,27 +2852,27 @@ mac_address-request-put:
type: string
max_burst_kbps:
description: |
The burst over the maximum KBPS value. Default is
``0``
The maximum burst size (in kilobits). Default is ``0``.
in: body
required: false
type: integer
max_burst_kbps_1:
max_burst_kbps-response:
description: |
The burst over the maximum KBPS value.
The maximum burst size (in kilobits).
in: body
required: true
type: integer
max_kbps:
description: |
The maximum KBPS value. If you specify this
value, must be greater than 0. Default is ``null``.
The maximum KBPS (kilobits per second) value. If you specify this
value, must be greater than 0 otherwise max_kbps will have no value.
in: body
required: false
type: integer
max_kbps_1:
max_kbps-response:
description: |
The maximum KBPS value.
The maximum KBPS (kilobits per second) value. If you specify this
value, must be greater than 0 otherwise max_kbps will have no value.
in: body
required: true
type: integer
@ -3579,13 +3579,6 @@ policy:
in: body
required: true
type: object
policy_id_1:
description: |
The UUID of the QoS policy that is associated
with the rule.
in: body
required: true
type: string
pool:
description: |
A ``pool`` object.
@ -3966,12 +3959,56 @@ psk:
in: body
required: true
type: string
qos-rules:
description: |
A set of zero or more policy rules.
in: body
required: true
type: array
qos-shared:
description: |
Indicates whether this policy is shared across
all projects.
in: body
required: true
type: boolean
qos-shared-request:
description: |
Set to ``true`` to share this policy with other
projects. Default is ``false``.
in: body
required: false
type: boolean
qos_bandwidth_limit_rule-id:
description: |
The ID of the QoS Bandwidth limit rule.
in: body
required: true
type: string
qos_dscp_marking_rule-id:
description: |
The ID of the QoS DSCP marking rule.
in: body
required: true
type: string
qos_policy-name:
description: |
Human-readable name of the resource.
in: body
required: false
type: string
qos_policy_id:
description: |
The ID of the QoS policy.
in: body
required: true
type: string
qos_policy_id-body:
description: |
The ID of the QoS policy.
in: body
required: true
type: string
qos_policy_id-request:
description: |
The ID of the QoS policy.
@ -4419,12 +4456,6 @@ routers:
in: body
required: true
type: array
rules:
description: |
A set of zero or more policy rules.
in: body
required: false
type: array
security_group:
description: |
A ``security_group`` object.
@ -4623,13 +4654,6 @@ shared-response:
in: body
required: true
type: boolean
shared_10:
description: |
Indicates whether this policy is shared across
all projects.
in: body
required: true
type: boolean
shared_11:
description: |
Indicates whether this subnet pool is shared
@ -4660,13 +4684,6 @@ shared_3:
in: body
required: true
type: boolean
shared_4:
description: |
Set to ``true`` to share this policy with other
projects. Default is ``false``.
in: body
required: false
type: boolean
shared_5:
description: |
Admin-only. Indicates whether this subnet pool is

View File

@ -1,8 +1,4 @@
.. -*- rst -*-
.. needs:method_verification
.. needs:parameter_verification
.. needs:example_verification
.. needs:body_verification
==================
QoS policies (qos)
@ -10,110 +6,6 @@ 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: 401
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
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.
Normal response codes: 204
Error response codes: 400, 401, 413
Request
-------
.. rest_parameters:: parameters.yaml
- rule_id: rule_id
- policy_id: policy_id
List QoS policies
=================
@ -123,6 +15,12 @@ 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
@ -130,19 +28,22 @@ Error response codes: 401
Request
-------
.. rest_parameters:: parameters.yaml
- fields: fields
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- policies: policies
- description: description
- policy_id: policy_id
- tenant_id: project_id
- project_id: project_id
- policies: policies
- shared: shared
- id: id
- rules: rules
- shared: qos-shared
- id: qos_policy_id
- rules: qos-rules
- name: name
Response Example
@ -162,8 +63,8 @@ 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.
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
@ -171,20 +72,19 @@ their own.
Normal response codes: 201
Error response codes: 401, 404, 409, 413
Error response codes: 401, 403, 404, 409
Request
-------
.. rest_parameters:: parameters.yaml
- description: description
- tenant_id: project_id
- project_id: project_id
- policy: policy
- shared: shared
- type: type
- name: name
- description: description-request
- tenant_id: project_id-request
- project_id: project_id-request
- shared: qos-shared-request
- name: qos_policy-name
Request Example
---------------
@ -197,186 +97,21 @@ Response Parameters
.. rest_parameters:: parameters.yaml
- policy: policy
- description: description
- tenant_id: project_id
- project_id: project_id
- policy: policy
- shared: shared
- id: id
- shared: qos-shared
- rules: qos-rules
- id: qos_policy_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: 401
Request
-------
.. rest_parameters:: parameters.yaml
- dscp_rule_id: dscp_rule_id
- 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
.. literalinclude:: samples/qos/policy-create-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
Request
-------
.. rest_parameters:: parameters.yaml
- dscp_marking_rule: dscp_marking_rule
- dscp_mark: dscp_mark
- policy_id: policy_id
- dscp_rule_id: dscp_rule_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.
Normal response codes: 204
Error response codes: 400, 401, 413
Request
-------
.. rest_parameters:: parameters.yaml
- policy_id: policy_id
- dscp_rule_id: dscp_rule_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: 401
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.
Normal response codes: 201
Error response codes: 401, 404, 409, 413
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
=======================
@ -386,28 +121,27 @@ Shows details for a QoS policy.
Normal response codes: 200
Error response codes: 401
Error response codes: 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- policy_id: policy_id
- policy_id: qos-policy-id-path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- policy: policy
- description: description
- policy_id: policy_id
- tenant_id: project_id
- project_id: project_id
- policy: policy
- shared: shared
- rules: rules
- id: id
- shared: qos-shared
- rules: qos-rules
- id: qos_policy_id
- name: name
Response Example
@ -426,23 +160,20 @@ Updates a QoS policy.
If the request is valid, the service returns the ``Accepted (202)``
response code.
Normal response codes: 200
Normal response codes: 202
Error response codes: 400, 401, 413
Error response codes: 400, 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- description: description
- tenant_id: project_id
- project_id: project_id
- policy_id: qos-policy-id-path
- policy: policy
- shared: shared
- type: type
- name: name
- policy_id: policy_id
- description: description-request
- shared: qos-shared-request
- name: qos_policy-name
Request Example
---------------
@ -455,12 +186,13 @@ Response Parameters
.. rest_parameters:: parameters.yaml
- policy: policy
- description: description
- tenant_id: project_id
- project_id: project_id
- policy: policy
- shared: shared
- id: id
- shared: qos-shared
- id: qos_policy_id
- rules: qos-rules
- name: name
Response Example
@ -478,14 +210,19 @@ Deletes a QoS policy.
Normal response codes: 204
Error response codes: 400, 401, 413
Error response codes: 400, 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- policy_id: policy_id
- policy_id: qos-policy-id-path
Response
--------
There is no body content for the response of a successful DELETE request.
List bandwidth limit rules for QoS policy
=========================================
@ -498,25 +235,24 @@ The list might be empty.
Normal response codes: 200
Error response codes: 401
Error response codes: 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- policy_id: policy_id
- policy_id: qos-policy-id-path
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
- max_kbps: max_kbps-response
- id: qos_bandwidth_limit_rule-id
- max_burst_kbps: max_burst_kbps-response
Response Example
----------------
@ -533,17 +269,17 @@ Creates a bandwidth limit rule for a QoS policy.
Normal response codes: 201
Error response codes: 401, 404, 409, 413
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
- policy_id: policy_id
Request Example
---------------
@ -557,8 +293,298 @@ 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
- max_kbps: max_kbps-response
- id: qos_bandwidth_limit_rule-id
- max_burst_kbps: max_burst_kbps-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
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
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
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.
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.

View File

@ -9,16 +9,16 @@
"shared": false,
"rules": [
{
"max_kbps": 10000,
"type": "bandwidth_limit",
"id": "b1866696-032a-4228-857f-846075f63487",
"max_burst_kbps": 0,
"max_kbps": 10000,
"type": "bandwidth_limit",
"id": "b1866696-032a-4228-857f-846075f63487",
"max_burst_kbps": 0,
"qos_policy_id": "46ebaec0-0570-43ac-82f6-60d2b03168c4"
},
},
{
"dscp_mark": 20,
"type": "dscp_marking",
"id": "d9c021d5-5433-4d7c-8bfa-69cca486aac8",
"dscp_mark": 20,
"type": "dscp_marking",
"id": "d9c021d5-5433-4d7c-8bfa-69cca486aac8",
"qos_policy_id": "46ebaec0-0570-43ac-82f6-60d2b03168c4"
}
]