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.py148
1 files changed, 2 insertions, 146 deletions
diff --git a/openstackclient/identity/v2_0/role.py b/openstackclient/identity/v2_0/role.py
index e254e05f..e9fe50fa 100644
--- a/openstackclient/identity/v2_0/role.py
+++ b/openstackclient/identity/v2_0/role.py
@@ -148,155 +148,11 @@ class DeleteRole(command.Command):
class ListRole(command.Lister):
_description = _("List roles")
- def get_parser(self, prog_name):
- parser = super(ListRole, self).get_parser(prog_name)
- parser.add_argument(
- '--project',
- metavar='<project>',
- help=_('Filter roles by <project> (name or ID)'),
- )
- parser.add_argument(
- '--user',
- metavar='<user>',
- help=_('Filter roles by <user> (name or ID)'),
- )
- return parser
-
def take_action(self, parsed_args):
-
- def _deprecated():
- # NOTE(henry-nash): Deprecated as of Newton, so we should remove
- # this in the 'P' release.
- self.log.warning(_('Listing assignments using role list is '
- 'deprecated as of the Newton release. Use role '
- 'assignment list --user <user-name> --project '
- '<project-name> --names instead.'))
-
identity_client = self.app.client_manager.identity
- auth_ref = self.app.client_manager.auth_ref
-
- # No user or project specified, list all roles in the system
- if not parsed_args.user and not parsed_args.project:
- columns = ('ID', 'Name')
- data = identity_client.roles.list()
- elif parsed_args.user and parsed_args.project:
- user = utils.find_resource(
- identity_client.users,
- parsed_args.user,
- )
- project = utils.find_resource(
- identity_client.projects,
- parsed_args.project,
- )
- _deprecated()
- data = identity_client.roles.roles_for_user(user.id, project.id)
-
- elif parsed_args.user:
- user = utils.find_resource(
- identity_client.users,
- parsed_args.user,
- )
- if self.app.client_manager.auth_ref:
- project = utils.find_resource(
- identity_client.projects,
- auth_ref.project_id
- )
- else:
- msg = _("Project must be specified")
- raise exceptions.CommandError(msg)
- _deprecated()
- data = identity_client.roles.roles_for_user(user.id, project.id)
- elif parsed_args.project:
- project = utils.find_resource(
- identity_client.projects,
- parsed_args.project,
- )
- if self.app.client_manager.auth_ref:
- user = utils.find_resource(
- identity_client.users,
- auth_ref.user_id
- )
- else:
- msg = _("User must be specified")
- raise exceptions.CommandError(msg)
- _deprecated()
- data = identity_client.roles.roles_for_user(user.id, project.id)
-
- if parsed_args.user or parsed_args.project:
- columns = ('ID', 'Name', 'Project', 'User')
- for user_role in data:
- user_role.user = user.name
- user_role.project = project.name
-
- return (columns,
- (utils.get_item_properties(
- s, columns,
- formatters={},
- ) for s in data))
-
-
-class ListUserRole(command.Lister):
- _description = _("List user-role assignments")
-
- def get_parser(self, prog_name):
- parser = super(ListUserRole, self).get_parser(prog_name)
- parser.add_argument(
- 'user',
- metavar='<user>',
- nargs='?',
- help=_('User to list (name or ID)'),
- )
- parser.add_argument(
- '--project',
- metavar='<project>',
- help=_('Filter users by <project> (name or ID)'),
- )
- return parser
-
- def take_action(self, parsed_args):
- identity_client = self.app.client_manager.identity
- auth_ref = self.app.client_manager.auth_ref
-
- # Project and user are required, if not included in command args
- # default to the values used for authentication. For token-flow
- # authentication they must be included on the command line.
- if (not parsed_args.project and
- self.app.client_manager.auth_ref.project_id):
- parsed_args.project = auth_ref.project_id
- if not parsed_args.project:
- msg = _("Project must be specified")
- raise exceptions.CommandError(msg)
-
- if (not parsed_args.user and
- self.app.client_manager.auth_ref.user_id):
- parsed_args.user = auth_ref.user_id
- if not parsed_args.user:
- msg = _("User must be specified")
- raise exceptions.CommandError(msg)
-
- self.log.warning(_('Listing assignments using user role list is '
- 'deprecated as of the Newton release. Use role '
- 'assignment list --user <user-name> --project '
- '<project-name> --names instead.'))
- 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, 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 = user.name
- role.project = project.name
+ columns = ('ID', 'Name')
+ data = identity_client.roles.list()
return (columns,
(utils.get_item_properties(