Files
terraform-modules/lawndale-vm/variables.tf

135 lines
2.9 KiB
HCL

variable "id" {
type = number
description = "The lawndale id of the virtual machine"
}
variable "name" {
type = string
description = "The name of the virtual machine (must be a [-_a-z0-9])"
validation {
condition = can(regex("^[-_a-z0-9]+$", var.name))
error_message = "A virtual machine name must be lowercase, and can only contain alphanumeral characters, dashes and underscores."
}
}
variable "vcpu" {
type = number
description = "CPU count"
default = 1
}
variable "uefi" {
type = bool
description = "Whether or not to create an UEFI domain"
default = false
}
variable "machine" {
type = string
description = "The machine type - can be i440fx (default) or q35. PCIe support requires Q35 (or better)"
default = null
}
variable "memory_mb" {
type = number
description = "VM memory allocation in megabytes"
}
variable "description" {
type = string
description = "(Short) Description for the virtual machine"
}
variable "base_image_pool" {
type = string
description = "Base image storage pool"
}
variable "base_image_volume" {
type = string
description = "Base image storage pool"
}
variable "root_storage_pool" {
type = string
description = "The name of the storage pool. It will default to the VM name"
default = ""
}
variable "create_root_storage_pool" {
type = bool
description = "Create the storage pool as part of the module"
default = true
}
variable "root_storage_volume_size_gb" {
type = number
description = "The size of the storage volume (in gigabytes)"
}
variable "root_storage_volume_name" {
type = string
description = "the name of the storage volume (must be unique in the pool)"
default = ""
}
variable "interface" {
type = string
description = "Network interface to attach the vm on"
}
variable "autostart" {
type = bool
description = "Start the VM at host start?"
default = true
}
variable "user_data" {
type = string
description = "Cloud-init userdata script to run"
}
variable "network_config" {
type = string
description = "Cloud-init network config"
default = null
nullable = true
}
variable "meta_data" {
type = string
description = "Cloud-init meta-data"
default = null
nullable = true
}
variable "filesystems" {
type = list(object({
source = string
target = string
accessmode = string
readonly = bool
}))
description = "9p shared filesystem devices"
default = []
}
variable "xslt" {
type = string
description = "XSLT applied to the domain before sent to libvirt"
default = null
}
variable "extra_interfaces" {
type = list(object({
bridge = string
mac = string
}))
description = "Extra network interfaces to attach to the VM"
default = []
}