diff options
| author | guiyanxing <guiyanxing@cmss.chinamobile.com> | 2016-12-08 15:17:53 +0800 |
|---|---|---|
| committer | guiyanxing <guiyanxing@cmss.chinamobile.com> | 2016-12-21 09:43:07 +0800 |
| commit | af7129cda33dcd4ac784097ddb4f119e145c40d5 (patch) | |
| tree | e893fd86ee7b74c84c37c680e656c839400de244 /openstackclient/network/v2 | |
| parent | 1b3f953715ec592ee366b717c9eb6ab5c504acf9 (diff) | |
| download | python-openstackclient-af7129cda33dcd4ac784097ddb4f119e145c40d5.tar.gz | |
Add '--type'and other options to network rbac list
This patch adds '--type','--action','--long' filtering options
to network rbac list command
Change-Id: I21846820ab223bb7832e89eb2d7658bbec271aec
Closes-Bug: #1648307
Partially-Implements: blueprint network-commands-options
Diffstat (limited to 'openstackclient/network/v2')
| -rw-r--r-- | openstackclient/network/v2/network_rbac.py | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/openstackclient/network/v2/network_rbac.py b/openstackclient/network/v2/network_rbac.py index e837af3a..90754737 100644 --- a/openstackclient/network/v2/network_rbac.py +++ b/openstackclient/network/v2/network_rbac.py @@ -164,6 +164,30 @@ class DeleteNetworkRBAC(command.Command): class ListNetworkRBAC(command.Lister): _description = _("List network RBAC policies") + def get_parser(self, prog_name): + parser = super(ListNetworkRBAC, self).get_parser(prog_name) + parser.add_argument( + '--type', + metavar='<type>', + choices=['qos_policy', 'network'], + help=_('List network RBAC policies according to ' + 'given object type ("qos_policy" or "network")') + ) + parser.add_argument( + '--action', + metavar='<action>', + choices=['access_as_external', 'access_as_shared'], + help=_('List network RBAC policies according to given ' + 'action ("access_as_external" or "access_as_shared")') + ) + parser.add_argument( + '--long', + action='store_true', + default=False, + help=_("List additional fields in output") + ) + return parser + def take_action(self, parsed_args): client = self.app.client_manager.network @@ -178,7 +202,17 @@ class ListNetworkRBAC(command.Lister): 'Object ID', ) - data = client.rbac_policies() + query = {} + if parsed_args.long: + columns += ('action',) + column_headers += ('Action',) + if parsed_args.type is not None: + query['object_type'] = parsed_args.type + if parsed_args.action is not None: + query['action'] = parsed_args.action + + data = client.rbac_policies(**query) + return (column_headers, (utils.get_item_properties( s, columns, |
