From 84beac59948629be9ea065386c5b5bc330d2c609 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Mon, 31 Oct 2016 16:47:30 +0800 Subject: Add filtering options --name,--enable,--disable to router list Change-Id: I171b6be4501b02c3df66589c45177200919117db Closes-Bug: #1637945 Partially-Implements: blueprint network-commands-options --- openstackclient/network/v2/router.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'openstackclient/network/v2') diff --git a/openstackclient/network/v2/router.py b/openstackclient/network/v2/router.py index 193bf6e9..d96c314a 100644 --- a/openstackclient/network/v2/router.py +++ b/openstackclient/network/v2/router.py @@ -260,6 +260,22 @@ class ListRouter(command.Lister): def get_parser(self, prog_name): parser = super(ListRouter, self).get_parser(prog_name) + parser.add_argument( + '--name', + metavar='', + help=_("List routers according to their name") + ) + admin_state_group = parser.add_mutually_exclusive_group() + admin_state_group.add_argument( + '--enable', + action='store_true', + help=_("List enabled routers") + ) + admin_state_group.add_argument( + '--disable', + action='store_true', + help=_("List disabled routers") + ) parser.add_argument( '--long', action='store_true', @@ -289,6 +305,17 @@ class ListRouter(command.Lister): 'HA', 'Project', ) + + args = {} + + if parsed_args.name is not None: + args['name'] = parsed_args.name + + if parsed_args.enable: + args['admin_state_up'] = True + elif parsed_args.disable: + args['admin_state_up'] = False + if parsed_args.long: columns = columns + ( 'routes', @@ -308,7 +335,7 @@ class ListRouter(command.Lister): 'Availability zones', ) - data = client.routers() + data = client.routers(**args) return (column_headers, (utils.get_item_properties( s, columns, -- cgit v1.2.1