diff options
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={}, |
