nix-config/terraform/busch/modules/proxmox-vm/main.tf
JuliusFreudenberger 62334a00dd Add terraform module
Terraform is used to manage the VMs on the Proxmox host `busch`.
2026-03-29 21:12:46 +02:00

66 lines
1.2 KiB
HCL

terraform {
required_providers {
proxmox = {
source = "telmate/proxmox"
version = "3.0.2-rc07"
}
}
}
resource "proxmox_vm_qemu" "truenas" {
name = var.name
description = var.description
target_node = var.target_node
vmid = var.vmid
machine = length(var.mapped_pcie_devices) == 0 ? "pc" : "q35"
memory = var.memory
balloon = 1024
scsihw = "virtio-scsi-pci"
boot = "order=scsi0;ide0"
start_at_node_boot = true
cpu {
cores = var.cpu_cores
sockets = 1
}
disks {
scsi {
scsi0 {
disk {
storage = var.disk_storage
size = var.disk_size
}
}
}
ide {
ide0 {
cdrom {
iso = var.iso_path
}
}
}
}
network {
id = 0
bridge = "vmbr0"
model = "virtio"
}
dynamic "pci" {
for_each = { for device in var.mapped_pcie_devices : index(var.mapped_pcie_devices, device) => device }
content {
id = pci.key
mapping_id = pci.value
pcie = true
}
}
startup_shutdown {
order = var.startup_order
startup_delay = var.startup_delay
}
}