Merge "Pass user and roles manager to tenant manager"

This commit is contained in:
Jenkins
2014-07-11 18:21:47 +00:00
committed by Gerrit Code Review
2 changed files with 20 additions and 14 deletions

View File

@@ -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)

View File

@@ -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))