Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ def create_role_assignment(self, role_scope, role_definition_id, principal_id, *
:type role_assignment_name: str or uuid.UUID
:rtype: KeyVaultRoleAssignment
"""
role_assignment_name_provided = kwargs.pop("role_assignment_name", None)
role_assignment_name = str(role_assignment_name_provided) if role_assignment_name_provided else str(uuid4())

create_parameters = self._client.role_assignments.models.RoleAssignmentCreateParameters(
properties=self._client.role_assignments.models.RoleAssignmentProperties(
principal_id=principal_id, role_definition_id=str(role_definition_id)
Expand All @@ -52,7 +55,7 @@ def create_role_assignment(self, role_scope, role_definition_id, principal_id, *
assignment = self._client.role_assignments.create(
vault_base_url=self._vault_url,
scope=role_scope,
role_assignment_name=kwargs.pop("role_assignment_name", None) or str(uuid4()),
role_assignment_name=role_assignment_name,
parameters=create_parameters,
**kwargs
)
Expand Down Expand Up @@ -130,6 +133,9 @@ def set_role_definition(self, role_scope, permissions, **kwargs):
:returns: The created or updated role definition
:rtype: KeyVaultRoleDefinition
"""
role_definition_name_provided = kwargs.pop("role_definition_name", None)
role_definition_name = str(role_definition_name_provided) if role_definition_name_provided else str(uuid4())

permissions = [
self._client.role_definitions.models.Permission(
actions=p.allowed_actions,
Expand All @@ -150,7 +156,7 @@ def set_role_definition(self, role_scope, permissions, **kwargs):
definition = self._client.role_definitions.create_or_update(
vault_base_url=self._vault_url,
scope=role_scope,
role_definition_name=kwargs.pop("role_definition_name", None) or str(uuid4()),
role_definition_name=role_definition_name,
parameters=parameters,
**kwargs
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ async def create_role_assignment(
:type role_assignment_name: str or uuid.UUID
:rtype: KeyVaultRoleAssignment
"""
role_assignment_name_provided = kwargs.pop("role_assignment_name", None)
role_assignment_name = str(role_assignment_name_provided) if role_assignment_name_provided else str(uuid4())

create_parameters = self._client.role_assignments.models.RoleAssignmentCreateParameters(
properties=self._client.role_assignments.models.RoleAssignmentProperties(
principal_id=principal_id, role_definition_id=str(role_definition_id)
Expand All @@ -54,7 +57,7 @@ async def create_role_assignment(
assignment = await self._client.role_assignments.create(
vault_base_url=self._vault_url,
scope=role_scope,
role_assignment_name=kwargs.pop("role_assignment_name", None) or str(uuid4()),
role_assignment_name=role_assignment_name,
parameters=create_parameters,
**kwargs
)
Expand Down Expand Up @@ -136,6 +139,9 @@ async def set_role_definition(
:returns: The created or updated role definition
:rtype: KeyVaultRoleDefinition
"""
role_definition_name_provided = kwargs.pop("role_definition_name", None)
role_definition_name = str(role_definition_name_provided) if role_definition_name_provided else str(uuid4())

permissions = [
self._client.role_definitions.models.Permission(
actions=p.allowed_actions,
Expand All @@ -156,7 +162,7 @@ async def set_role_definition(
definition = await self._client.role_definitions.create_or_update(
vault_base_url=self._vault_url,
scope=role_scope,
role_definition_name=kwargs.pop("role_definition_name", None) or str(uuid4()),
role_definition_name=role_definition_name,
parameters=parameters,
**kwargs
)
Expand Down