Skip to content

Commit c400d0f

Browse files
Merge pull request #24 from SamyCoenen/feature/disk-label
Add template disk labels and data disk labels
2 parents 52ef2f0 + 3cb1ecc commit c400d0f

File tree

6 files changed

+34
-4
lines changed

6 files changed

+34
-4
lines changed

examples/linux/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,13 @@ module "example-server-linuxvm-withdatadisk" {
5757
"test" = ["", "192.168.0.3"]
5858
}
5959
data_disk_size_gb = [10, 5] // Aditional Disk to be used
60+
disk_label = ["tpl-disk-1"]
61+
data_disk_label = ["label1", "label2"]
62+
scsi_type = "lsilogic" # "pvscsi"
63+
scsi_controller = 0 # template disk scsi_controller
64+
data_disk_scsi_controller = [0, 1]
65+
disk_datastore = "vsanDatastore"
66+
data_disk_datastore = ["vsanDatastore", "nfsDatastore"]
6067
thin_provisioned = ["true", "false"]
6168
vmdns = ["192.168.0.2", "192.168.0.1"]
6269
vmgateway = "192.168.0.1"

examples/linux/main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ module "example-server-linuxvm-advanced" {
3636
"VM Network" = ["192.168.0.4", ""] // Here the first instance will use Static Ip and Second set to DHCP
3737
"test" = ["", "192.168.0.3"]
3838
}
39+
disk_label = ["tpl-disk-1"]
40+
data_disk_label = ["label1", "label2"]
3941
scsi_type = "lsilogic" # "pvscsi"
4042
scsi_controller = 0
4143
data_disk_scsi_controller = [0, 1]

examples/windows/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ module "example-server-windowsvm-advanced" {
5353
"test" = ["", "192.168.0.3"]
5454
}
5555
data_disk_size_gb = [10, 5] // Aditional Disks to be used
56+
disk_label = ["tpl-disk-1"]
57+
data_disk_label = ["label1", "label2"]
58+
scsi_type = "lsilogic" # "pvscsi"
59+
scsi_controller = 0 # template disk scsi_controller
60+
data_disk_scsi_controller = [0, 1]
61+
disk_datastore = "vsanDatastore"
62+
data_disk_datastore = ["vsanDatastore", "nfsDatastore"]
5663
thin_provisioned = ["true", "false"]
5764
vmdns = ["192.168.0.2", "192.168.0.1"]
5865
vmgateway = "192.168.0.1"

examples/windows/main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ module "example-server-windowsvm-advanced" {
5656
"VM Network" = ["192.168.0.4", ""] // Here the first instance will use Static Ip and Second DHCP
5757
"test" = ["", "192.168.0.3"]
5858
}
59+
disk_label = ["tpl-disk-1"]
60+
data_disk_label = ["label1", "label2"]
5961
scsi_type = "lsilogic" # "pvscsi"
6062
scsi_controller = 0
6163
data_disk_scsi_controller = [0, 3]

main.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ resource "vsphere_virtual_machine" "Linux" {
103103
for_each = data.vsphere_virtual_machine.template.disks
104104
iterator = template_disks
105105
content {
106-
label = "disk${template_disks.key}"
106+
label = length(var.disk_label) > 0 ? var.disk_label[template_disks.key] : "disk${template_disks.key}"
107107
size = data.vsphere_virtual_machine.template.disks[template_disks.key].size
108108
unit_number = var.scsi_controller != null ? var.scsi_controller * 15 + template_disks.key : template_disks.key
109109
thin_provisioned = data.vsphere_virtual_machine.template.disks[template_disks.key].thin_provisioned
@@ -117,7 +117,7 @@ resource "vsphere_virtual_machine" "Linux" {
117117
for_each = var.data_disk_size_gb
118118
iterator = terraform_disks
119119
content {
120-
label = "disk${terraform_disks.key + local.template_disk_count}"
120+
label = length(var.data_disk_label) > 0 ? var.data_disk_label[terraform_disks.key] : "disk${terraform_disks.key + local.template_disk_count}"
121121
size = var.data_disk_size_gb[terraform_disks.key]
122122
unit_number = length(var.data_disk_scsi_controller) > 0 ? var.data_disk_scsi_controller[terraform_disks.key] * 15 + terraform_disks.key + (var.scsi_controller == var.data_disk_scsi_controller[terraform_disks.key] ? local.template_disk_count : 0) : terraform_disks.key + local.template_disk_count
123123
thin_provisioned = var.thin_provisioned != null ? var.thin_provisioned[terraform_disks.key] : null
@@ -196,7 +196,7 @@ resource "vsphere_virtual_machine" "Windows" {
196196
for_each = data.vsphere_virtual_machine.template.disks
197197
iterator = template_disks
198198
content {
199-
label = "disk${template_disks.key}"
199+
label = length(var.disk_label) > 0 ? var.disk_label[template_disks.key] : "disk${template_disks.key}"
200200
size = data.vsphere_virtual_machine.template.disks[template_disks.key].size
201201
unit_number = var.scsi_controller != null ? var.scsi_controller * 15 + template_disks.key : template_disks.key
202202
thin_provisioned = data.vsphere_virtual_machine.template.disks[template_disks.key].thin_provisioned
@@ -210,7 +210,7 @@ resource "vsphere_virtual_machine" "Windows" {
210210
for_each = var.data_disk_size_gb
211211
iterator = terraform_disks
212212
content {
213-
label = "disk${terraform_disks.key + local.template_disk_count}"
213+
label = length(var.data_disk_label) > 0 ? var.data_disk_label[terraform_disks.key] : "disk${terraform_disks.key + local.template_disk_count}"
214214
size = var.data_disk_size_gb[terraform_disks.key]
215215
unit_number = length(var.data_disk_scsi_controller) > 0 ? var.data_disk_scsi_controller[terraform_disks.key] * 15 + terraform_disks.key + (var.scsi_controller == var.data_disk_scsi_controller[terraform_disks.key] ? local.template_disk_count : 0) : terraform_disks.key + local.template_disk_count
216216
thin_provisioned = var.thin_provisioned != null ? var.thin_provisioned[terraform_disks.key] : null

variables.tf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,18 @@ variable "memory_hot_add_enabled" {
150150
default = null
151151
}
152152

153+
variable "disk_label" {
154+
description = "Storage data disk labels"
155+
type = list
156+
default = []
157+
}
158+
159+
variable "data_disk_label" {
160+
description = "Storage data disk labels"
161+
type = list
162+
default = []
163+
}
164+
153165
variable "data_disk_size_gb" {
154166
description = "List of Storage data disk size"
155167
type = list

0 commit comments

Comments
 (0)