Skip to content

Commit cc54f98

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add the ability to list projects based on a user"
2 parents 2663e16 + 5bc768b commit cc54f98

2 files changed

Lines changed: 29 additions & 2 deletions

File tree

‎doc/source/command-objects/project.rst‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ List projects
7979
8080
os project list
8181
[--domain <domain>]
82+
[--user <user>]
8283
[--long]
8384
8485
.. option:: --domain <domain>
@@ -87,6 +88,12 @@ List projects
8788

8889
.. versionadded:: 3
8990

91+
.. option:: --user <user>
92+
93+
Filter projects by :option:`\<user\> <--user>` (name or ID)
94+
95+
.. versionadded:: 3
96+
9097
.. option:: --long
9198

9299
List additional fields in output

‎openstackclient/identity/v3/project.py‎

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,11 @@ def get_parser(self, prog_name):
162162
metavar='<domain>',
163163
help='Filter projects by <domain> (name or ID)',
164164
)
165+
parser.add_argument(
166+
'--user',
167+
metavar='<user>',
168+
help='Filter projects by <user> (name or ID)',
169+
)
165170
parser.add_argument(
166171
'--long',
167172
action='store_true',
@@ -178,9 +183,24 @@ def take_action(self, parsed_args):
178183
else:
179184
columns = ('ID', 'Name')
180185
kwargs = {}
186+
187+
domain_id = None
181188
if parsed_args.domain:
182-
kwargs['domain'] = common.find_domain(identity_client,
183-
parsed_args.domain).id
189+
domain_id = common.find_domain(identity_client,
190+
parsed_args.domain).id
191+
kwargs['domain'] = domain_id
192+
193+
if parsed_args.user:
194+
if parsed_args.domain:
195+
user_id = utils.find_resource(identity_client.users,
196+
parsed_args.user,
197+
domain_id=domain_id).id
198+
else:
199+
user_id = utils.find_resource(identity_client.users,
200+
parsed_args.user).id
201+
202+
kwargs['user'] = user_id
203+
184204
data = identity_client.projects.list(**kwargs)
185205
return (columns,
186206
(utils.get_item_properties(

0 commit comments

Comments
 (0)