diff options
| author | Rodolfo Alonso Hernandez <ralonsoh@redhat.com> | 2022-02-02 19:44:37 +0000 |
|---|---|---|
| committer | Rodolfo Alonso Hernandez <ralonsoh@redhat.com> | 2022-12-10 17:01:11 +0100 |
| commit | bfab0199bebf139be5a948fdf8ced868b3e942de (patch) | |
| tree | 6d72f4cb1b25c529c2ff156bbdf5db7a89f5314d /openstackclient/network | |
| parent | b2c9a4cd407c752215554d9b113e6651d04db372 (diff) | |
| download | python-openstackclient-bfab0199bebf139be5a948fdf8ced868b3e942de.tar.gz | |
Add qos rule type filtering
Added two new filter flags to ``openstack network qos rule type list``:
- "--all-supported", to return any QoS rule type supported by at least
one loaded driver.
- "--all-rules", to return all QoS rule types supported by the current
version of Neutron server, regardless of the loaded drivers.
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/827671
Depends-On: https://review.opendev.org/c/openstack/neutron/+/827683
Related-Bug: #1959749
Change-Id: Ie0622e79ecf7dadd6560fea142352f5a2ed66b74
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/network_qos_rule_type.py | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/openstackclient/network/v2/network_qos_rule_type.py b/openstackclient/network/v2/network_qos_rule_type.py index 9af22876..3f4f6a19 100644 --- a/openstackclient/network/v2/network_qos_rule_type.py +++ b/openstackclient/network/v2/network_qos_rule_type.py @@ -32,6 +32,23 @@ def _get_columns(item): class ListNetworkQosRuleType(command.Lister): _description = _("List QoS rule types") + def get_parser(self, prog_name): + parser = super().get_parser(prog_name) + supported = parser.add_mutually_exclusive_group() + supported.add_argument( + '--all-supported', + action='store_true', + help=_("List all the QoS rule types supported by any loaded " + "mechanism drivers (the union of all sets of supported " + "rules)") + ) + supported.add_argument( + '--all-rules', + action='store_true', + help=_("List all QoS rule types implemented in Neutron QoS driver") + ) + return parser + def take_action(self, parsed_args): client = self.app.client_manager.network columns = ( @@ -40,7 +57,13 @@ class ListNetworkQosRuleType(command.Lister): column_headers = ( 'Type', ) - data = client.qos_rule_types() + + args = {} + if parsed_args.all_supported: + args['all_supported'] = True + elif parsed_args.all_rules: + args['all_rules'] = True + data = client.qos_rule_types(**args) return (column_headers, (utils.get_item_properties( |
