diff options
author | Ilya Kharin <akscram@gmail.com> | 2014-01-13 16:50:34 +0400 |
---|---|---|
committer | Ilya Kharin <akscram@gmail.com> | 2014-01-28 11:58:06 +0400 |
commit | 9ccc2029f92e48b923972a3e2800d771e0388921 (patch) | |
tree | ba1e1debfe9a70d6fa0e0a7cec38608e64d2fa9e /keystoneclient/access.py | |
parent | 8a118718c70c9f32ad155d9f5a0a86f233c7b063 (diff) | |
download | python-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.py | 17 |
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'] |