From d9c217e5bc40c35af899c34c5965356b8849586e Mon Sep 17 00:00:00 2001 From: Steve Martinelli Date: Thu, 8 Jan 2015 02:14:06 -0500 Subject: Request token authorize Command doc and tweaks to the code Change-Id: I8f251bf9ca77f16b01a509844e79ddde82048b0d --- openstackclient/identity/v3/token.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'openstackclient/identity/v3') diff --git a/openstackclient/identity/v3/token.py b/openstackclient/identity/v3/token.py index 86f31a2a..bea2ddeb 100644 --- a/openstackclient/identity/v3/token.py +++ b/openstackclient/identity/v3/token.py @@ -25,7 +25,7 @@ from openstackclient.identity import common class AuthorizeRequestToken(show.ShowOne): - """Authorize request token""" + """Authorize a request token""" log = logging.getLogger(__name__ + '.AuthorizeRequestToken') @@ -34,13 +34,16 @@ class AuthorizeRequestToken(show.ShowOne): parser.add_argument( '--request-key', metavar='', - help='Request token key', + help='Request token to authorize (ID only) (required)', required=True ) parser.add_argument( - '--role-ids', - metavar='', - help='Requested role IDs', + '--role', + metavar='', + action='append', + default=[], + help='Roles to authorize (name or ID) ' + '(repeat to set multiple values) (required)', required=True ) return parser @@ -49,17 +52,20 @@ class AuthorizeRequestToken(show.ShowOne): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity + # NOTE(stevemar): We want a list of role ids roles = [] - for r_id in parsed_args.role_ids.split(): - roles.append(r_id) + for role in parsed_args.role: + role_id = utils.find_resource( + identity_client.roles, + role, + ).id + roles.append(role_id) verifier_pin = identity_client.oauth1.request_tokens.authorize( parsed_args.request_key, roles) - info = {} - info.update(verifier_pin._info) - return zip(*sorted(six.iteritems(info))) + return zip(*sorted(six.iteritems(verifier_pin._info))) class CreateAccessToken(show.ShowOne): -- cgit v1.2.1