summaryrefslogtreecommitdiff
path: root/openstackclient/network/v2
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-12-26 03:58:45 +0000
committerGerrit Code Review <review@openstack.org>2016-12-26 03:58:45 +0000
commit6245a962118b1b0f2ba96558e6bb132967f97635 (patch)
treed6119a066f73b3effa4a9fe6ea0f1de975fff753 /openstackclient/network/v2
parent19710034681e2705ca7bf94427a228792e548999 (diff)
parentaf7129cda33dcd4ac784097ddb4f119e145c40d5 (diff)
downloadpython-openstackclient-6245a962118b1b0f2ba96558e6bb132967f97635.tar.gz
Merge "Add '--type'and other options to network rbac list"
Diffstat (limited to 'openstackclient/network/v2')
-rw-r--r--openstackclient/network/v2/network_rbac.py36
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,