Skip to content

Commit a43f7f9

Browse files
committed
role_name
1 parent ff7d0fd commit a43f7f9

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

src/azure-cli/azure/cli/command_modules/role/_params.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,4 +361,7 @@ class PrincipalType(str, Enum):
361361
c.argument('role_definition_id', options_list=['--name', '-n'], help='the role definition name')
362362
c.argument('custom_role_only', arg_type=get_three_state_flag(), help='custom roles only(vs. build-in ones)')
363363
c.argument('role_definition', help="json formatted content which defines the new role.")
364-
c.argument('name', arg_type=name_arg_type, completer=get_role_definition_name_completion_list, help="the role's name")
364+
c.argument('name', arg_type=name_arg_type, completer=get_role_definition_name_completion_list,
365+
help="Matches the role definition's name or roleName property.")
366+
c.argument('role_name',
367+
help="Matches the role definition's roleName property.")

src/azure-cli/azure/cli/command_modules/role/custom.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,13 @@
6161
# pylint: disable=too-many-lines, protected-access
6262

6363

64-
def list_role_definitions(cmd, name=None, resource_group_name=None, scope=None,
64+
def list_role_definitions(cmd, name=None, role_name=None, resource_group_name=None, scope=None,
6565
custom_role_only=False):
6666
definitions_client = _auth_client_factory(cmd.cli_ctx, scope).role_definitions
6767
scope = _build_role_scope(resource_group_name, scope,
6868
definitions_client._config.subscription_id)
69-
return _search_role_definitions(cmd.cli_ctx, definitions_client, name, [scope], custom_role_only)
69+
return _search_role_definitions(cmd.cli_ctx, definitions_client, name, [scope], custom_role_only=custom_role_only,
70+
role_name=role_name)
7071

7172

7273
def create_role_definition(cmd, role_definition):
@@ -137,9 +138,9 @@ def delete_role_definition(cmd, name, resource_group_name=None, scope=None,
137138
definitions_client.delete(role_definition_id=r.name, scope=scope)
138139

139140

140-
def _search_role_definitions(cli_ctx, definitions_client, name, scopes, custom_role_only=False):
141+
def _search_role_definitions(cli_ctx, definitions_client, name, scopes, custom_role_only=False, role_name=None):
141142
for scope in scopes:
142-
roles = list(definitions_client.list(scope))
143+
roles = list(definitions_client.list(scope, filter=f"roleName eq '{role_name}'"))
143144
worker = MultiAPIAdaptor(cli_ctx)
144145
if name:
145146
roles = [r for r in roles if r.name == name or worker.get_role_property(r, 'role_name') == name]

0 commit comments

Comments
 (0)