blob: e11a5a2c667ecb03b61591fc787407999d75f871 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
variable "vm_count" {
type = number
description = "The number of virtual machines to create."
default = 1
}
variable "name_prefix" {
type = string
description = "The prefix for the names of the virtual machines. The VM names will be in the format '<name_prefix>-<index>'."
}
variable "desc" {
type = string
description = "A description of the virtual machines."
default = ""
}
variable "agent" {
type = number
description = "Whether to enable the QEMU guest agent (0 = disabled, 1 = enabled)."
default = 0
}
variable "target_node" {
type = string
description = "The name of the Proxmox node where the VMs will be created."
}
variable "tags" {
type = string
description = "Tags to assign to the virtual machines."
default = ""
}
variable "clone" {
type = string
description = "The name of the VM template to clone."
}
variable "full_clone" {
type = bool
description = "Whether to create a full clone of the template (true) or a linked clone (false)."
default = true
}
variable "qemu_os" {
type = string
description = "The type of OS installed on the VMs."
default = "l26" # Default is Linux 2.6/3.x/4.x/5.x kernel
}
variable "cores" {
type = number
description = "The number of CPU cores to allocate to each VM."
default = 1
}
variable "sockets" {
type = number
description = "The number of CPU sockets to allocate to each VM."
default = 1
}
variable "cpu_type" {
type = string
description = "The type of CPU to emulate (e.g., 'host', 'kvm64')."
default = "host"
}
variable "memory" {
type = number
description = "The amount of memory (in MB) to allocate to each VM."
default = 1024
}
variable "scsihw" {
type = string
description = "The SCSI controller type (e.g., 'virtio-scsi-pci', 'virtio-scsi-pci')."
default = "virtio-scsi-pci"
}
variable "bootdisk" {
type = string
description = "The boot disk interface (e.g., 'scsi0', 'virtio0')."
default = "virtio0"
}
variable "cloudinit_storage" {
type = string
description = "The storage pool for the cloud-init drive."
}
variable "disk_storage" {
type = string
description = "The storage pool for the primary disk."
}
variable "disk_size" {
type = string
description = "The size of the primary disk (e.g., '20G')."
}
variable "iothread" {
type = bool
description = "Whether to enable IO threading for the disk."
default = false
}
variable "replicate" {
type = bool
description = "Whether to replicate the disk to other nodes."
default = false
}
variable "network_id" {
type = number
description = "The ID of the network interface."
default = 0
}
variable "network_model" {
type = string
description = "The model of the network interface (e.g., 'virtio')."
default = "virtio"
}
variable "network_bridge" {
type = string
description = "The bridge to attach the network interface to."
default = "vmbr0"
}
variable "ipconfig0" {
type = string
description = "The IP configuration for the VMs (e.g., 'ip=dhcp')."
default = "ip=dhcp"
}
variable "ciuser" {
type = string
description = "The username for cloud-init."
default = ""
}
variable "sshkeys" {
type = string
description = "The SSH public keys to inject into the VMs via cloud-init."
default = ""
}
|