From 7883dfdb7e0e91a0a52dafa9996a42b499ad070f Mon Sep 17 00:00:00 2001 From: Lucas Hahn Date: Mon, 6 Jul 2020 15:54:00 +0200 Subject: [PATCH] introduce onBoot parameter --- proxmoxtf/resource_virtual_environment_vm.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/proxmoxtf/resource_virtual_environment_vm.go b/proxmoxtf/resource_virtual_environment_vm.go index e389d78b..59201db4 100644 --- a/proxmoxtf/resource_virtual_environment_vm.go +++ b/proxmoxtf/resource_virtual_environment_vm.go @@ -19,6 +19,7 @@ import ( const ( dvResourceVirtualEnvironmentVMRebootAfterCreation = false + dvResourceVirtualEnvironmentVMOnBoot = false dvResourceVirtualEnvironmentVMACPI = true dvResourceVirtualEnvironmentVMAgentEnabled = false dvResourceVirtualEnvironmentVMAgentTimeout = "15m" @@ -86,6 +87,7 @@ const ( maxResourceVirtualEnvironmentVMSerialDevices = 4 mkResourceVirtualEnvironmentVMRebootAfterCreation = "reboot" + mkResourceVirtualEnvironmentVMOnBoot = "on_boot" mkResourceVirtualEnvironmentVMACPI = "acpi" mkResourceVirtualEnvironmentVMAgent = "agent" mkResourceVirtualEnvironmentVMAgentEnabled = "enabled" @@ -185,6 +187,12 @@ func resourceVirtualEnvironmentVM() *schema.Resource { Optional: true, Default: dvResourceVirtualEnvironmentVMRebootAfterCreation, }, + mkResourceVirtualEnvironmentVMOnBoot: { + Type: schema.TypeBool, + Description: "Start VM on Node boot", + Optional: true, + Default: dvResourceVirtualEnvironmentVMOnBoot, + }, mkResourceVirtualEnvironmentVMACPI: { Type: schema.TypeBool, Description: "Whether to enable ACPI", @@ -1087,7 +1095,7 @@ func resourceVirtualEnvironmentVMCreateClone(d *schema.ResourceData, m interface networkDevice := d.Get(mkResourceVirtualEnvironmentVMNetworkDevice).([]interface{}) operatingSystem := d.Get(mkResourceVirtualEnvironmentVMOperatingSystem).([]interface{}) serialDevice := d.Get(mkResourceVirtualEnvironmentVMSerialDevice).([]interface{}) - started := proxmox.CustomBool(d.Get(mkResourceVirtualEnvironmentVMStarted).(bool)) + onBoot := proxmox.CustomBool(d.Get(mkResourceVirtualEnvironmentVMOnBoot).(bool)) tabletDevice := proxmox.CustomBool(d.Get(mkResourceVirtualEnvironmentVMTabletDevice).(bool)) template := proxmox.CustomBool(d.Get(mkResourceVirtualEnvironmentVMTemplate).(bool)) vga := d.Get(mkResourceVirtualEnvironmentVMVGA).([]interface{}) @@ -1284,9 +1292,7 @@ func resourceVirtualEnvironmentVMCreateClone(d *schema.ResourceData, m interface } } - if started != dvResourceVirtualEnvironmentVMStarted { - updateBody.StartOnBoot = &started - } + updateBody.StartOnBoot = &onBoot if tabletDevice != dvResourceVirtualEnvironmentVMTabletDevice { updateBody.TabletDeviceEnabled = &tabletDevice @@ -1507,7 +1513,7 @@ func resourceVirtualEnvironmentVMCreateCustom(d *schema.ResourceData, m interfac return err } - started := proxmox.CustomBool(d.Get(mkResourceVirtualEnvironmentVMStarted).(bool)) + onBoot := proxmox.CustomBool(d.Get(mkResourceVirtualEnvironmentVMOnBoot).(bool)) tabletDevice := proxmox.CustomBool(d.Get(mkResourceVirtualEnvironmentVMTabletDevice).(bool)) template := proxmox.CustomBool(d.Get(mkResourceVirtualEnvironmentVMTemplate).(bool)) @@ -1603,7 +1609,7 @@ func resourceVirtualEnvironmentVMCreateCustom(d *schema.ResourceData, m interfac SCSIHardware: &scsiHardware, SerialDevices: serialDevices, SharedMemory: memorySharedObject, - StartOnBoot: &started, + StartOnBoot: &onBoot, TabletDeviceEnabled: &tabletDevice, Template: &template, VGADevice: vgaDevice,