boma/terraform/modules/proxmox_vm/main.tf
sjat 9a8181ef18 Add Terraform VM-provisioning skeleton
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 14:10:01 +02:00

66 lines
1.1 KiB
HCL

resource "proxmox_virtual_environment_vm" "this" {
name = var.vm_name
node_name = var.target_node
tags = var.tags
clone {
vm_id = var.clone_template_id
full = true
}
agent {
enabled = true
}
cpu {
cores = var.cores
type = "x86-64-v2-AES"
}
memory {
dedicated = var.memory_mb
}
disk {
datastore_id = var.datastore_id
interface = "scsi0"
size = var.disk_size_gb
file_format = "raw"
discard = "on"
lifecycle {
# Proxmox disallows disk shrinks; ignore if disk was grown outside Terraform.
ignore_changes = [size]
}
}
network_device {
bridge = "vmbr0"
vlan_id = var.vlan_tag
}
initialization {
datastore_id = var.datastore_id
ip_config {
ipv4 {
address = var.ip_address
gateway = var.gateway
}
}
dns {
domain = var.dns_domain
servers = var.dns_servers
}
user_account {
username = "ansible"
keys = var.ssh_public_keys
}
}
operating_system {
type = "l26"
}
}