summaryrefslogtreecommitdiff
path: root/openstackclient/identity
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/identity')
-rw-r--r--openstackclient/identity/common.py2
-rw-r--r--openstackclient/identity/v3/project.py10
2 files changed, 11 insertions, 1 deletions
diff --git a/openstackclient/identity/common.py b/openstackclient/identity/common.py
index e8251166..3200e535 100644
--- a/openstackclient/identity/common.py
+++ b/openstackclient/identity/common.py
@@ -207,7 +207,7 @@ def _find_identity_resource(identity_client_manager, name_or_id,
name_or_id, **kwargs)
if identity_resource is not None:
return identity_resource
- except identity_exc.Forbidden:
+ except (exceptions.Forbidden, identity_exc.Forbidden):
pass
return resource_type(None, {'id': name_or_id, 'name': name_or_id})
diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py
index 1d6f1810..35d68881 100644
--- a/openstackclient/identity/v3/project.py
+++ b/openstackclient/identity/v3/project.py
@@ -194,6 +194,11 @@ class ListProject(command.Lister):
help=_('Filter projects by <domain> (name or ID)'),
)
parser.add_argument(
+ '--parent',
+ metavar='<parent>',
+ help=_('Filter projects whose parent is <parent> (name or ID)'),
+ )
+ parser.add_argument(
'--user',
metavar='<user>',
help=_('Filter projects by <user> (name or ID)'),
@@ -234,6 +239,11 @@ class ListProject(command.Lister):
parsed_args.domain).id
kwargs['domain'] = domain_id
+ if parsed_args.parent:
+ parent_id = common.find_project(identity_client,
+ parsed_args.parent).id
+ kwargs['parent'] = parent_id
+
if parsed_args.user:
if parsed_args.domain:
user_id = utils.find_resource(identity_client.users,