summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2021-12-06 15:32:48 +0000
committerGerrit Code Review <review@openstack.org>2021-12-06 15:32:48 +0000
commitd75e1e05b79c8ea555343445727818e36a9ce98f (patch)
treef7994a61e97a372b5378b883529e56413424fd6f
parent3b80135a3d364abfaf3b3ead03bae3348627d1b2 (diff)
parenta92d8db81c7f13e46aa64be471de06054379be75 (diff)
downloadpython-neutronclient-d75e1e05b79c8ea555343445727818e36a9ce98f.tar.gz
Merge "Add CURD actions for packet rate limit rule"
-rw-r--r--neutronclient/v2_0/client.py34
-rw-r--r--releasenotes/notes/paket_rate_limit-1266a2a30f18727f.yaml7
2 files changed, 41 insertions, 0 deletions
diff --git a/neutronclient/v2_0/client.py b/neutronclient/v2_0/client.py
index f318f3c..93a3af7 100644
--- a/neutronclient/v2_0/client.py
+++ b/neutronclient/v2_0/client.py
@@ -619,6 +619,10 @@ class Client(ClientBase):
qos_policy_path = "/qos/policies/%s"
qos_bandwidth_limit_rules_path = "/qos/policies/%s/bandwidth_limit_rules"
qos_bandwidth_limit_rule_path = "/qos/policies/%s/bandwidth_limit_rules/%s"
+ qos_packet_rate_limit_rules_path = \
+ "/qos/policies/%s/packet_rate_limit_rules"
+ qos_packet_rate_limit_rule_path = \
+ "/qos/policies/%s/packet_rate_limit_rules/%s"
qos_dscp_marking_rules_path = "/qos/policies/%s/dscp_marking_rules"
qos_dscp_marking_rule_path = "/qos/policies/%s/dscp_marking_rules/%s"
qos_minimum_bandwidth_rules_path = \
@@ -712,6 +716,7 @@ class Client(ClientBase):
'qos_policies': 'qos_policy',
'policies': 'policy',
'bandwidth_limit_rules': 'bandwidth_limit_rule',
+ 'packet_rate_limit_rules': 'packet_rate_limit_rule',
'minimum_bandwidth_rules': 'minimum_bandwidth_rule',
'minimum_packet_rate_rules': 'minimum_packet_rate_rule',
'rules': 'rule',
@@ -1977,6 +1982,35 @@ class Client(ClientBase):
return self.post(self.qos_minimum_bandwidth_rules_path % policy,
body=body)
+ def list_packet_rate_limit_rules(self, policy_id, retrieve_all=True,
+ **_params):
+ """Fetches a list of all packet rate limit rules for the given policy
+
+ """
+ return self.list('packet_rate_limit_rules',
+ self.qos_packet_rate_limit_rules_path %
+ policy_id, retrieve_all, **_params)
+
+ def show_packet_rate_limit_rule(self, rule, policy, body=None):
+ """Fetches information of a certain packet rate limit rule."""
+ return self.get(self.qos_packet_rate_limit_rule_path %
+ (policy, rule), body=body)
+
+ def create_packet_rate_limit_rule(self, policy, body=None):
+ """Creates a new packet rate limit rule."""
+ return self.post(self.qos_packet_rate_limit_rules_path % policy,
+ body=body)
+
+ def update_packet_rate_limit_rule(self, rule, policy, body=None):
+ """Updates a packet rate limit rule."""
+ return self.put(self.qos_packet_rate_limit_rule_path %
+ (policy, rule), body=body)
+
+ def delete_packet_rate_limit_rule(self, rule, policy):
+ """Deletes a packet rate limit rule."""
+ return self.delete(self.qos_packet_rate_limit_rule_path %
+ (policy, rule))
+
def update_minimum_bandwidth_rule(self, rule, policy, body=None):
"""Updates a minimum bandwidth rule."""
return self.put(self.qos_minimum_bandwidth_rule_path %
diff --git a/releasenotes/notes/paket_rate_limit-1266a2a30f18727f.yaml b/releasenotes/notes/paket_rate_limit-1266a2a30f18727f.yaml
new file mode 100644
index 0000000..9fdfc1e
--- /dev/null
+++ b/releasenotes/notes/paket_rate_limit-1266a2a30f18727f.yaml
@@ -0,0 +1,7 @@
+---
+features:
+ - |
+ Added new client methods for QoS packet rate limit rule:
+ ``list_packet_rate_limit_rules``, ``show_packet_rate_limit_rule``,
+ ``create_packet_rate_limit_rule``, ``update_packet_rate_limit_rule``,
+ ``delete_packet_rate_limit_rule``.