From 0281bc83e2d64fdfe2782feb6f21395706dbcc32 Mon Sep 17 00:00:00 2001 From: Pavel Boldyrev <627562+bpg@users.noreply.github.com> Date: Sun, 16 Jul 2023 14:12:17 -0400 Subject: [PATCH] fix(vm): do not reboot VM on config change if it is not running (#430) --- proxmoxtf/resource/vm.go | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/proxmoxtf/resource/vm.go b/proxmoxtf/resource/vm.go index 6128cc9d..58a7a2bb 100644 --- a/proxmoxtf/resource/vm.go +++ b/proxmoxtf/resource/vm.go @@ -5035,18 +5035,25 @@ func vmUpdateDiskLocationAndSize( // Perform a regular reboot in case it's necessary and haven't already been done. if reboot { - rebootTimeout := d.Get(mkResourceVirtualEnvironmentVMTimeoutReboot).(int) - - err := vmAPI.RebootVM( - ctx, - &vms.RebootRequestBody{ - Timeout: &rebootTimeout, - }, - rebootTimeout+30, - ) + vmStatus, err := vmAPI.GetVMStatus(ctx) if err != nil { return diag.FromErr(err) } + + if vmStatus.Status != "stopped" { + rebootTimeout := d.Get(mkResourceVirtualEnvironmentVMTimeoutReboot).(int) + + err := vmAPI.RebootVM( + ctx, + &vms.RebootRequestBody{ + Timeout: &rebootTimeout, + }, + rebootTimeout+30, + ) + if err != nil { + return diag.FromErr(err) + } + } } return vmRead(ctx, d, m)