From 0d6ae9e6989571c08a6b420683d2713b9b592c11 Mon Sep 17 00:00:00 2001 From: kbudzyk Date: Mon, 30 Mar 2020 23:12:50 +0100 Subject: [PATCH 1/2] fix how empty priority is interpreted --- .../services/compute/linux_virtual_machine_resource.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/azurerm/internal/services/compute/linux_virtual_machine_resource.go b/azurerm/internal/services/compute/linux_virtual_machine_resource.go index dbc11533d778..b0e047bbe3bd 100644 --- a/azurerm/internal/services/compute/linux_virtual_machine_resource.go +++ b/azurerm/internal/services/compute/linux_virtual_machine_resource.go @@ -566,8 +566,13 @@ func resourceLinuxVirtualMachineRead(d *schema.ResourceData, meta interface{}) e return fmt.Errorf("Error setting `secret`: %+v", err) } } - - d.Set("priority", string(props.Priority)) + // Resources created with azurerm_virtual_machine have priority set to "" + // We need to treat "" as equal to "Regular" to allow migration azurerm_virtual_machine -> azurerm_linux_virtual_machine + priority := props.Priority + if priority == "" { + priority = compute.Regular + } + d.Set("priority", string(priority)) proximityPlacementGroupId := "" if props.ProximityPlacementGroup != nil && props.ProximityPlacementGroup.ID != nil { proximityPlacementGroupId = *props.ProximityPlacementGroup.ID From 2bb3551f141255f4a2c8d80f0aaa7ed71f2e45e0 Mon Sep 17 00:00:00 2001 From: kbudzyk Date: Wed, 1 Apr 2020 10:35:58 +0100 Subject: [PATCH 2/2] align coding style and extend to windows vm as well --- .../services/compute/linux_virtual_machine_resource.go | 8 ++++---- .../services/compute/windows_virtual_machine_resource.go | 9 +++++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/azurerm/internal/services/compute/linux_virtual_machine_resource.go b/azurerm/internal/services/compute/linux_virtual_machine_resource.go index b0e047bbe3bd..db7cb7bddbed 100644 --- a/azurerm/internal/services/compute/linux_virtual_machine_resource.go +++ b/azurerm/internal/services/compute/linux_virtual_machine_resource.go @@ -568,11 +568,11 @@ func resourceLinuxVirtualMachineRead(d *schema.ResourceData, meta interface{}) e } // Resources created with azurerm_virtual_machine have priority set to "" // We need to treat "" as equal to "Regular" to allow migration azurerm_virtual_machine -> azurerm_linux_virtual_machine - priority := props.Priority - if priority == "" { - priority = compute.Regular + priority := string(compute.Regular) + if props.Priority != "" { + priority = string(props.Priority) } - d.Set("priority", string(priority)) + d.Set("priority", priority) proximityPlacementGroupId := "" if props.ProximityPlacementGroup != nil && props.ProximityPlacementGroup.ID != nil { proximityPlacementGroupId = *props.ProximityPlacementGroup.ID diff --git a/azurerm/internal/services/compute/windows_virtual_machine_resource.go b/azurerm/internal/services/compute/windows_virtual_machine_resource.go index 2b2c8dd404b8..dcc53bb5ba8a 100644 --- a/azurerm/internal/services/compute/windows_virtual_machine_resource.go +++ b/azurerm/internal/services/compute/windows_virtual_machine_resource.go @@ -592,8 +592,13 @@ func resourceWindowsVirtualMachineRead(d *schema.ResourceData, meta interface{}) return fmt.Errorf("Error setting `secret`: %+v", err) } } - - d.Set("priority", string(props.Priority)) + // Resources created with azurerm_virtual_machine have priority set to "" + // We need to treat "" as equal to "Regular" to allow migration azurerm_virtual_machine -> azurerm_linux_virtual_machine + priority := string(compute.Regular) + if props.Priority != "" { + priority = string(props.Priority) + } + d.Set("priority", priority) proximityPlacementGroupId := "" if props.ProximityPlacementGroup != nil && props.ProximityPlacementGroup.ID != nil { proximityPlacementGroupId = *props.ProximityPlacementGroup.ID