summaryrefslogtreecommitdiff
path: root/keystoneclient/access.py
diff options
context:
space:
mode:
authorJamie Lennox <jamielennox@redhat.com>2014-06-18 11:48:56 +1000
committerJamie Lennox <jamielennox@redhat.com>2014-06-19 10:46:07 +1000
commit0aa9df3b76d85706c12320eaa199aa52eaafebb3 (patch)
tree6eaea400a6b37ab785df685367f36666b1b918b5 /keystoneclient/access.py
parent8247200e37595ea989b0a4759a514b40f69b1df7 (diff)
downloadpython-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.py17
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', [])]