Merge "implement identity v3 Proxy group role management"
This commit is contained in:
commit
9b5371b688
|
@ -1165,3 +1165,54 @@ class Proxy(proxy.Proxy):
|
||||||
user = self._get_resource(_user.User, user)
|
user = self._get_resource(_user.User, user)
|
||||||
role = self._get_resource(_role.Role, role)
|
role = self._get_resource(_role.Role, role)
|
||||||
return project.validate_user_has_role(self, user, role)
|
return project.validate_user_has_role(self, user, role)
|
||||||
|
|
||||||
|
def assign_project_role_to_group(self, project, group, role):
|
||||||
|
"""Assign role to group on a project
|
||||||
|
|
||||||
|
:param project: Either the ID of a project or a
|
||||||
|
:class:`~openstack.identity.v3.project.Project`
|
||||||
|
instance.
|
||||||
|
:param group: Either the ID of a group or a
|
||||||
|
:class:`~openstack.identity.v3.group.Group` instance.
|
||||||
|
:param role: Either the ID of a role or a
|
||||||
|
:class:`~openstack.identity.v3.role.Role` instance.
|
||||||
|
:return: ``None``
|
||||||
|
"""
|
||||||
|
project = self._get_resource(_project.Project, project)
|
||||||
|
group = self._get_resource(_group.Group, group)
|
||||||
|
role = self._get_resource(_role.Role, role)
|
||||||
|
project.assign_role_to_group(self, group, role)
|
||||||
|
|
||||||
|
def unassign_project_role_from_group(self, project, group, role):
|
||||||
|
"""Unassign role from group on a project
|
||||||
|
|
||||||
|
:param project: Either the ID of a project or a
|
||||||
|
:class:`~openstack.identity.v3.project.Project`
|
||||||
|
instance.
|
||||||
|
:param group: Either the ID of a group or a
|
||||||
|
:class:`~openstack.identity.v3.group.Group` instance.
|
||||||
|
:param role: Either the ID of a role or a
|
||||||
|
:class:`~openstack.identity.v3.role.Role` instance.
|
||||||
|
:return: ``None``
|
||||||
|
"""
|
||||||
|
project = self._get_resource(_project.Project, project)
|
||||||
|
group = self._get_resource(_group.Group, group)
|
||||||
|
role = self._get_resource(_role.Role, role)
|
||||||
|
project.unassign_role_from_group(self, group, role)
|
||||||
|
|
||||||
|
def validate_group_has_role(self, project, group, role):
|
||||||
|
"""Validates that a group has a role on a project
|
||||||
|
|
||||||
|
:param project: Either the ID of a project or a
|
||||||
|
:class:`~openstack.identity.v3.project.Project`
|
||||||
|
instance.
|
||||||
|
:param group: Either the ID of a group or a
|
||||||
|
:class:`~openstack.identity.v3.group.Group` instance.
|
||||||
|
:param role: Either the ID of a role or a
|
||||||
|
:class:`~openstack.identity.v3.role.Role` instance.
|
||||||
|
:returns: True if group has role in project
|
||||||
|
"""
|
||||||
|
project = self._get_resource(_project.Project, project)
|
||||||
|
group = self._get_resource(_group.Group, group)
|
||||||
|
role = self._get_resource(_role.Role, role)
|
||||||
|
return project.validate_group_has_role(self, group, role)
|
||||||
|
|
Loading…
Reference in New Issue