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" {
5454 scsi_hardware = " virtio-scsi-single"
5555
5656 # 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" ]
6062
61- file_format = " raw"
63+ file_format = " raw"
6264
63- interface = " scsi0"
65+ interface = " scsi0"
6466
65- iothread = true
66- ssd = true
67- discard = " on"
67+ iothread = true
68+ ssd = true
69+ discard = " on"
70+ }
6871 }
6972
7073 # efi disk
7174 efi_disk {
72- datastore_id = var. disk . storage
75+ datastore_id = var. disks [ 0 ] . storage
7376 type = " 4m"
7477 }
7578
@@ -88,16 +91,16 @@ resource "proxmox_virtual_environment_vm" "vm" {
8891 dynamic "clone" {
8992 for_each = var. clone != null ? [var . clone ] : []
9093 content {
91- datastore_id = var. disk . storage
94+ datastore_id = var. disks [ 0 ] . storage
9295 vm_id = clone. value
9396 }
9497 }
9598
9699 initialization {
97- datastore_id = var. disk . storage
100+ datastore_id = var. disks [ 0 ] . storage
98101
99102 # this is necessary when using machine type q35 or ovmf bios
100- interface = " scsi1 "
103+ interface = " scsi23 "
101104
102105 user_account {
103106 password = random_password. default_root_password . result
Original file line number Diff line number Diff line change @@ -45,12 +45,16 @@ variable "memory" {
4545 description = " how much memory should be available to the VM"
4646}
4747
48- variable "disk " {
49- type = object ({
50- size = string
48+ variable "disks " {
49+ type = list ( object ({
50+ size_gb = number
5151 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+ }
5458}
5559
5660variable "network" {
@@ -78,6 +82,10 @@ variable "admins" {
7882 username = string
7983 ssh_key = string
8084 }))
85+ validation {
86+ condition = length (var. admins ) != 0
87+ error_message = " should have at least one admin configured"
88+ }
8189}
8290
8391variable "template" {
Original file line number Diff line number Diff line change @@ -9,11 +9,12 @@ module "home_assistant_vm" {
99 cores = 4
1010 memory = 8192
1111
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+ ]
1718
1819 network = {
1920 bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "docker_vm" {
1111 cores = 4
1212 memory = 8192
1313
14- disk = {
15- // gigabytes
16- size = 64
14+ disks = [{
15+ size_gb = 64
1716 storage = var.storage.disk
18- }
17+ }]
1918
2019 network = {
2120 bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "netboot_vm" {
1111 cores = 1
1212 memory = 2048
1313
14- disk = {
15- // gigabytes
16- size = 48
14+ disks = [{
15+ size_gb = 48
1716 storage = var.storage.disk
18- }
17+ }]
1918
2019 network = {
2120 bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "kristall-miai_vm" {
1111 cores = 6
1212 memory = 36864
1313
14- disk = {
15- // gigabytes
16- size = 15
14+ disks = [{
15+ size_gb = 15
1716 storage = var.storage.disk
18- }
17+ }]
1918
2019 network = {
2120 bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "cbtelbot_vm" {
1111 cores = 1
1212 memory = 1024
1313
14- disk = {
15- // gigabytes
16- size = 48
14+ disks = [{
15+ size_gb = 48
1716 storage = var.storage.disk
18- }
17+ }]
1918
2019 network = {
2120 bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "mecci_vm" {
1111 cores = 4
1212 memory = 8192
1313
14- disk = {
15- // gigabytes
16- size = 64
14+ disks = [{
15+ size_gb = 64
1716 storage = var.storage.disk
18- }
17+ }]
1918
2019 network = {
2120 bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -11,11 +11,10 @@ module "streaming_vm" {
1111 cores = 2
1212 memory = 4096
1313
14- disk = {
15- // gigabytes
16- size = 32
14+ disks = [{
15+ size_gb = 32
1716 storage = var.storage.disk
18- }
17+ }]
1918
2019 network = {
2120 bridge = var.network.bridge
Original file line number Diff line number Diff line change @@ -12,11 +12,10 @@ module "ci_runners_vm" {
1212 memory = 4096
1313 weight = 128
1414
15- disk = {
16- // gigabytes
17- size = 32
15+ disks = [{
16+ size_gb = 32
1817 storage = var.storage.disk
19- }
18+ }]
2019
2120 network = {
2221 bridge = var.network.bridge
You can’t perform that action at this time.
0 commit comments