mirror of
https://github.com/bpg/terraform-provider-proxmox.git
synced 2025-07-05 13:33:58 +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:
commit
eb06704896
@ -30,6 +30,7 @@ const (
|
|||||||
dvResourceVirtualEnvironmentVMCDROMFileID = ""
|
dvResourceVirtualEnvironmentVMCDROMFileID = ""
|
||||||
dvResourceVirtualEnvironmentVMCloneDatastoreID = ""
|
dvResourceVirtualEnvironmentVMCloneDatastoreID = ""
|
||||||
dvResourceVirtualEnvironmentVMCloneNodeName = ""
|
dvResourceVirtualEnvironmentVMCloneNodeName = ""
|
||||||
|
dvResourceVirtualEnvironmentVMCloneFull = true
|
||||||
dvResourceVirtualEnvironmentVMCPUArchitecture = "x86_64"
|
dvResourceVirtualEnvironmentVMCPUArchitecture = "x86_64"
|
||||||
dvResourceVirtualEnvironmentVMCPUCores = 1
|
dvResourceVirtualEnvironmentVMCPUCores = 1
|
||||||
dvResourceVirtualEnvironmentVMCPUHotplugged = 0
|
dvResourceVirtualEnvironmentVMCPUHotplugged = 0
|
||||||
@ -98,6 +99,7 @@ const (
|
|||||||
mkResourceVirtualEnvironmentVMCloneDatastoreID = "datastore_id"
|
mkResourceVirtualEnvironmentVMCloneDatastoreID = "datastore_id"
|
||||||
mkResourceVirtualEnvironmentVMCloneNodeName = "node_name"
|
mkResourceVirtualEnvironmentVMCloneNodeName = "node_name"
|
||||||
mkResourceVirtualEnvironmentVMCloneVMID = "vm_id"
|
mkResourceVirtualEnvironmentVMCloneVMID = "vm_id"
|
||||||
|
mkResourceVirtualEnvironmentVMCloneFull = "full"
|
||||||
mkResourceVirtualEnvironmentVMCPU = "cpu"
|
mkResourceVirtualEnvironmentVMCPU = "cpu"
|
||||||
mkResourceVirtualEnvironmentVMCPUArchitecture = "architecture"
|
mkResourceVirtualEnvironmentVMCPUArchitecture = "architecture"
|
||||||
mkResourceVirtualEnvironmentVMCPUCores = "cores"
|
mkResourceVirtualEnvironmentVMCPUCores = "cores"
|
||||||
@ -326,6 +328,13 @@ func resourceVirtualEnvironmentVM() *schema.Resource {
|
|||||||
ForceNew: true,
|
ForceNew: true,
|
||||||
ValidateFunc: getVMIDValidator(),
|
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,
|
MaxItems: 1,
|
||||||
@ -973,6 +982,7 @@ func resourceVirtualEnvironmentVMCreateClone(d *schema.ResourceData, m interface
|
|||||||
cloneDatastoreID := cloneBlock[mkResourceVirtualEnvironmentVMCloneDatastoreID].(string)
|
cloneDatastoreID := cloneBlock[mkResourceVirtualEnvironmentVMCloneDatastoreID].(string)
|
||||||
cloneNodeName := cloneBlock[mkResourceVirtualEnvironmentVMCloneNodeName].(string)
|
cloneNodeName := cloneBlock[mkResourceVirtualEnvironmentVMCloneNodeName].(string)
|
||||||
cloneVMID := cloneBlock[mkResourceVirtualEnvironmentVMCloneVMID].(int)
|
cloneVMID := cloneBlock[mkResourceVirtualEnvironmentVMCloneVMID].(int)
|
||||||
|
cloneFull := cloneBlock[mkResourceVirtualEnvironmentVMCloneFull].(bool)
|
||||||
|
|
||||||
description := d.Get(mkResourceVirtualEnvironmentVMDescription).(string)
|
description := d.Get(mkResourceVirtualEnvironmentVMDescription).(string)
|
||||||
name := d.Get(mkResourceVirtualEnvironmentVMName).(string)
|
name := d.Get(mkResourceVirtualEnvironmentVMName).(string)
|
||||||
@ -990,7 +1000,7 @@ func resourceVirtualEnvironmentVMCreateClone(d *schema.ResourceData, m interface
|
|||||||
vmID = *vmIDNew
|
vmID = *vmIDNew
|
||||||
}
|
}
|
||||||
|
|
||||||
fullCopy := proxmox.CustomBool(true)
|
fullCopy := proxmox.CustomBool(cloneFull)
|
||||||
|
|
||||||
cloneBody := &proxmox.VirtualEnvironmentVMCloneRequestBody{
|
cloneBody := &proxmox.VirtualEnvironmentVMCloneRequestBody{
|
||||||
FullCopy: &fullCopy,
|
FullCopy: &fullCopy,
|
||||||
|
Loading…
Reference in New Issue
Block a user