diff options
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/network_rbac.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/openstackclient/network/v2/network_rbac.py b/openstackclient/network/v2/network_rbac.py index 91cd9dc3..fa4fca7c 100644 --- a/openstackclient/network/v2/network_rbac.py +++ b/openstackclient/network/v2/network_rbac.py @@ -218,6 +218,11 @@ class ListNetworkRBAC(command.Lister): 'action ("access_as_external" or "access_as_shared")') ) parser.add_argument( + '--target-project', + metavar='<target-project>', + help=_('List network RBAC policies for a specific target project') + ) + parser.add_argument( '--long', action='store_true', default=False, @@ -247,6 +252,16 @@ class ListNetworkRBAC(command.Lister): query['object_type'] = parsed_args.type if parsed_args.action is not None: query['action'] = parsed_args.action + if parsed_args.target_project is not None: + project_id = "*" + + if parsed_args.target_project != "*": + identity_client = self.app.client_manager.identity + project_id = identity_common.find_project( + identity_client, + parsed_args.target_project, + ).id + query['target_project_id'] = project_id data = client.rbac_policies(**query) |
