From 4cb56269ad30d0bd59f7685040ab0585f38c3b0f Mon Sep 17 00:00:00 2001 From: Samuel Pilla Date: Wed, 25 Jan 2017 10:40:49 -0600 Subject: Adds domain specification for SetUser This patch adds the ability to specify the domain context for making changes to a user with `--domain` flag. Example: $ openstack user set test_user --domain test_domain --enable Change-Id: I2b3241785c22e72e19181394acff650422299b0e Closes-Bug: #1658147 --- openstackclient/identity/v3/user.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'openstackclient/identity') diff --git a/openstackclient/identity/v3/user.py b/openstackclient/identity/v3/user.py index 19a4c298..9c289a6d 100644 --- a/openstackclient/identity/v3/user.py +++ b/openstackclient/identity/v3/user.py @@ -301,6 +301,12 @@ class SetUser(command.Command): metavar='', help=_('Set user name'), ) + parser.add_argument( + '--domain', + metavar='', + help=_('Domain the user belongs to (name or ID). This can be ' + 'used in case collisions between user names exist.'), + ) parser.add_argument( '--project', metavar='', @@ -351,10 +357,19 @@ class SetUser(command.Command): LOG.warning(_("No password was supplied, authentication will fail " "when a user does not have a password.")) - user = utils.find_resource( - identity_client.users, - parsed_args.user, - ) + user_str = common._get_token_resource(identity_client, 'user', + parsed_args.user) + if parsed_args.domain: + domain = common.find_domain(identity_client, parsed_args.domain) + user = utils.find_resource(identity_client.users, + user_str, + domain_id=domain.id) + else: + user = utils.find_resource( + identity_client.users, + parsed_args.user, + ) + kwargs = {} if parsed_args.name: kwargs['name'] = parsed_args.name -- cgit v1.2.1