File tree Expand file tree Collapse file tree 11 files changed +58
-54
lines changed Expand file tree Collapse file tree 11 files changed +58
-54
lines changed Original file line number Diff line number Diff line change @@ -54,22 +54,25 @@ resource "proxmox_virtual_environment_vm" "vm" {
54
54
scsi_hardware = " virtio-scsi-single"
55
55
56
56
# data disk
57
- disk {
58
- size = var. disk . size
59
- datastore_id = var. disk . storage
57
+ dynamic "disk" {
58
+ for_each = var. disks
59
+ content {
60
+ size = disk. value [" size_gb" ]
61
+ datastore_id = disk. value [" storage" ]
60
62
61
- file_format = " raw"
63
+ file_format = " raw"
62
64
63
- interface = " scsi0"
65
+ interface = " scsi0"
64
66
65
- iothread = true
66
- ssd = true
67
- discard = " on"
67
+ iothread = true
68
+ ssd = true
69
+ discard = " on"
70
+ }
68
71
}
69
72
70
73
# efi disk
71
74
efi_disk {
72
- datastore_id = var. disk . storage
75
+ datastore_id = var. disks [ 0 ] . storage
73
76
type = " 4m"
74
77
}
75
78
@@ -88,16 +91,16 @@ resource "proxmox_virtual_environment_vm" "vm" {
88
91
dynamic "clone" {
89
92
for_each = var. clone != null ? [var . clone ] : []
90
93
content {
91
- datastore_id = var. disk . storage
94
+ datastore_id = var. disks [ 0 ] . storage
92
95
vm_id = clone. value
93
96
}
94
97
}
95
98
96
99
initialization {
97
- datastore_id = var. disk . storage
100
+ datastore_id = var. disks [ 0 ] . storage
98
101
99
102
# this is necessary when using machine type q35 or ovmf bios
100
- interface = " scsi1 "
103
+ interface = " scsi23 "
101
104
102
105
user_account {
103
106
password = random_password. default_root_password . result
Original file line number Diff line number Diff line change @@ -45,12 +45,16 @@ variable "memory" {
45
45
description = " how much memory should be available to the VM"
46
46
}
47
47
48
- variable "disk " {
49
- type = object ({
50
- size = string
48
+ variable "disks " {
49
+ type = list ( object ({
50
+ size_gb = number
51
51
storage = string
52
- })
53
- description = " the disk size and storage"
52
+ }))
53
+ description = " sizes and storage for all disks"
54
+ validation {
55
+ condition = length (var. disks ) != 0
56
+ error_message = " should have at least one disk configured"
57
+ }
54
58
}
55
59
56
60
variable "network" {
@@ -78,6 +82,10 @@ variable "admins" {
78
82
username = string
79
83
ssh_key = string
80
84
}))
85
+ validation {
86
+ condition = length (var. admins ) != 0
87
+ error_message = " should have at least one admin configured"
88
+ }
81
89
}
82
90
83
91
variable "template" {
Original file line number Diff line number Diff line change @@ -9,11 +9,12 @@ module "home_assistant_vm" {
9
9
cores = 4
10
10
memory = 8192
11
11
12
- disk = {
13
- // gigabytes
14
- size = 64
15
- storage = var.storage.disk
16
- }
12
+ disks = [
13
+ {
14
+ size_gb = 64
15
+ storage = var.storage.disk
16
+ }
17
+ ]
17
18
18
19
network = {
19
20
bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "docker_vm" {
11
11
cores = 4
12
12
memory = 8192
13
13
14
- disk = {
15
- // gigabytes
16
- size = 64
14
+ disks = [{
15
+ size_gb = 64
17
16
storage = var.storage.disk
18
- }
17
+ }]
19
18
20
19
network = {
21
20
bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "netboot_vm" {
11
11
cores = 1
12
12
memory = 2048
13
13
14
- disk = {
15
- // gigabytes
16
- size = 48
14
+ disks = [{
15
+ size_gb = 48
17
16
storage = var.storage.disk
18
- }
17
+ }]
19
18
20
19
network = {
21
20
bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "kristall-miai_vm" {
11
11
cores = 6
12
12
memory = 36864
13
13
14
- disk = {
15
- // gigabytes
16
- size = 15
14
+ disks = [{
15
+ size_gb = 15
17
16
storage = var.storage.disk
18
- }
17
+ }]
19
18
20
19
network = {
21
20
bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "cbtelbot_vm" {
11
11
cores = 1
12
12
memory = 1024
13
13
14
- disk = {
15
- // gigabytes
16
- size = 48
14
+ disks = [{
15
+ size_gb = 48
17
16
storage = var.storage.disk
18
- }
17
+ }]
19
18
20
19
network = {
21
20
bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "mecci_vm" {
11
11
cores = 4
12
12
memory = 8192
13
13
14
- disk = {
15
- // gigabytes
16
- size = 64
14
+ disks = [{
15
+ size_gb = 64
17
16
storage = var.storage.disk
18
- }
17
+ }]
19
18
20
19
network = {
21
20
bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "streaming_vm" {
11
11
cores = 2
12
12
memory = 4096
13
13
14
- disk = {
15
- // gigabytes
16
- size = 32
14
+ disks = [{
15
+ size_gb = 32
17
16
storage = var.storage.disk
18
- }
17
+ }]
19
18
20
19
network = {
21
20
bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -12,11 +12,10 @@ module "ci_runners_vm" {
12
12
memory = 4096
13
13
weight = 128
14
14
15
- disk = {
16
- // gigabytes
17
- size = 32
15
+ disks = [{
16
+ size_gb = 32
18
17
storage = var.storage.disk
19
- }
18
+ }]
20
19
21
20
network = {
22
21
bridge = var.network.bridge
You can’t perform that action at this time.
0 commit comments