summaryrefslogtreecommitdiff
path: root/openstackclient/identity
diff options
context:
space:
mode:
authorlin-hua-cheng <os.lcheng@gmail.com>2016-02-09 16:49:11 -0800
committerlin-hua-cheng <os.lcheng@gmail.com>2016-02-09 16:49:11 -0800
commit686a26973809eaba3deb9aed63daddba3bb0521e (patch)
treec86b5756a2e790467cf7091ece7d5767696375f8 /openstackclient/identity
parent624c39ab1bb060e35253b78c842d41ebc1807ae5 (diff)
downloadpython-openstackclient-686a26973809eaba3deb9aed63daddba3bb0521e.tar.gz
Add "token revoke" for identity v3
Change-Id: Ie631600d02942fe6ce035f31af46abe44e543631 Closes-bug: #1543226
Diffstat (limited to 'openstackclient/identity')
-rw-r--r--openstackclient/identity/v3/token.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/openstackclient/identity/v3/token.py b/openstackclient/identity/v3/token.py
index 588c5218..9ebd1799 100644
--- a/openstackclient/identity/v3/token.py
+++ b/openstackclient/identity/v3/token.py
@@ -173,3 +173,22 @@ class IssueToken(command.ShowOne):
if 'tenant_id' in token:
token['project_id'] = token.pop('tenant_id')
return zip(*sorted(six.iteritems(token)))
+
+
+class RevokeToken(command.Command):
+ """Revoke existing token"""
+
+ def get_parser(self, prog_name):
+ parser = super(RevokeToken, self).get_parser(prog_name)
+ parser.add_argument(
+ 'token',
+ metavar='<token>',
+ help='Token to be deleted',
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ identity_client = self.app.client_manager.identity
+
+ identity_client.tokens.revoke_token(parsed_args.token)
+ return