diff options
| author | Steve Martinelli <stevemar@ca.ibm.com> | 2015-01-08 02:14:06 -0500 |
|---|---|---|
| committer | Steve Martinelli <stevemar@ca.ibm.com> | 2015-01-09 09:20:24 +0000 |
| commit | d9c217e5bc40c35af899c34c5965356b8849586e (patch) | |
| tree | 31bf73c9c736016d8c02f8fbab37caeba8a0120c /openstackclient/identity/v3 | |
| parent | f8d4dd25b488cc6ca288adf90917ae4ba404f921 (diff) | |
| download | python-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.py | 26 |
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): |
