diff --git a/doc/source/command-objects/role_assignment.rst b/doc/source/command-objects/role_assignment.rst index cfb1079cf3..6bb24cb34c 100644 --- a/doc/source/command-objects/role_assignment.rst +++ b/doc/source/command-objects/role_assignment.rst @@ -15,9 +15,12 @@ List role assignments os role assignment list [--role <role>] [--user <user>] + [--user-domain <user-domain>] [--group <group>] + [--group-domain <group-domain>] [--domain <domain>] [--project <project>] + [--project-domain <project-domain>] [--effective] [--inherited] @@ -29,10 +32,20 @@ List role assignments User to filter (name or ID) +.. option:: --user-domain <user-domain> + + Domain the user belongs to (name or ID). + This can be used in case collisions between user names exist. + .. option:: --group <group> Group to filter (name or ID) +.. option:: --group-domain <group-domain> + + Domain the group belongs to (name or ID). + This can be used in case collisions between group names exist. + .. option:: --domain <domain> Domain to filter (name or ID) @@ -41,6 +54,11 @@ List role assignments Project to filter (name or ID) +.. option:: --project-domain <project-domain> + + Domain the project belongs to (name or ID). + This can be used in case collisions between project names exist. + .. option:: --effective Returns only effective role assignments (defaults to False) diff --git a/openstackclient/identity/v3/role_assignment.py b/openstackclient/identity/v3/role_assignment.py index 24e3a7f709..92168498f7 100644 --- a/openstackclient/identity/v3/role_assignment.py +++ b/openstackclient/identity/v3/role_assignment.py @@ -45,11 +45,13 @@ class ListRoleAssignment(lister.Lister): metavar='<user>', help='User to filter (name or ID)', ) + common.add_user_domain_option_to_parser(parser) user_or_group.add_argument( '--group', metavar='<group>', help='Group to filter (name or ID)', ) + common.add_group_domain_option_to_parser(parser) domain_or_project = parser.add_mutually_exclusive_group() domain_or_project.add_argument( '--domain', @@ -61,6 +63,7 @@ class ListRoleAssignment(lister.Lister): metavar='<project>', help='Project to filter (name or ID)', ) + common.add_project_domain_option_to_parser(parser) return parser @@ -84,6 +87,7 @@ class ListRoleAssignment(lister.Lister): user = common.find_user( identity_client, parsed_args.user, + parsed_args.user_domain, ) domain = None @@ -98,6 +102,7 @@ class ListRoleAssignment(lister.Lister): project = common.find_project( identity_client, parsed_args.project, + parsed_args.project_domain, ) group = None @@ -105,6 +110,7 @@ class ListRoleAssignment(lister.Lister): group = common.find_group( identity_client, parsed_args.group, + parsed_args.group_domain, ) effective = True if parsed_args.effective else False