From 51a71b44e38f5924665cab86681c763690003741 Mon Sep 17 00:00:00 2001 From: Lucas Hahn Date: Fri, 17 Apr 2020 11:50:14 +0200 Subject: [PATCH] added check for update disks --- proxmoxtf/resource_virtual_environment_vm.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/proxmoxtf/resource_virtual_environment_vm.go b/proxmoxtf/resource_virtual_environment_vm.go index 37e58b8d..378a1feb 100644 --- a/proxmoxtf/resource_virtual_environment_vm.go +++ b/proxmoxtf/resource_virtual_environment_vm.go @@ -3515,7 +3515,12 @@ func resourceVirtualEnvironmentVMUpdateDiskLocationAndSize(d *schema.ResourceDat diskNewBlock := diskNewEntries[i].(map[string]interface{}) diskOldDatastoreID := diskOldBlock[mkResourceVirtualEnvironmentVMDiskDatastoreID].(string) - diskOldName := diskOldBlock[mkResourcevirtualEnvironmentVMDiskInterface].(string) + diskOldInterface := diskOldBlock[mkResourcevirtualEnvironmentVMDiskInterface].(string) + diskNewInterface := diskNewBlock[mkResourcevirtualEnvironmentVMDiskInterface].(string) + + if diskNewInterface != diskOldInterface { + return fmt.Errorf("Alteration of disk interface is not supported. Old Interface was %s", diskOldInterface) + } diskNewDatastoreID := diskNewBlock[mkResourceVirtualEnvironmentVMDiskDatastoreID].(string) @@ -3524,7 +3529,7 @@ func resourceVirtualEnvironmentVMUpdateDiskLocationAndSize(d *schema.ResourceDat diskMoveBodies = append(diskMoveBodies, &proxmox.VirtualEnvironmentVMMoveDiskRequestBody{ DeleteOriginalDisk: &deleteOriginalDisk, - Disk: diskOldName, + Disk: diskOldInterface, TargetStorage: diskNewDatastoreID, }) } @@ -3532,9 +3537,9 @@ func resourceVirtualEnvironmentVMUpdateDiskLocationAndSize(d *schema.ResourceDat diskOldSize := diskOldBlock[mkResourceVirtualEnvironmentVMDiskSize].(int) diskNewSize := diskNewBlock[mkResourceVirtualEnvironmentVMDiskSize].(int) - if diskOldSize != diskNewSize { + if diskOldSize <= diskNewSize { diskResizeBodies = append(diskResizeBodies, &proxmox.VirtualEnvironmentVMResizeDiskRequestBody{ - Disk: diskOldName, + Disk: diskOldInterface, Size: fmt.Sprintf("%dG", diskNewSize), }) }