diff options
author | Jamie Lennox <jamielennox@redhat.com> | 2014-06-18 11:48:56 +1000 |
---|---|---|
committer | Jamie Lennox <jamielennox@redhat.com> | 2014-06-19 10:46:07 +1000 |
commit | 0aa9df3b76d85706c12320eaa199aa52eaafebb3 (patch) | |
tree | 6eaea400a6b37ab785df685367f36666b1b918b5 /keystoneclient/access.py | |
parent | 8247200e37595ea989b0a4759a514b40f69b1df7 (diff) | |
download | python-keystoneclient-0aa9df3b76d85706c12320eaa199aa52eaafebb3.tar.gz |
Add role ids to the AccessInfo
Role Names are already there, add ids as well.
Change-Id: Ie6f14a60b182ec2f4ab97c6ced564e63a2f5169a
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 7120fd9..3ef4d72 100644 --- a/keystoneclient/access.py +++ b/keystoneclient/access.py @@ -164,6 +164,15 @@ class AccessInfo(dict): raise NotImplementedError() @property + def role_ids(self): + """Returns a list of role ids of the user associated with the + authentication request. + + :returns: a list of strings of role ids + """ + raise NotImplementedError() + + @property def role_names(self): """Returns a list of role names of the user associated with the authentication request. @@ -371,6 +380,10 @@ class AccessInfoV2(AccessInfo): return 'Default' @property + def role_ids(self): + return self.get('metadata', {}).get('roles', []) + + @property def role_names(self): return [r['name'] for r in self['user'].get('roles', [])] @@ -529,6 +542,10 @@ class AccessInfoV3(AccessInfo): return self['user']['domain']['name'] @property + def role_ids(self): + return [r['id'] for r in self.get('roles', [])] + + @property def role_names(self): return [r['name'] for r in self.get('roles', [])] |