Skip to content

Commit 4633bdb

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add domain scoping in 'role assignment list'"
2 parents 20d32dd + 701b59f commit 4633bdb

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

doc/source/command-objects/role_assignment.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,12 @@ List role assignments
1515
os role assignment list
1616
[--role <role>]
1717
[--user <user>]
18+
[--user-domain <user-domain>]
1819
[--group <group>]
20+
[--group-domain <group-domain>]
1921
[--domain <domain>]
2022
[--project <project>]
23+
[--project-domain <project-domain>]
2124
[--effective]
2225
[--inherited]
2326
@@ -29,10 +32,20 @@ List role assignments
2932

3033
User to filter (name or ID)
3134

35+
.. option:: --user-domain <user-domain>
36+
37+
Domain the user belongs to (name or ID).
38+
This can be used in case collisions between user names exist.
39+
3240
.. option:: --group <group>
3341

3442
Group to filter (name or ID)
3543

44+
.. option:: --group-domain <group-domain>
45+
46+
Domain the group belongs to (name or ID).
47+
This can be used in case collisions between group names exist.
48+
3649
.. option:: --domain <domain>
3750

3851
Domain to filter (name or ID)
@@ -41,6 +54,11 @@ List role assignments
4154

4255
Project to filter (name or ID)
4356

57+
.. option:: --project-domain <project-domain>
58+
59+
Domain the project belongs to (name or ID).
60+
This can be used in case collisions between project names exist.
61+
4462
.. option:: --effective
4563

4664
Returns only effective role assignments (defaults to False)

openstackclient/identity/v3/role_assignment.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,13 @@ def get_parser(self, prog_name):
4545
metavar='<user>',
4646
help='User to filter (name or ID)',
4747
)
48+
common.add_user_domain_option_to_parser(parser)
4849
user_or_group.add_argument(
4950
'--group',
5051
metavar='<group>',
5152
help='Group to filter (name or ID)',
5253
)
54+
common.add_group_domain_option_to_parser(parser)
5355
domain_or_project = parser.add_mutually_exclusive_group()
5456
domain_or_project.add_argument(
5557
'--domain',
@@ -61,6 +63,7 @@ def get_parser(self, prog_name):
6163
metavar='<project>',
6264
help='Project to filter (name or ID)',
6365
)
66+
common.add_project_domain_option_to_parser(parser)
6467

6568
return parser
6669

@@ -84,6 +87,7 @@ def take_action(self, parsed_args):
8487
user = common.find_user(
8588
identity_client,
8689
parsed_args.user,
90+
parsed_args.user_domain,
8791
)
8892

8993
domain = None
@@ -98,13 +102,15 @@ def take_action(self, parsed_args):
98102
project = common.find_project(
99103
identity_client,
100104
parsed_args.project,
105+
parsed_args.project_domain,
101106
)
102107

103108
group = None
104109
if parsed_args.group:
105110
group = common.find_group(
106111
identity_client,
107112
parsed_args.group,
113+
parsed_args.group_domain,
108114
)
109115

110116
effective = True if parsed_args.effective else False

0 commit comments

Comments
 (0)