Skip to content

Commit 8d5e3de

Browse files
committed
Add boot disk for template from Content Library
Signed-off-by: Stéphane Este-Gracias <[email protected]>
1 parent 248752f commit 8d5e3de

File tree

3 files changed

+21
-1
lines changed

3 files changed

+21
-1
lines changed

main.tf

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,23 @@ resource "vsphere_virtual_machine" "vm" {
151151
io_share_count = length(var.io_share_level) > 0 && var.io_share_level[template_disks.key] == "custom" ? var.io_share_count[template_disks.key] : null
152152
}
153153
}
154+
// Disk for template from Content Library
155+
dynamic "disk" {
156+
for_each = var.content_library == null ? [] : [1]
157+
iterator = template_disks
158+
content {
159+
label = length(var.disk_label) > 0 ? var.disk_label[template_disks.key] : "disk${template_disks.key}"
160+
size = var.disk_size_gb[template_disks.key]
161+
unit_number = var.scsi_controller != null ? var.scsi_controller * 15 + template_disks.key : template_disks.key
162+
// thin_provisioned = data.vsphere_virtual_machine.template[0].disks[template_disks.key].thin_provisioned
163+
// eagerly_scrub = data.vsphere_virtual_machine.template[0].disks[template_disks.key].eagerly_scrub
164+
datastore_id = var.disk_datastore != "" ? data.vsphere_datastore.disk_datastore[0].id : null
165+
storage_policy_id = length(var.template_storage_policy_id) > 0 ? var.template_storage_policy_id[template_disks.key] : null
166+
io_reservation = length(var.io_reservation) > 0 ? var.io_reservation[template_disks.key] : null
167+
io_share_level = length(var.io_share_level) > 0 ? var.io_share_level[template_disks.key] : "normal"
168+
io_share_count = length(var.io_share_level) > 0 && var.io_share_level[template_disks.key] == "custom" ? var.io_share_count[template_disks.key] : null
169+
}
170+
}
154171
// Additional disks defined by Terraform config
155172
dynamic "disk" {
156173
for_each = var.data_disk

tests/smoke/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Smoke Test
22

3-
You need to run the plan using vars.tfvars
3+
You need to run the plan using private.tfvars
44

55
### Example:
66

@@ -26,6 +26,7 @@ vm = {
2626
network = {
2727
"VM Networks" = ["10.13.13.2"],
2828
}
29+
disk_size_gb = [ 20 ]
2930
}
3031
}
3132
```

tests/smoke/main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ variable "vm" {
1616
is_windows_image = bool
1717
instances = number
1818
network = map(list(string))
19+
disk_size_gb = list(number)
1920
vmgateway = string
2021
dns_servers = list(string)
2122
}))
@@ -33,6 +34,7 @@ module "example-server-basic" {
3334
vmrp = each.value.vmrp
3435
vmfolder = each.value.vmfolder
3536
network = each.value.network
37+
disk_size_gb = each.value.disk_size_gb
3638
vmgateway = each.value.vmgateway
3739
dc = each.value.dc
3840
datastore = each.value.datastore #Either

0 commit comments

Comments
 (0)