variable "image_url" {
  type	= string
	description = "The URL to retrieve the backing image from." 
}

variable "checksum_url" {
  type	= string
	description = "The URL to retrieve the checksum value of the backing image from." 
}

variable "cpu_count" {
	type = number
	description = "Number of vCPUs to create guest with."
}

variable "memory" {
	type = number
	description = "Amount of RAM in MiB to create guest with."
}

variable "domain_type" {
	type = string
	description = "Type of hypervisor to use."
	default = "kvm"
}

variable "arch" {
	type				=	string
	description	=	"Domain architecture."
	default			=	"x86_64"
}

variable "chipset" {
	type	=	string
	description	=	"Libvirt Machine Type Value for domain XML's machine type."
	default = "q35"
}

variable "loader_type" {
	type = string
	description = "Where loader should be stored in guest. rom or pflash"
	default = "pflash"
}

variable "loader_path" {
	type = string
	description = "File path where the OVMF firmware files are stored on the host."
}

variable "secure_boot" {
	type = bool
	description = "Whether to enable secure boot."
}

variable "nvram_template" {
	type = string
	description = "File path where the OVMF_VARS template file is stored on the host."
}

variable "nvram_path_base" {
	type = string
	description = "Parent dir where the guest OVMF_VARS copy will be stored. No trailing /"
}

variable "volume_name" {
	type = string
	description = "Name of the final template image artifact."
}

variable "volume_pool" {
	type = string
	description = "Host storage pool where the template image will be kept."
}

variable "volume_capacity" {
	type = string
	description = "Size of the template image drive."
}

variable "bridge_name" {
	type = string
	description = "Name of the bridge netdev on the host."
}

variable "guest_ssh_user" {
	type = string
	description = "User account for connecing to the guest VM, eg for provisioners."
}

variable "guest_ssh_pass" {
	type = string
	sensitive = true
	description = "Password for SSH connection to the guest VM."
	default = "placeholder"
}

variable "guest_ssh_port" {
	type = number
	description = "SSH port for connecting to the guest VM."
	default = 22
}

variable "guest_ssh_private_key" {
	type = string
	description = "File path to the private key used for SSH pubkey auth to the guest VM."
}

variable "guest_ssh_public_key" {
	type = string
	description = "File path to the public key to be added to authoried_keys on the guest VM during cloud-init."
}

variable "guest_hostname" {
	type	=	string
	description	=	"The hostname of the virtual machine"
}

variable "ssh_source" {
	type	=	string
	description	=	"The subnet that will be added to the firewall SSH exception during cloud-init."
}

variable "host_ssh_user" {
	type	=	string
	description	=	"The user to connect to the hypervisor as, used to construct the libvirt URI."
}

variable "host_ssh_address" {
	type	=	string
	description	=	"The address of the hypervisor, used to construct the libvirt URI."
}

variable "host_ssh_private_key" {
	type	=	string
	description	=	"File path to the SSH key used to authenticate to the hypervisor host."
}

variable "host_ssh_known_hosts" {
	type	=	string
	description	=	"File path to the known_hosts file for validating the hypervisor host connection."
}

variable "network_address" {
	type	=	string
	description	=	"Network address assigned to the guest."
}

variable "network_gateway" {
	type	=	string
	description	=	"Default gateway assigned to the guest."
}

variable "network_nameserver" {
	type	=	string
	description	=	"DNS/Nameserver assigned to the guest."
}

variable "network_domain" {
	type	=	string
	description	=	"Search domain assigned to the guest."
}