182 lines
3.8 KiB
HCL
182 lines
3.8 KiB
HCL
|
// Proxmox Settings
|
||
|
variable "proxmox_iso_file" {
|
||
|
type = string
|
||
|
}
|
||
|
|
||
|
variable "proxmox_iso_pool" {
|
||
|
type = string
|
||
|
default = "local:iso"
|
||
|
}
|
||
|
|
||
|
variable "proxmox_url" {
|
||
|
type = string
|
||
|
default = ""
|
||
|
}
|
||
|
|
||
|
variable "proxmox_node" {
|
||
|
type = string
|
||
|
default = ""
|
||
|
}
|
||
|
|
||
|
variable "proxmox_username" {
|
||
|
type = string
|
||
|
default = ""
|
||
|
}
|
||
|
|
||
|
variable "proxmox_password" {
|
||
|
type = string
|
||
|
default = ""
|
||
|
}
|
||
|
|
||
|
variable "proxmox_storage_format" {
|
||
|
type = string
|
||
|
default = "raw"
|
||
|
}
|
||
|
|
||
|
variable "proxmox_storage_pool" {
|
||
|
type = string
|
||
|
default = "local-lvm"
|
||
|
}
|
||
|
|
||
|
variable "proxmox_storage_pool_type" {
|
||
|
type = string
|
||
|
default = "lvm-thin"
|
||
|
}
|
||
|
|
||
|
variable "template_description" {
|
||
|
type = string
|
||
|
}
|
||
|
|
||
|
variable "template_name" {
|
||
|
type = string
|
||
|
}
|
||
|
|
||
|
// Virtual Machine Settings
|
||
|
variable "vm_id" {
|
||
|
type = number
|
||
|
description = "The ID used to reference the virtual machine."
|
||
|
default = 0
|
||
|
}
|
||
|
|
||
|
variable "vm_guest_os_language" {
|
||
|
type = string
|
||
|
description = "The guest operating system lanugage."
|
||
|
default = "en_US"
|
||
|
}
|
||
|
|
||
|
variable "vm_guest_os_keyboard" {
|
||
|
type = string
|
||
|
description = "The guest operating system keyboard input."
|
||
|
default = "us"
|
||
|
}
|
||
|
|
||
|
variable "vm_guest_os_timezone" {
|
||
|
type = string
|
||
|
description = "The guest operating system timezone."
|
||
|
default = "America/New_York"
|
||
|
}
|
||
|
|
||
|
variable "vm_os_type" {
|
||
|
type = string
|
||
|
description = "The operating system."
|
||
|
default = "l26"
|
||
|
}
|
||
|
|
||
|
variable "vm_cpu_sockets" {
|
||
|
type = number
|
||
|
description = "The number of virtual CPUs sockets. (e.g. '2')"
|
||
|
default = 1
|
||
|
}
|
||
|
|
||
|
variable "vm_cpu_cores" {
|
||
|
type = number
|
||
|
description = "The number of virtual CPUs cores per socket. (e.g. '1')"
|
||
|
default = 1
|
||
|
}
|
||
|
|
||
|
variable "vm_cpu_type" {
|
||
|
type = string
|
||
|
description = "The CPU type to emulate."
|
||
|
default = "host"
|
||
|
}
|
||
|
|
||
|
variable "vm_mem_size" {
|
||
|
type = number
|
||
|
description = "The size for the virtual memory in MB. (e.g. '2048')"
|
||
|
default = 1024
|
||
|
}
|
||
|
|
||
|
variable "vm_disk_size" {
|
||
|
type = string
|
||
|
description = "The size for the virtual disk in MB. (e.g. '8G')"
|
||
|
default = "32G"
|
||
|
}
|
||
|
|
||
|
variable "vm_disk_controller_type" {
|
||
|
type = list(string)
|
||
|
description = "The virtual disk controller types in sequence. (e.g. 'pvscsi')"
|
||
|
default = ["pvscsi"]
|
||
|
}
|
||
|
|
||
|
variable "vm_disk_thin_provisioned" {
|
||
|
type = bool
|
||
|
description = "Thin provision the virtual disk."
|
||
|
default = true
|
||
|
}
|
||
|
|
||
|
variable "vm_network_adapter_model" {
|
||
|
type = string
|
||
|
description = "Model of the virtual network adapter. (e.g. 'vmxnet3' or 'e1000e')"
|
||
|
default = "e1000"
|
||
|
}
|
||
|
|
||
|
variable "vm_network_adapter_bridge" {
|
||
|
type = string
|
||
|
description = "Which Proxmox bridge to attach the adapter to."
|
||
|
default = "vmbr0"
|
||
|
}
|
||
|
|
||
|
variable "vm_network_adapter_vlan_tag" {
|
||
|
type = string
|
||
|
description = "If the adapter should tag packets."
|
||
|
default = ""
|
||
|
}
|
||
|
|
||
|
// Communicator Settings and Credentials
|
||
|
variable "build_username" {
|
||
|
type = string
|
||
|
description = "The username to login to the guest operating system. (e.g. rainpole)"
|
||
|
sensitive = true
|
||
|
}
|
||
|
|
||
|
variable "build_password" {
|
||
|
type = string
|
||
|
description = "The password to login to the guest operating system."
|
||
|
sensitive = true
|
||
|
}
|
||
|
|
||
|
variable "build_password_encrypted" {
|
||
|
type = string
|
||
|
description = "The encrypted password to login the guest operating system."
|
||
|
sensitive = true
|
||
|
}
|
||
|
|
||
|
variable "communicator_port" {
|
||
|
type = number
|
||
|
description = "The port for the communicator protocol."
|
||
|
default = 22
|
||
|
}
|
||
|
|
||
|
variable "communicator_timeout" {
|
||
|
type = string
|
||
|
description = "The timeout for the communicator protocol."
|
||
|
default = "30m"
|
||
|
}
|
||
|
|
||
|
// Provisioner Settings
|
||
|
variable "scripts" {
|
||
|
type = list(string)
|
||
|
description = "A list of scripts and their relative paths to transfer and execute."
|
||
|
default = []
|
||
|
}
|