summaryrefslogtreecommitdiff
path: root/keystoneclient/access.py
diff options
context:
space:
mode:
authorIlya Kharin <akscram@gmail.com>2014-01-13 16:50:34 +0400
committerIlya Kharin <akscram@gmail.com>2014-01-28 11:58:06 +0400
commit9ccc2029f92e48b923972a3e2800d771e0388921 (patch)
treeba1e1debfe9a70d6fa0e0a7cec38608e64d2fa9e /keystoneclient/access.py
parent8a118718c70c9f32ad155d9f5a0a86f233c7b063 (diff)
downloadpython-keystoneclient-9ccc2029f92e48b923972a3e2800d771e0388921.tar.gz
Return role names by AccessInfo.role_names
A new method was introduced on AccessInfo class. The method role_names returns a list of role names of a user associated to the authorization request. bp keystoneclient-auth-ref-get-roles DocImpact Change-Id: I0862aaaa27193119dc83ef38100c88b48a1d24a4
Diffstat (limited to 'keystoneclient/access.py')
-rw-r--r--keystoneclient/access.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/keystoneclient/access.py b/keystoneclient/access.py
index e2ba5c0..50b7a2a 100644
--- a/keystoneclient/access.py
+++ b/keystoneclient/access.py
@@ -164,6 +164,15 @@ class AccessInfo(dict):
raise NotImplementedError()
@property
+ def role_names(self):
+ """Returns a list of role names of the user associated with the
+ authentication request.
+
+ :returns: a list of strings of role names
+ """
+ raise NotImplementedError()
+
+ @property
def domain_name(self):
"""Returns the domain name associated with the authentication token.
@@ -362,6 +371,10 @@ class AccessInfoV2(AccessInfo):
return 'Default'
@property
+ def role_names(self):
+ return [r['name'] for r in self['user']['roles']]
+
+ @property
def domain_name(self):
return None
@@ -516,6 +529,10 @@ class AccessInfoV3(AccessInfo):
return self['user']['domain']['name']
@property
+ def role_names(self):
+ return [r['name'] for r in self['user'].get('roles', [])]
+
+ @property
def username(self):
return self['user']['name']