diff options
| author | Steven Hardy <shardy@redhat.com> | 2014-03-07 18:25:41 +0000 |
|---|---|---|
| committer | Steven Hardy <shardy@redhat.com> | 2014-03-13 09:32:21 +0000 |
| commit | 0c0803d363aeae9e8a6eb2cdaf4b5baedee416dc (patch) | |
| tree | 939b707c4753aa7ee8436943765cfa43affdef2a /openstackclient/identity/v3/project.py | |
| parent | ce63fa01219cf4a6e1fab8c3be7e5d20d35f08e1 (diff) | |
| download | python-openstackclient-0c0803d363aeae9e8a6eb2cdaf4b5baedee416dc.tar.gz | |
identity v3 allow project list filtering by domain
The underlying keystoneclient interface allows filtering by domain,
so support it in the cli interface because it makes project list
much nicer to use in a multi-domain deployment.
Change-Id: If3f5cf1205c1e9cf314f8286a3ae81bda4456b8f
Closes-Bug: #1289513
Diffstat (limited to 'openstackclient/identity/v3/project.py')
| -rw-r--r-- | openstackclient/identity/v3/project.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py index ebae733d..d3618fb3 100644 --- a/openstackclient/identity/v3/project.py +++ b/openstackclient/identity/v3/project.py @@ -140,15 +140,27 @@ class ListProject(lister.Lister): default=False, help='List additional fields in output', ) + parser.add_argument( + '--domain', + metavar='<project-domain>', + help='Filter by a specific domain', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) + identity_client = self.app.client_manager.identity if parsed_args.long: columns = ('ID', 'Name', 'Domain ID', 'Description', 'Enabled') else: columns = ('ID', 'Name') - data = self.app.client_manager.identity.projects.list() + kwargs = {} + if parsed_args.domain: + kwargs['domain'] = utils.find_resource( + identity_client.domains, + parsed_args.domain, + ).id + data = identity_client.projects.list(**kwargs) return (columns, (utils.get_item_properties( s, columns, |
