Add qos-pps-minimum-rule-alias api-def and api-ref
Introduce a new API extension definition to enable GET, PUT and DELETE operations on QoS minimum packet rate rule without specifying policy ID. Partial-Bug: #1922237 See-Also: https://review.opendev.org/78523 Change-Id: I1a708cf2935cb10a09c9088abc94bab1a2248157
This commit is contained in:
parent
f81ee6f64b
commit
44de25534d
@ -1476,3 +1476,38 @@ Delete minimum bandwidth rule alias
|
||||
Please refer to
|
||||
`Delete minimum bandwidth rule <#delete-minimum-bandwidth-rule>`__
|
||||
for more information on the request, response and return codes.
|
||||
|
||||
======================================================
|
||||
Quality of Service minimum packet rate rule alias API
|
||||
======================================================
|
||||
|
||||
This API extension enables callers to execute the requests to delete, show and
|
||||
update QoS minimum packet rate rule without specifying the corresponding
|
||||
policy ID.
|
||||
|
||||
Show minimum packet rate rule details alias
|
||||
===========================================
|
||||
|
||||
.. rest_method:: GET /v2.0/qos/alias_minimum_packet_rate_rules/{rule_id}
|
||||
|
||||
Please refer to
|
||||
`Show minimum packet rate rule details <#show-minimum-packet-rate-rule-details>`__
|
||||
for more information on the request, response and return codes.
|
||||
|
||||
Update minimum packet rate rule alias
|
||||
=====================================
|
||||
|
||||
.. rest_method:: PUT /v2.0/qos/alias_minimum_packet_rate_rules/{rule_id}
|
||||
|
||||
Please refer to
|
||||
`Update minimum packet rate rule <#update-minimum-packet-rate-rule>`__
|
||||
for more information on the request, response and return codes.
|
||||
|
||||
Delete minimum packet rate rule alias
|
||||
=====================================
|
||||
|
||||
.. rest_method:: DELETE /v2.0/qos/alias_minimum_packet_rate_rules/{rule_id}
|
||||
|
||||
Please refer to
|
||||
`Delete minimum packet rate rule <#delete-minimum-packet-rate-rule>`__
|
||||
for more information on the request, response and return codes.
|
||||
|
@ -102,6 +102,7 @@ from neutron_lib.api.definitions import qos_default
|
||||
from neutron_lib.api.definitions import qos_gateway_ip
|
||||
from neutron_lib.api.definitions import qos_port_network_policy
|
||||
from neutron_lib.api.definitions import qos_pps_minimum_rule
|
||||
from neutron_lib.api.definitions import qos_pps_minimum_rule_alias
|
||||
from neutron_lib.api.definitions import qos_pps_rule
|
||||
from neutron_lib.api.definitions import qos_rule_type_details
|
||||
from neutron_lib.api.definitions import qos_rules_alias
|
||||
@ -239,6 +240,7 @@ _ALL_API_DEFINITIONS = {
|
||||
qos_gateway_ip,
|
||||
qos_port_network_policy,
|
||||
qos_pps_minimum_rule,
|
||||
qos_pps_minimum_rule_alias,
|
||||
qos_pps_rule,
|
||||
qos_rule_type_details,
|
||||
qos_rules_alias,
|
||||
|
@ -143,6 +143,8 @@ KNOWN_EXTENSIONS = (
|
||||
'qos-bw-limit-direction',
|
||||
'qos-gateway-ip',
|
||||
'qos-port-network-policy',
|
||||
'qos-pps-minimum',
|
||||
'qos-pps-minimum-rule-alias',
|
||||
'qos-rules-alias',
|
||||
'quotas',
|
||||
'quota-check-limit',
|
||||
|
63
neutron_lib/api/definitions/qos_pps_minimum_rule_alias.py
Normal file
63
neutron_lib/api/definitions/qos_pps_minimum_rule_alias.py
Normal file
@ -0,0 +1,63 @@
|
||||
# Copyright (c) 2021 Ericsson Software Technology
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from neutron_lib.api import converters
|
||||
from neutron_lib.api.definitions import qos
|
||||
from neutron_lib.api.definitions import qos_pps_minimum_rule
|
||||
from neutron_lib import constants
|
||||
from neutron_lib.db import constants as db_const
|
||||
from neutron_lib.services.qos import constants as qos_constants
|
||||
|
||||
|
||||
MIN_PACKET_RATE_RULES_ALIAS = 'alias_minimum_packet_rate_rules'
|
||||
|
||||
ALIAS = 'qos-pps-minimum-rule-alias'
|
||||
IS_SHIM_EXTENSION = False
|
||||
IS_STANDARD_ATTR_EXTENSION = False
|
||||
NAME = 'QoS minimum packet rate rule alias'
|
||||
API_PREFIX = '/' + qos.ALIAS
|
||||
DESCRIPTION = ('API to enable GET, PUT and DELETE operations on QoS minimum '
|
||||
'packet rate rule without specifying policy ID')
|
||||
UPDATED_TIMESTAMP = '2021-10-22T10:00:00-00:00'
|
||||
RESOURCE_ATTRIBUTE_MAP = {
|
||||
MIN_PACKET_RATE_RULES_ALIAS: {
|
||||
**qos._QOS_RULE_COMMON_FIELDS,
|
||||
qos_constants.MIN_KPPS: {
|
||||
'allow_post': False,
|
||||
'allow_put': True,
|
||||
'convert_to': converters.convert_to_int,
|
||||
'is_visible': True,
|
||||
'is_filter': True,
|
||||
'is_sort_key': True,
|
||||
'validate': {
|
||||
'type:range': [0, db_const.DB_INTEGER_MAX_VALUE]}
|
||||
},
|
||||
qos_constants.DIRECTION: {
|
||||
'allow_post': False,
|
||||
'allow_put': True,
|
||||
'is_visible': True,
|
||||
'default': constants.EGRESS_DIRECTION,
|
||||
'is_filter': True,
|
||||
'is_sort_key': True,
|
||||
'validate': {
|
||||
'type:values': constants.VALID_DIRECTIONS_AND_ANY,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
SUB_RESOURCE_ATTRIBUTE_MAP = {}
|
||||
ACTION_MAP = {}
|
||||
REQUIRED_EXTENSIONS = [qos.ALIAS, qos_pps_minimum_rule.ALIAS]
|
||||
OPTIONAL_EXTENSIONS = []
|
||||
ACTION_STATUS = {}
|
@ -0,0 +1,24 @@
|
||||
# Copyright (c) 2021 Ericsson Software Technology
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from neutron_lib.api.definitions import qos_pps_minimum_rule_alias as apidef
|
||||
from neutron_lib.services.qos import constants as qos_constants
|
||||
from neutron_lib.tests.unit.api.definitions import base
|
||||
|
||||
|
||||
class QoSPPSMinimumRuleAliasDefinitionTestCase(base.DefinitionBaseTestCase):
|
||||
extension_module = apidef
|
||||
|
||||
extension_resources = (apidef.MIN_PACKET_RATE_RULES_ALIAS,)
|
||||
extension_attributes = (qos_constants.MIN_KPPS, qos_constants.DIRECTION)
|
@ -0,0 +1,6 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Added API definition for ``qos-pps-minimum-rule-alias`` extension that
|
||||
enables GET, PUT and DELETE operations to be performed on QoS minimum
|
||||
packet rate rule without specifying policy ID.
|
Loading…
Reference in New Issue
Block a user