mirror of
https://github.com/letic/terraform-provider-proxmox.git
synced 2024-10-03 01:01:05 +00:00
Merge pull request #67 from in0rdr/feature/pool
Support setting pool for new VMs and clones (cloud-init)
This commit is contained in:
commit
8ef7113418
@ -68,6 +68,10 @@ resource "proxmox_vm_qemu" "cloudinit-test" {
|
|||||||
target_node = "proxmox1-xx"
|
target_node = "proxmox1-xx"
|
||||||
|
|
||||||
clone = "ci-ubuntu-template"
|
clone = "ci-ubuntu-template"
|
||||||
|
|
||||||
|
# The destination resource pool for the new VM
|
||||||
|
pool = "pool0"
|
||||||
|
|
||||||
storage = "local"
|
storage = "local"
|
||||||
cores = 3
|
cores = 3
|
||||||
sockets = 1
|
sockets = 1
|
||||||
@ -105,6 +109,10 @@ resource "proxmox_vm_qemu" "prepprovision-test" {
|
|||||||
target_node = "proxmox1-xx"
|
target_node = "proxmox1-xx"
|
||||||
|
|
||||||
clone = "terraform-ubuntu1404-template"
|
clone = "terraform-ubuntu1404-template"
|
||||||
|
|
||||||
|
# The destination resource pool for the new VM
|
||||||
|
pool = "pool0"
|
||||||
|
|
||||||
cores = 3
|
cores = 3
|
||||||
sockets = 1
|
sockets = 1
|
||||||
memory = 2560
|
memory = 2560
|
||||||
|
@ -13,6 +13,9 @@ resource "proxmox_vm_qemu" "cloudinit-test" {
|
|||||||
# this might not include the FQDN
|
# this might not include the FQDN
|
||||||
target_node = "proxmox-server02"
|
target_node = "proxmox-server02"
|
||||||
|
|
||||||
|
# The destination resource pool for the new VM
|
||||||
|
pool = "pool0"
|
||||||
|
|
||||||
# The template name to clone this vm from
|
# The template name to clone this vm from
|
||||||
clone = "linux-cloudinit-template"
|
clone = "linux-cloudinit-template"
|
||||||
|
|
||||||
|
@ -342,6 +342,10 @@ func resourceVmQemu() *schema.Resource {
|
|||||||
Default: true,
|
Default: true,
|
||||||
ConflictsWith: []string{"ssh_forward_ip", "ssh_user", "ssh_private_key", "os_type", "os_network_config"},
|
ConflictsWith: []string{"ssh_forward_ip", "ssh_user", "ssh_private_key", "os_type", "os_network_config"},
|
||||||
},
|
},
|
||||||
|
"pool": {
|
||||||
|
Type: schema.TypeString,
|
||||||
|
Optional: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -391,6 +395,7 @@ func resourceVmQemuCreate(d *schema.ResourceData, meta interface{}) error {
|
|||||||
|
|
||||||
forceCreate := d.Get("force_create").(bool)
|
forceCreate := d.Get("force_create").(bool)
|
||||||
targetNode := d.Get("target_node").(string)
|
targetNode := d.Get("target_node").(string)
|
||||||
|
pool := d.Get("pool").(string)
|
||||||
|
|
||||||
if dupVmr != nil && forceCreate {
|
if dupVmr != nil && forceCreate {
|
||||||
pmParallelEnd(pconf)
|
pmParallelEnd(pconf)
|
||||||
@ -411,7 +416,12 @@ func resourceVmQemuCreate(d *schema.ResourceData, meta interface{}) error {
|
|||||||
}
|
}
|
||||||
vmr = pxapi.NewVmRef(nextid)
|
vmr = pxapi.NewVmRef(nextid)
|
||||||
|
|
||||||
|
// set target node and pool
|
||||||
vmr.SetNode(targetNode)
|
vmr.SetNode(targetNode)
|
||||||
|
if pool != "" {
|
||||||
|
vmr.SetPool(pool)
|
||||||
|
}
|
||||||
|
|
||||||
// check if ISO or clone
|
// check if ISO or clone
|
||||||
if d.Get("clone").(string) != "" {
|
if d.Get("clone").(string) != "" {
|
||||||
sourceVmr, err := client.GetVmRefByName(d.Get("clone").(string))
|
sourceVmr, err := client.GetVmRefByName(d.Get("clone").(string))
|
||||||
@ -630,6 +640,7 @@ func resourceVmQemuRead(d *schema.ResourceData, meta interface{}) error {
|
|||||||
d.Set("bridge", config.QemuBrige)
|
d.Set("bridge", config.QemuBrige)
|
||||||
d.Set("vlan", config.QemuVlanTag)
|
d.Set("vlan", config.QemuVlanTag)
|
||||||
d.Set("mac", config.QemuMacAddr)
|
d.Set("mac", config.QemuMacAddr)
|
||||||
|
d.Set("pool", vmr.Pool())
|
||||||
|
|
||||||
pmParallelEnd(pconf)
|
pmParallelEnd(pconf)
|
||||||
return nil
|
return nil
|
||||||
|
Loading…
Reference in New Issue
Block a user