From d45dc27bf7cf2fb4f9d6d4259a082fd0d51a4ddc Mon Sep 17 00:00:00 2001 From: Kirill Logachev Date: Mon, 22 Jun 2020 12:26:21 -0700 Subject: [PATCH] `azurerm_role_definition` - terraform import now sets scope to prevent a force recreate #7424 --- .../services/authorization/role_definition_resource.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/azurerm/internal/services/authorization/role_definition_resource.go b/azurerm/internal/services/authorization/role_definition_resource.go index a8df59520cf7..316d04020778 100644 --- a/azurerm/internal/services/authorization/role_definition_resource.go +++ b/azurerm/internal/services/authorization/role_definition_resource.go @@ -189,6 +189,7 @@ func resourceArmRoleDefinitionRead(d *schema.ResourceData, meta interface{}) err return fmt.Errorf("Error parsing Role Definition ID: %+v", err) } if roleDefinitionId != nil { + d.Set("scope", roleDefinitionId.scope) d.Set("role_definition_id", roleDefinitionId.roleDefinitionId) } } @@ -351,9 +352,9 @@ func parseRoleDefinitionId(input string) (*roleDefinitionId, error) { return nil, fmt.Errorf("Expected Role Definition ID to be in the format `{scope}/providers/Microsoft.Authorization/roleDefinitions/{name}` but got %q", input) } - // /{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} + // {scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} id := roleDefinitionId{ - scope: strings.TrimPrefix(segments[0], "/"), + scope: segments[0], roleDefinitionId: segments[1], } return &id, nil