135 lines
2.9 KiB
HCL
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 = []
|
|
}
|