117 lines
2.3 KiB
HCL
117 lines
2.3 KiB
HCL
variable "name" {
|
|
type = string
|
|
description = "VM name"
|
|
}
|
|
|
|
variable "os_type" {
|
|
type = string
|
|
default = "linux"
|
|
description = "OS type: linux or windows"
|
|
}
|
|
|
|
variable "vmid" {
|
|
type = number
|
|
description = "Proxmox VM ID"
|
|
}
|
|
|
|
variable "node_name" {
|
|
type = string
|
|
description = "Proxmox node name"
|
|
}
|
|
|
|
variable "bridge_ip" {
|
|
type = string
|
|
description = "IP address on bridge network (without CIDR)"
|
|
}
|
|
|
|
variable "gateway" {
|
|
type = string
|
|
default = "192.168.100.1"
|
|
description = "Gateway IP address"
|
|
}
|
|
|
|
variable "network_bridge" {
|
|
type = string
|
|
default = "vmbr1"
|
|
description = "Network bridge name"
|
|
}
|
|
|
|
variable "datastore_id" {
|
|
type = string
|
|
default = "local-zfs"
|
|
description = "Proxmox datastore for disks"
|
|
}
|
|
|
|
variable "cores" {
|
|
type = number
|
|
default = 1
|
|
description = "Number of CPU cores"
|
|
}
|
|
|
|
variable "memory" {
|
|
type = number
|
|
default = 2048
|
|
description = "Memory in MB"
|
|
}
|
|
|
|
variable "memory_floating" {
|
|
type = number
|
|
default = null
|
|
description = "Floating memory (ballooning) in MB"
|
|
}
|
|
|
|
variable "disk_size" {
|
|
type = number
|
|
default = 50
|
|
description = "Disk size in GB"
|
|
}
|
|
|
|
variable "clone_vmid" {
|
|
type = number
|
|
default = 9000
|
|
description = "Template VM ID to clone from"
|
|
}
|
|
|
|
variable "username" {
|
|
type = string
|
|
default = null
|
|
description = "VM user account name (Linux only, cloud-init)"
|
|
}
|
|
|
|
variable "password" {
|
|
type = string
|
|
default = null
|
|
sensitive = true
|
|
description = "VM user account password (Linux only, cloud-init)"
|
|
}
|
|
|
|
variable "ssh_key_path" {
|
|
type = string
|
|
default = null
|
|
description = "Path to SSH public key file (Linux only, cloud-init)"
|
|
}
|
|
|
|
variable "firewall_enabled" {
|
|
type = bool
|
|
default = true
|
|
description = "Enable Proxmox firewall for this VM"
|
|
}
|
|
|
|
variable "firewall_security_group" {
|
|
type = string
|
|
default = "base-egress"
|
|
description = "Security group to assign (base-egress, infrastructure, restricted)"
|
|
}
|
|
|
|
variable "firewall_input_policy" {
|
|
type = string
|
|
default = "DROP"
|
|
description = "Default policy for inbound traffic"
|
|
}
|
|
|
|
variable "firewall_output_policy" {
|
|
type = string
|
|
default = "DROP"
|
|
description = "Default policy for outbound traffic"
|
|
}
|