summaryrefslogtreecommitdiff
path: root/keystoneclient/v2_0
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-07-11 18:21:47 +0000
committerGerrit Code Review <review@openstack.org>2014-07-11 18:21:47 +0000
commit658b6900493c9b169dc0dc971e8a9a0f087a0df5 (patch)
tree209a256743ee9f127265c19fc6701ea32537b826 /keystoneclient/v2_0
parentdd3534721e1bf0c0884c01ca73770f3ce1f6feb5 (diff)
parent3a60390fd2b77460eab6eadf2c1eefb3f30caac4 (diff)
downloadpython-keystoneclient-658b6900493c9b169dc0dc971e8a9a0f087a0df5.tar.gz
Merge "Pass user and roles manager to tenant manager"
Diffstat (limited to 'keystoneclient/v2_0')
-rw-r--r--keystoneclient/v2_0/client.py3
-rw-r--r--keystoneclient/v2_0/tenants.py31
2 files changed, 20 insertions, 14 deletions
diff --git a/keystoneclient/v2_0/client.py b/keystoneclient/v2_0/client.py
index 08263a7..793e5cd 100644
--- a/keystoneclient/v2_0/client.py
+++ b/keystoneclient/v2_0/client.py
@@ -133,10 +133,11 @@ class Client(httpclient.HTTPClient):
self.extensions = extensions.ExtensionManager(self)
self.roles = roles.RoleManager(self)
self.services = services.ServiceManager(self)
- self.tenants = tenants.TenantManager(self)
self.tokens = tokens.TokenManager(self)
self.users = users.UserManager(self, self.roles)
+ self.tenants = tenants.TenantManager(self, self.roles, self.users)
+
# extensions
self.ec2 = ec2.CredentialsManager(self)
diff --git a/keystoneclient/v2_0/tenants.py b/keystoneclient/v2_0/tenants.py
index cee37d1..93d6890 100644
--- a/keystoneclient/v2_0/tenants.py
+++ b/keystoneclient/v2_0/tenants.py
@@ -55,15 +55,15 @@ class Tenant(base.Resource):
return retval
def add_user(self, user, role):
- return self.manager.api.roles.add_user_role(base.getid(user),
- base.getid(role),
- self.id)
-
- def remove_user(self, user, role):
- return self.manager.api.roles.remove_user_role(base.getid(user),
+ return self.manager.role_manager.add_user_role(base.getid(user),
base.getid(role),
self.id)
+ def remove_user(self, user, role):
+ return self.manager.role_manager.remove_user_role(base.getid(user),
+ base.getid(role),
+ self.id)
+
def list_users(self):
return self.manager.list_users(self.id)
@@ -72,6 +72,11 @@ class TenantManager(base.ManagerWithFind):
"""Manager class for manipulating Keystone tenants."""
resource_class = Tenant
+ def __init__(self, client, role_manager, user_manager):
+ super(TenantManager, self).__init__(client)
+ self.role_manager = role_manager
+ self.user_manager = user_manager
+
def get(self, tenant_id):
return self._get("/tenants/%s" % tenant_id, "tenant")
@@ -145,16 +150,16 @@ class TenantManager(base.ManagerWithFind):
def list_users(self, tenant):
"""List users for a tenant."""
- return self.api.users.list(base.getid(tenant))
+ return self.user_manager.list(base.getid(tenant))
def add_user(self, tenant, user, role):
"""Add a user to a tenant with the given role."""
- return self.api.roles.add_user_role(base.getid(user),
- base.getid(role),
- base.getid(tenant))
+ return self.role_manager.add_user_role(base.getid(user),
+ base.getid(role),
+ base.getid(tenant))
def remove_user(self, tenant, user, role):
"""Remove the specified role from the user on the tenant."""
- return self.api.roles.remove_user_role(base.getid(user),
- base.getid(role),
- base.getid(tenant))
+ return self.role_manager.remove_user_role(base.getid(user),
+ base.getid(role),
+ base.getid(tenant))