mirror of
https://github.com/letic/terraform-provider-proxmox.git
synced 2024-07-01 07:02:40 +00:00
Merge remote-tracking branch 'upstream/master' into feature/cpu
This commit is contained in:
commit
322ba756da
10
README.md
10
README.md
|
@ -123,6 +123,10 @@ resource "proxmox_vm_qemu" "prepprovision-test" {
|
||||||
sockets = 1
|
sockets = 1
|
||||||
memory = 2560
|
memory = 2560
|
||||||
scsihw = "lsi"
|
scsihw = "lsi"
|
||||||
|
# Boot from hard disk (c), CD-ROM (d), network (n)
|
||||||
|
boot = "cdn"
|
||||||
|
# Default boot disk
|
||||||
|
bootdisk = "virtio0"
|
||||||
network {
|
network {
|
||||||
id = 0
|
id = 0
|
||||||
model = "virtio"
|
model = "virtio"
|
||||||
|
@ -140,6 +144,12 @@ resource "proxmox_vm_qemu" "prepprovision-test" {
|
||||||
size = 4G
|
size = 4G
|
||||||
backup = true
|
backup = true
|
||||||
}
|
}
|
||||||
|
# Serial interface of type socket is used by xterm.js
|
||||||
|
# You will need to configure your guest system before being able to use it
|
||||||
|
serial {
|
||||||
|
id = 0
|
||||||
|
type = "socket"
|
||||||
|
}
|
||||||
preprovision = true
|
preprovision = true
|
||||||
ssh_forward_ip = "10.0.0.1"
|
ssh_forward_ip = "10.0.0.1"
|
||||||
ssh_user = "terraform"
|
ssh_user = "terraform"
|
||||||
|
|
|
@ -289,6 +289,22 @@ func resourceVmQemu() *schema.Resource {
|
||||||
return strings.TrimSpace(old) == strings.TrimSpace(new)
|
return strings.TrimSpace(old) == strings.TrimSpace(new)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"serial": &schema.Schema{
|
||||||
|
Type: schema.TypeSet,
|
||||||
|
Optional: true,
|
||||||
|
Elem: &schema.Resource{
|
||||||
|
Schema: map[string]*schema.Schema{
|
||||||
|
"id": &schema.Schema{
|
||||||
|
Type: schema.TypeInt,
|
||||||
|
Required: true,
|
||||||
|
},
|
||||||
|
"type": &schema.Schema{
|
||||||
|
Type: schema.TypeString,
|
||||||
|
Required: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
"os_type": {
|
"os_type": {
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Optional: true,
|
Optional: true,
|
||||||
|
@ -390,6 +406,8 @@ func resourceVmQemuCreate(d *schema.ResourceData, meta interface{}) error {
|
||||||
qemuNetworks := DevicesSetToMap(networks)
|
qemuNetworks := DevicesSetToMap(networks)
|
||||||
disks := d.Get("disk").(*schema.Set)
|
disks := d.Get("disk").(*schema.Set)
|
||||||
qemuDisks := DevicesSetToMap(disks)
|
qemuDisks := DevicesSetToMap(disks)
|
||||||
|
serials := d.Get("serial").(*schema.Set)
|
||||||
|
qemuSerials := DevicesSetToMap(serials)
|
||||||
|
|
||||||
config := pxapi.ConfigQemu{
|
config := pxapi.ConfigQemu{
|
||||||
Name: vmName,
|
Name: vmName,
|
||||||
|
@ -408,6 +426,7 @@ func resourceVmQemuCreate(d *schema.ResourceData, meta interface{}) error {
|
||||||
QemuOs: d.Get("qemu_os").(string),
|
QemuOs: d.Get("qemu_os").(string),
|
||||||
QemuNetworks: qemuNetworks,
|
QemuNetworks: qemuNetworks,
|
||||||
QemuDisks: qemuDisks,
|
QemuDisks: qemuDisks,
|
||||||
|
QemuSerials: qemuSerials,
|
||||||
// Cloud-init.
|
// Cloud-init.
|
||||||
CIuser: d.Get("ciuser").(string),
|
CIuser: d.Get("ciuser").(string),
|
||||||
CIpassword: d.Get("cipassword").(string),
|
CIpassword: d.Get("cipassword").(string),
|
||||||
|
@ -552,6 +571,8 @@ func resourceVmQemuUpdate(d *schema.ResourceData, meta interface{}) error {
|
||||||
qemuDisks := DevicesSetToMap(configDisksSet)
|
qemuDisks := DevicesSetToMap(configDisksSet)
|
||||||
configNetworksSet := d.Get("network").(*schema.Set)
|
configNetworksSet := d.Get("network").(*schema.Set)
|
||||||
qemuNetworks := DevicesSetToMap(configNetworksSet)
|
qemuNetworks := DevicesSetToMap(configNetworksSet)
|
||||||
|
serials := d.Get("serial").(*schema.Set)
|
||||||
|
qemuSerials := DevicesSetToMap(serials)
|
||||||
|
|
||||||
config := pxapi.ConfigQemu{
|
config := pxapi.ConfigQemu{
|
||||||
Name: d.Get("name").(string),
|
Name: d.Get("name").(string),
|
||||||
|
@ -570,6 +591,7 @@ func resourceVmQemuUpdate(d *schema.ResourceData, meta interface{}) error {
|
||||||
QemuOs: d.Get("qemu_os").(string),
|
QemuOs: d.Get("qemu_os").(string),
|
||||||
QemuNetworks: qemuNetworks,
|
QemuNetworks: qemuNetworks,
|
||||||
QemuDisks: qemuDisks,
|
QemuDisks: qemuDisks,
|
||||||
|
QemuSerials: qemuSerials,
|
||||||
// Cloud-init.
|
// Cloud-init.
|
||||||
CIuser: d.Get("ciuser").(string),
|
CIuser: d.Get("ciuser").(string),
|
||||||
CIpassword: d.Get("cipassword").(string),
|
CIpassword: d.Get("cipassword").(string),
|
||||||
|
@ -688,6 +710,10 @@ func resourceVmQemuRead(d *schema.ResourceData, meta interface{}) error {
|
||||||
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())
|
d.Set("pool", vmr.Pool())
|
||||||
|
//Serials
|
||||||
|
configSerialsSet := d.Get("serial").(*schema.Set)
|
||||||
|
activeSerialSet := UpdateDevicesSet(configSerialsSet, config.QemuSerials)
|
||||||
|
d.Set("serial", activeSerialSet)
|
||||||
|
|
||||||
pmParallelEnd(pconf)
|
pmParallelEnd(pconf)
|
||||||
return nil
|
return nil
|
||||||
|
|
Loading…
Reference in New Issue
Block a user