summaryrefslogtreecommitdiff
path: root/openstackclient/identity/v3
diff options
context:
space:
mode:
authorSteve Martinelli <stevemar@ca.ibm.com>2015-01-08 02:14:06 -0500
committerSteve Martinelli <stevemar@ca.ibm.com>2015-01-09 09:20:24 +0000
commitd9c217e5bc40c35af899c34c5965356b8849586e (patch)
tree31bf73c9c736016d8c02f8fbab37caeba8a0120c /openstackclient/identity/v3
parentf8d4dd25b488cc6ca288adf90917ae4ba404f921 (diff)
downloadpython-openstackclient-d9c217e5bc40c35af899c34c5965356b8849586e.tar.gz
Request token authorize
Command doc and tweaks to the code Change-Id: I8f251bf9ca77f16b01a509844e79ddde82048b0d
Diffstat (limited to 'openstackclient/identity/v3')
-rw-r--r--openstackclient/identity/v3/token.py26
1 files changed, 16 insertions, 10 deletions
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='<request-key>',
- help='Request token key',
+ help='Request token to authorize (ID only) (required)',
required=True
)
parser.add_argument(
- '--role-ids',
- metavar='<role-ids>',
- help='Requested role IDs',
+ '--role',
+ metavar='<role>',
+ 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):