diff --git a/proxmoxtf/resource_virtual_environment_vm.go b/proxmoxtf/resource_virtual_environment_vm.go index 54152085..d40eac09 100644 --- a/proxmoxtf/resource_virtual_environment_vm.go +++ b/proxmoxtf/resource_virtual_environment_vm.go @@ -30,6 +30,7 @@ const ( dvResourceVirtualEnvironmentVMCDROMFileID = "" dvResourceVirtualEnvironmentVMCloneDatastoreID = "" dvResourceVirtualEnvironmentVMCloneNodeName = "" + dvResourceVirtualEnvironmentVMCloneFull = true dvResourceVirtualEnvironmentVMCPUArchitecture = "x86_64" dvResourceVirtualEnvironmentVMCPUCores = 1 dvResourceVirtualEnvironmentVMCPUHotplugged = 0 @@ -98,6 +99,7 @@ const ( mkResourceVirtualEnvironmentVMCloneDatastoreID = "datastore_id" mkResourceVirtualEnvironmentVMCloneNodeName = "node_name" mkResourceVirtualEnvironmentVMCloneVMID = "vm_id" + mkResourceVirtualEnvironmentVMCloneFull = "full" mkResourceVirtualEnvironmentVMCPU = "cpu" mkResourceVirtualEnvironmentVMCPUArchitecture = "architecture" mkResourceVirtualEnvironmentVMCPUCores = "cores" @@ -326,6 +328,13 @@ func resourceVirtualEnvironmentVM() *schema.Resource { ForceNew: true, ValidateFunc: getVMIDValidator(), }, + mkResourceVirtualEnvironmentVMCloneFull: { + Type: schema.TypeBool, + Description: "The Clone Type, create a Full Clone (true) or a linked Clone (false)", + Optional: true, + ForceNew: true, + Default: dvResourceVirtualEnvironmentVMCloneFull, + }, }, }, MaxItems: 1, @@ -973,6 +982,7 @@ func resourceVirtualEnvironmentVMCreateClone(d *schema.ResourceData, m interface cloneDatastoreID := cloneBlock[mkResourceVirtualEnvironmentVMCloneDatastoreID].(string) cloneNodeName := cloneBlock[mkResourceVirtualEnvironmentVMCloneNodeName].(string) cloneVMID := cloneBlock[mkResourceVirtualEnvironmentVMCloneVMID].(int) + cloneFull := cloneBlock[mkResourceVirtualEnvironmentVMCloneFull].(bool) description := d.Get(mkResourceVirtualEnvironmentVMDescription).(string) name := d.Get(mkResourceVirtualEnvironmentVMName).(string) @@ -990,7 +1000,7 @@ func resourceVirtualEnvironmentVMCreateClone(d *schema.ResourceData, m interface vmID = *vmIDNew } - fullCopy := proxmox.CustomBool(true) + fullCopy := proxmox.CustomBool(cloneFull) cloneBody := &proxmox.VirtualEnvironmentVMCloneRequestBody{ FullCopy: &fullCopy,