summaryrefslogtreecommitdiff
path: root/openstackclient/identity/v2_0/role.py
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/identity/v2_0/role.py')
-rw-r--r--openstackclient/identity/v2_0/role.py69
1 files changed, 42 insertions, 27 deletions
diff --git a/openstackclient/identity/v2_0/role.py b/openstackclient/identity/v2_0/role.py
index 61a83af5..58052536 100644
--- a/openstackclient/identity/v2_0/role.py
+++ b/openstackclient/identity/v2_0/role.py
@@ -13,7 +13,7 @@
# under the License.
#
-"""Role action implementations"""
+"""Identity v2 Role action implementations"""
import logging
import six
@@ -26,7 +26,7 @@ from openstackclient.common import utils
class AddRole(show.ShowOne):
- """Add role to tenant:user"""
+ """Add role to project:user"""
log = logging.getLogger(__name__ + '.AddRole')
@@ -37,10 +37,11 @@ class AddRole(show.ShowOne):
metavar='<role>',
help='Role name or ID to add to user')
parser.add_argument(
- '--tenant',
- metavar='<tenant>',
+ '--project',
+ metavar='<project>',
required=True,
- help='Name or ID of tenant to include')
+ help='Include project (name or ID)',
+ )
parser.add_argument(
'--user',
metavar='<user>',
@@ -52,13 +53,15 @@ class AddRole(show.ShowOne):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
role = utils.find_resource(identity_client.roles, parsed_args.role)
- tenant = utils.find_resource(identity_client.tenants,
- parsed_args.tenant)
+ project = utils.find_resource(
+ identity_client.tenants,
+ parsed_args.project,
+ )
user = utils.find_resource(identity_client.users, parsed_args.user)
role = identity_client.roles.add_user_role(
user,
role,
- tenant)
+ project)
info = {}
info.update(role._info)
@@ -138,34 +141,43 @@ class ListUserRole(lister.Lister):
nargs='?',
help='Name or ID of user to include')
parser.add_argument(
- '--tenant',
- metavar='<tenant>',
- help='Name or ID of tenant to include')
+ '--project',
+ metavar='<project>',
+ help='Include project (name or ID)',
+ )
return parser
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
- columns = ('ID', 'Name', 'Tenant ID', 'User ID')
identity_client = self.app.client_manager.identity
# user-only roles are not supported in KSL so we are
- # required to have a user and tenant; default to the
+ # required to have a user and project; default to the
# values used for authentication if not specified
- if not parsed_args.tenant:
- parsed_args.tenant = identity_client.auth_tenant_id
+ if not parsed_args.project:
+ parsed_args.project = identity_client.auth_tenant_id
if not parsed_args.user:
parsed_args.user = identity_client.auth_user_id
- tenant = utils.find_resource(identity_client.tenants,
- parsed_args.tenant)
+ project = utils.find_resource(
+ identity_client.tenants,
+ parsed_args.project,
+ )
user = utils.find_resource(identity_client.users, parsed_args.user)
- data = identity_client.roles.roles_for_user(user.id, tenant.id)
+ data = identity_client.roles.roles_for_user(user.id, project.id)
+
+ columns = (
+ 'ID',
+ 'Name',
+ 'Project',
+ 'User',
+ )
# Add the names to the output even though they will be constant
for role in data:
- role.user_id = user.name
- role.tenant_id = tenant.name
+ role.user = user.name
+ role.project = project.name
return (columns,
(utils.get_item_properties(
@@ -175,7 +187,7 @@ class ListUserRole(lister.Lister):
class RemoveRole(command.Command):
- """Remove role from tenant:user"""
+ """Remove role from project:user"""
log = logging.getLogger(__name__ + '.RemoveRole')
@@ -186,10 +198,11 @@ class RemoveRole(command.Command):
metavar='<role>',
help='Role name or ID to remove from user')
parser.add_argument(
- '--tenant',
- metavar='<tenant>',
+ '--project',
+ metavar='<project>',
required=True,
- help='Name or ID of tenant')
+ help='Project to include (name or ID)',
+ )
parser.add_argument(
'--user',
metavar='<user>',
@@ -201,13 +214,15 @@ class RemoveRole(command.Command):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
role = utils.find_resource(identity_client.roles, parsed_args.role)
- tenant = utils.find_resource(identity_client.tenants,
- parsed_args.tenant)
+ project = utils.find_resource(
+ identity_client.tenants,
+ parsed_args.project,
+ )
user = utils.find_resource(identity_client.users, parsed_args.user)
identity_client.roles.remove_user_role(
user.id,
role.id,
- tenant.id)
+ project.id)
class ShowRole(show.ShowOne):