summaryrefslogtreecommitdiff
path: root/openstackclient/network
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-09-30 12:10:29 +0000
committerGerrit Code Review <review@openstack.org>2022-09-30 12:10:29 +0000
commit38dda16639e409654ee45b613ddd29a866781b8e (patch)
treea8f02ad281250c47f7ae141cb74370627377ed3e /openstackclient/network
parentdb3610b533b93abcd674885c8e7e21edd064cfa8 (diff)
parent4d7d7e627eb4bb028251bd7993026aae45db7d8b (diff)
downloadpython-openstackclient-38dda16639e409654ee45b613ddd29a866781b8e.tar.gz
Merge "network: Add tenant project filter for RBAC list"
Diffstat (limited to 'openstackclient/network')
-rw-r--r--openstackclient/network/v2/network_rbac.py15
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)