@@ -14,6 +14,18 @@ data "vsphere_datastore" "datastore" {
1414 datacenter_id = data. vsphere_datacenter . dc . id
1515}
1616
17+ data "vsphere_datastore" "disk_datastore" {
18+ count = var. disk_datastore != " " ? 1 : 0
19+ name = var. disk_datastore
20+ datacenter_id = data. vsphere_datacenter . dc . id
21+ }
22+
23+ data "vsphere_datastore" "data_disk_datastore" {
24+ for_each = toset (var. data_disk_datastore )
25+ name = each. key
26+ datacenter_id = data. vsphere_datacenter . dc . id
27+ }
28+
1729data "vsphere_resource_pool" "pool" {
1830 name = var. vmrp
1931 datacenter_id = data. vsphere_datacenter . dc . id
@@ -95,6 +107,7 @@ resource "vsphere_virtual_machine" "Linux" {
95107 unit_number = template_disks. key
96108 thin_provisioned = data. vsphere_virtual_machine . template . disks [template_disks . key ]. thin_provisioned
97109 eagerly_scrub = data. vsphere_virtual_machine . template . disks [template_disks . key ]. eagerly_scrub
110+ datastore_id = var. disk_datastore != " " ? data. vsphere_datastore . disk_datastore [0 ]. id : null
98111 }
99112 }
100113
@@ -108,6 +121,7 @@ resource "vsphere_virtual_machine" "Linux" {
108121 unit_number = terraform_disks. key + local. template_disk_count
109122 thin_provisioned = var. thin_provisioned != null ? var. thin_provisioned [terraform_disks . key ] : null
110123 eagerly_scrub = var. eagerly_scrub != null ? var. eagerly_scrub [terraform_disks . key ] : null
124+ datastore_id = length (var. data_disk_datastore ) > 0 ? data. vsphere_datastore . data_disk_datastore [var . data_disk_datastore [terraform_disks . key ]]. id : null
111125 }
112126 }
113127
@@ -185,6 +199,7 @@ resource "vsphere_virtual_machine" "Windows" {
185199 unit_number = template_disks. key
186200 thin_provisioned = data. vsphere_virtual_machine . template . disks [template_disks . key ]. thin_provisioned
187201 eagerly_scrub = data. vsphere_virtual_machine . template . disks [template_disks . key ]. eagerly_scrub
202+ datastore_id = var. disk_datastore != " " ? data. vsphere_datastore . disk_datastore [0 ]. id : null
188203 }
189204 }
190205
@@ -198,6 +213,7 @@ resource "vsphere_virtual_machine" "Windows" {
198213 unit_number = terraform_disks. key + local. template_disk_count
199214 thin_provisioned = var. thin_provisioned != null ? var. thin_provisioned [terraform_disks . key ] : null
200215 eagerly_scrub = var. eagerly_scrub != null ? var. eagerly_scrub [terraform_disks . key ] : null
216+ datastore_id = length (var. data_disk_datastore ) > 0 ? data. vsphere_datastore . data_disk_datastore [var . data_disk_datastore [terraform_disks . key ]]. id : null
201217 }
202218 }
203219
0 commit comments