Add domain scoping in 'role assignment list'
Add ability to set which domain the user, group or project belong to. Change-Id: Idf6c7f23ab96261a73682226fb10ce5f0133924e Closes-Bug: #1472909
This commit is contained in:
		@@ -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)
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user