120 lines
2.4 KiB
HCL
120 lines
2.4 KiB
HCL
variable "pm_api_url" {
|
|
description = "Proxmox API URL"
|
|
type = string
|
|
default = "https://192.168.7.33:8006/api2/json"
|
|
}
|
|
|
|
variable "pm_api_token_id" {
|
|
description = "Proxmox API token ID"
|
|
type = string
|
|
default = "root@pam!terraform"
|
|
}
|
|
|
|
variable "pm_api_token_secret" {
|
|
description = "Proxmox API token secret"
|
|
type = string
|
|
sensitive = true
|
|
}
|
|
|
|
variable "node" {
|
|
description = "Target PVE node"
|
|
type = string
|
|
default = "mk33"
|
|
}
|
|
|
|
variable "vmid_base" {
|
|
description = "Starting VMID for the first VM"
|
|
type = number
|
|
default = 3034
|
|
}
|
|
|
|
variable "vm_count" {
|
|
description = "Number of VMs to create"
|
|
type = number
|
|
default = 3
|
|
}
|
|
|
|
variable "name_prefix" {
|
|
description = "Hostname prefix for VMs"
|
|
type = string
|
|
default = "vm"
|
|
}
|
|
|
|
variable "name_suffixes" {
|
|
description = "Per-VM name suffixes (artemis, jarvis, friday)"
|
|
type = list(string)
|
|
default = ["artemis", "jarvis", "friday"]
|
|
}
|
|
|
|
variable "subnet_prefix" {
|
|
description = "First two octets of IPv4"
|
|
type = string
|
|
default = "192.168"
|
|
}
|
|
|
|
variable "cores" {
|
|
description = "CPU cores per VM"
|
|
type = number
|
|
default = 2
|
|
}
|
|
|
|
variable "memory" {
|
|
description = "RAM in MB per VM"
|
|
type = number
|
|
default = 4096
|
|
}
|
|
|
|
variable "disk_size" {
|
|
description = "Disk size in GB"
|
|
type = number
|
|
default = 64
|
|
}
|
|
|
|
variable "storage" {
|
|
description = "Storage pool for VM disk"
|
|
type = string
|
|
default = "local"
|
|
}
|
|
|
|
variable "bridge" {
|
|
description = "Network bridge"
|
|
type = string
|
|
default = "vmbr0"
|
|
}
|
|
|
|
variable "gateway" {
|
|
description = "IPv4 gateway"
|
|
type = string
|
|
default = "192.168.18.1"
|
|
}
|
|
|
|
variable "dns_servers" {
|
|
description = "DNS servers"
|
|
type = list(string)
|
|
default = ["192.168.7.7", "1.1.1.1"]
|
|
}
|
|
|
|
variable "ssh_key_path" {
|
|
description = "Path to SSH public key for jarvis user"
|
|
type = string
|
|
default = "artemis_key.pub"
|
|
}
|
|
|
|
variable "cloud_image_id" {
|
|
description = "Cloud-init image file ID on storage (storage:path)"
|
|
type = string
|
|
default = "local:iso/noble-server-cloudimg-amd64.img"
|
|
}
|
|
|
|
variable "cloudinit_storage" {
|
|
description = "Storage pool for cloud-init drive"
|
|
type = string
|
|
default = "local"
|
|
}
|
|
|
|
variable "tags" {
|
|
description = "Base tags for all VMs"
|
|
type = list(string)
|
|
default = ["terraform", "cloudinit-vm"]
|
|
}
|