diff options
| author | Steve Martinelli <stevemar@ca.ibm.com> | 2014-10-07 02:15:15 -0400 |
|---|---|---|
| committer | Steve Martinelli <stevemar@ca.ibm.com> | 2014-10-09 14:34:48 -0400 |
| commit | 364071a90bfe9dcec1d02a349c33dc8422fc14f3 (patch) | |
| tree | 704c8a12ce913ceb735af4adabb54f1498c16a53 /openstackclient/identity | |
| parent | 0c77a9fe8baa4df9ea2d0055db9c700af3cae310 (diff) | |
| download | python-openstackclient-364071a90bfe9dcec1d02a349c33dc8422fc14f3.tar.gz | |
Add domain parameters to user show for Identity V3
Update `user show` for Identity V3 to account for a domain argument,
in doing so, also update `find resource` to be more flexible by
allowing **kwargs.
Also update `group show` and `project show` since they follow the
same logic as a user within a group.
Change-Id: Ib828e4dbeb0bd31164396069ce8a64c873179779
Closes-Bug: #1378165
Diffstat (limited to 'openstackclient/identity')
| -rw-r--r-- | openstackclient/identity/v3/group.py | 23 | ||||
| -rw-r--r-- | openstackclient/identity/v3/project.py | 23 | ||||
| -rw-r--r-- | openstackclient/identity/v3/user.py | 22 |
3 files changed, 50 insertions, 18 deletions
diff --git a/openstackclient/identity/v3/group.py b/openstackclient/identity/v3/group.py index 4eb14489..fdb9501a 100644 --- a/openstackclient/identity/v3/group.py +++ b/openstackclient/identity/v3/group.py @@ -24,6 +24,7 @@ from cliff import lister from cliff import show from openstackclient.common import utils +from openstackclient.identity import common class AddUserToGroup(command.Command): @@ -321,14 +322,26 @@ class ShowGroup(show.ShowOne): parser.add_argument( 'group', metavar='<group>', - help='Name or ID of group to display') + help='Name or ID of group to display', + ) + parser.add_argument( + '--domain', + metavar='<domain>', + help='Domain where group resides (name or ID)', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity - group = utils.find_resource(identity_client.groups, parsed_args.group) - info = {} - info.update(group._info) - return zip(*sorted(six.iteritems(info))) + if parsed_args.domain: + domain = common.find_domain(identity_client, parsed_args.domain) + group = utils.find_resource(identity_client.groups, + parsed_args.group, + domain_id=domain.id) + else: + group = utils.find_resource(identity_client.groups, + parsed_args.group) + + return zip(*sorted(six.iteritems(group._info))) diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py index fa935f0b..ec8e5a3b 100644 --- a/openstackclient/identity/v3/project.py +++ b/openstackclient/identity/v3/project.py @@ -264,15 +264,26 @@ class ShowProject(show.ShowOne): parser.add_argument( 'project', metavar='<project>', - help='Name or ID of project to display') + help='Name or ID of project to display', + ) + parser.add_argument( + '--domain', + metavar='<domain>', + help='Domain where project resides (name or ID)', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity - project = utils.find_resource(identity_client.projects, - parsed_args.project) - info = {} - info.update(project._info) - return zip(*sorted(six.iteritems(info))) + if parsed_args.domain: + domain = common.find_domain(identity_client, parsed_args.domain) + project = utils.find_resource(identity_client.projects, + parsed_args.project, + domain_id=domain.id) + else: + project = utils.find_resource(identity_client.projects, + parsed_args.project) + + return zip(*sorted(six.iteritems(project._info))) diff --git a/openstackclient/identity/v3/user.py b/openstackclient/identity/v3/user.py index e4eb7526..73bb7f13 100644 --- a/openstackclient/identity/v3/user.py +++ b/openstackclient/identity/v3/user.py @@ -23,6 +23,7 @@ from cliff import lister from cliff import show from openstackclient.common import utils +from openstackclient.identity import common class CreateUser(show.ShowOne): @@ -364,17 +365,24 @@ class ShowUser(show.ShowOne): metavar='<user>', help='User to display (name or ID)', ) + parser.add_argument( + '--domain', + metavar='<domain>', + help='Domain where user resides (name or ID)', + ) return parser def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity - user = utils.find_resource( - identity_client.users, - parsed_args.user, - ) + if parsed_args.domain: + domain = common.find_domain(identity_client, parsed_args.domain) + user = utils.find_resource(identity_client.users, + parsed_args.user, + domain_id=domain.id) + else: + user = utils.find_resource(identity_client.users, + parsed_args.user) - info = {} - info.update(user._info) - return zip(*sorted(six.iteritems(info))) + return zip(*sorted(six.iteritems(user._info))) |
