diff options
| author | Jenkins <jenkins@review.openstack.org> | 2017-03-20 17:58:32 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2017-03-20 17:58:32 +0000 |
| commit | 97a4ac471a63a1c04decc8af82a0cf50b5c7bdea (patch) | |
| tree | 562912f692749028a849d51a785ba42b3b38eaf4 /openstackclient/network | |
| parent | 495d0134315b58e5b6a1aa6a350c0fd56673ad39 (diff) | |
| parent | 9fd3dba11e5fc60023a9c332cfb76b42d38adf05 (diff) | |
| download | python-openstackclient-97a4ac471a63a1c04decc8af82a0cf50b5c7bdea.tar.gz | |
Merge "Add extra filtering options to qos policy list"
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/network_qos_policy.py | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/openstackclient/network/v2/network_qos_policy.py b/openstackclient/network/v2/network_qos_policy.py index 5ccbe36b..fef3ec88 100644 --- a/openstackclient/network/v2/network_qos_policy.py +++ b/openstackclient/network/v2/network_qos_policy.py @@ -37,9 +37,9 @@ def _get_columns(item): def _get_attrs(client_manager, parsed_args): attrs = {} - if parsed_args.name is not None: + if 'name' in parsed_args and parsed_args.name is not None: attrs['name'] = str(parsed_args.name) - if parsed_args.description is not None: + if 'description' in parsed_args and parsed_args.description is not None: attrs['description'] = parsed_args.description if parsed_args.share: attrs['shared'] = True @@ -143,6 +143,27 @@ class DeleteNetworkQosPolicy(command.Command): class ListNetworkQosPolicy(command.Lister): _description = _("List QoS policies") + def get_parser(self, prog_name): + parser = super(ListNetworkQosPolicy, self).get_parser(prog_name) + parser.add_argument( + '--project', + metavar='<project>', + help=_("List qos policies according to their project (name or ID)") + ) + identity_common.add_project_domain_option_to_parser(parser) + shared_group = parser.add_mutually_exclusive_group() + shared_group.add_argument( + '--share', + action='store_true', + help=_("List qos policies shared between projects") + ) + shared_group.add_argument( + '--no-share', + action='store_true', + help=_("List qos policies not shared between projects") + ) + return parser + def take_action(self, parsed_args): client = self.app.client_manager.network columns = ( @@ -157,8 +178,8 @@ class ListNetworkQosPolicy(command.Lister): 'Shared', 'Project', ) - data = client.qos_policies() - + attrs = _get_attrs(self.app.client_manager, parsed_args) + data = client.qos_policies(**attrs) return (column_headers, (utils.get_item_properties( s, columns, formatters={}, |
