0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-07-05 05:24:01 +00:00

Merge pull request #12 from Wombelix/vm-create-linked-clone

Parameter added to define if a Full or Linked Clone should be created
This commit is contained in:
Dan R. Petersen 2020-10-25 23:15:11 +01:00 committed by GitHub
commit eb06704896
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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,