diff options
| author | Samuel de Medeiros Queiroz <samuel@lsd.ufcg.edu.br> | 2014-09-17 12:03:19 -0300 |
|---|---|---|
| committer | Steve Martinelli <stevemar@ca.ibm.com> | 2015-08-06 22:21:27 -0700 |
| commit | 94a8805a9a96daa2ada2b38db1fac86e06525620 (patch) | |
| tree | ffd7ae928c27fd6b0038a08c301971da89615591 /openstackclient/identity | |
| parent | 35833c94efd27a497f4dffbdbd17329a6e65cd2a (diff) | |
| download | python-openstackclient-94a8805a9a96daa2ada2b38db1fac86e06525620.tar.gz | |
Inherited info/option when listing role assignment
Adds inherited information when listing role
assignments. In addition, it makes possible
to list only inherited ones by adding
--inherited option.
Change-Id: Idf889603d584716da95e2c7b4880142fbd8291c4
Closes-Bug: 1370546
Diffstat (limited to 'openstackclient/identity')
| -rw-r--r-- | openstackclient/identity/v3/role_assignment.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/openstackclient/identity/v3/role_assignment.py b/openstackclient/identity/v3/role_assignment.py index 92168498..169c6cb9 100644 --- a/openstackclient/identity/v3/role_assignment.py +++ b/openstackclient/identity/v3/role_assignment.py @@ -64,12 +64,12 @@ class ListRoleAssignment(lister.Lister): help='Project to filter (name or ID)', ) common.add_project_domain_option_to_parser(parser) - + common.add_inherited_option_to_parser(parser) return parser def _as_tuple(self, assignment): return (assignment.role, assignment.user, assignment.group, - assignment.project, assignment.domain) + assignment.project, assignment.domain, assignment.inherited) def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) @@ -115,14 +115,17 @@ class ListRoleAssignment(lister.Lister): effective = True if parsed_args.effective else False self.log.debug('take_action(%s)' % parsed_args) - columns = ('Role', 'User', 'Group', 'Project', 'Domain') + columns = ('Role', 'User', 'Group', 'Project', 'Domain', 'Inherited') + + inherited_to = 'projects' if parsed_args.inherited else None data = identity_client.role_assignments.list( domain=domain, user=user, group=group, project=project, role=role, - effective=effective) + effective=effective, + os_inherit_extension_inherited_to=inherited_to) data_parsed = [] for assignment in data: @@ -139,6 +142,9 @@ class ListRoleAssignment(lister.Lister): assignment.domain = '' assignment.project = '' + inherited = scope.get('OS-INHERIT:inherited_to') == 'projects' + assignment.inherited = inherited + del assignment.scope if hasattr(assignment, 'user'): |
