diff options
| author | Steve Martinelli <stevemar@ca.ibm.com> | 2014-11-20 18:42:00 -0500 |
|---|---|---|
| committer | Steve Martinelli <stevemar@ca.ibm.com> | 2014-12-01 22:37:08 +0000 |
| commit | 5bc768bbc2c0ffa592a2e419cecdb898b9b65a83 (patch) | |
| tree | 84eded7eb0709a255f59baf84982d32eec38096b /openstackclient/identity | |
| parent | 4b239eea4290522a24ed4242d983dc69ff7e382e (diff) | |
| download | python-openstackclient-5bc768bbc2c0ffa592a2e419cecdb898b9b65a83.tar.gz | |
Add the ability to list projects based on a user
Essentially performing GET /users/{user_id}/projects
Change-Id: Iae6ddfc86a856fa24fbe293ec4af52ea671390f8
Closes-Bug: #1394793
Diffstat (limited to 'openstackclient/identity')
| -rw-r--r-- | openstackclient/identity/v3/project.py | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py index 1e3977ba..e9adfe34 100644 --- a/openstackclient/identity/v3/project.py +++ b/openstackclient/identity/v3/project.py @@ -163,6 +163,11 @@ class ListProject(lister.Lister): help='Filter projects by <domain> (name or ID)', ) parser.add_argument( + '--user', + metavar='<user>', + help='Filter projects by <user> (name or ID)', + ) + parser.add_argument( '--long', action='store_true', default=False, @@ -178,9 +183,24 @@ class ListProject(lister.Lister): else: columns = ('ID', 'Name') kwargs = {} + + domain_id = None if parsed_args.domain: - kwargs['domain'] = common.find_domain(identity_client, - parsed_args.domain).id + domain_id = common.find_domain(identity_client, + parsed_args.domain).id + kwargs['domain'] = domain_id + + if parsed_args.user: + if parsed_args.domain: + user_id = utils.find_resource(identity_client.users, + parsed_args.user, + domain_id=domain_id).id + else: + user_id = utils.find_resource(identity_client.users, + parsed_args.user).id + + kwargs['user'] = user_id + data = identity_client.projects.list(**kwargs) return (columns, (utils.get_item_properties( |
