arvandor/terraform/modules/vm/variables.tf

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"
}