terraform { required_providers { proxmox = { source = "bpg/proxmox" version = "0.70.0" } } } resource "proxmox_virtual_environment_container" "this" { node_name = var.node vm_id = var.vmid unprivileged = var.unprivileged description = "Terraform batch LXC — ${var.hostname}" cpu { cores = var.cores } memory { dedicated = var.memory } disk { datastore_id = var.storage size = var.rootfs_size } network_interface { name = "eth0" bridge = "vmbr0" } dynamic "features" { for_each = var.unprivileged ? [1] : [] content { nesting = true } } dynamic "device_passthrough" { for_each = var.devices content { path = device_passthrough.value.path mode = device_passthrough.value.mode uid = device_passthrough.value.uid gid = device_passthrough.value.gid deny_write = device_passthrough.value.deny_write } } initialization { hostname = var.hostname dns { servers = var.dns_servers } ip_config { ipv4 { address = var.ipv4 gateway = var.gateway } } user_account { keys = [file(var.ssh_key_path)] password = var.password } } operating_system { template_file_id = var.template_file_id type = "debian" } tags = var.tags }