66 lines
1.1 KiB
HCL
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"
|
|
}
|
|
}
|