@@ -109,25 +109,27 @@ resource "vsphere_virtual_machine" "Linux" {
109109 for_each = data. vsphere_virtual_machine . template . disks
110110 iterator = template_disks
111111 content {
112- label = length (var. disk_label ) > 0 ? var. disk_label [template_disks . key ] : " disk${ template_disks . key } "
113- size = var. disk_size_gb != null ? var. disk_size_gb [template_disks . key ] : data. vsphere_virtual_machine . template . disks [template_disks . key ]. size
114- unit_number = var. scsi_controller != null ? var. scsi_controller * 15 + template_disks. key : template_disks. key
115- thin_provisioned = data. vsphere_virtual_machine . template . disks [template_disks . key ]. thin_provisioned
116- eagerly_scrub = data. vsphere_virtual_machine . template . disks [template_disks . key ]. eagerly_scrub
117- datastore_id = var. disk_datastore != " " ? data. vsphere_datastore . disk_datastore [0 ]. id : null
112+ label = length (var. disk_label ) > 0 ? var. disk_label [template_disks . key ] : " disk${ template_disks . key } "
113+ size = var. disk_size_gb != null ? var. disk_size_gb [template_disks . key ] : data. vsphere_virtual_machine . template . disks [template_disks . key ]. size
114+ unit_number = var. scsi_controller != null ? var. scsi_controller * 15 + template_disks. key : template_disks. key
115+ thin_provisioned = data. vsphere_virtual_machine . template . disks [template_disks . key ]. thin_provisioned
116+ eagerly_scrub = data. vsphere_virtual_machine . template . disks [template_disks . key ]. eagerly_scrub
117+ datastore_id = var. disk_datastore != " " ? data. vsphere_datastore . disk_datastore [0 ]. id : null
118+ storage_policy_id = length (var. template_storage_policy_id ) > 0 ? var. template_storage_policy_id [template_disks . key ] : null
118119 }
119120 }
120121 // Additional disks defined by Terraform config
121122 dynamic "disk" {
122123 for_each = var. data_disk
123124 iterator = terraform_disks
124125 content {
125- label = terraform_disks. key
126- size = lookup (terraform_disks. value , " size_gb" , null )
127- unit_number = lookup (terraform_disks. value , " data_disk_scsi_controller" , 0 ) ? terraform_disks. value . data_disk_scsi_controller * 15 + index (keys (var. data_disk ), terraform_disks. key ) + (var. scsi_controller == tonumber (terraform_disks. value [" data_disk_scsi_controller" ]) ? local. template_disk_count : 0 ) : index (keys (var. data_disk ), terraform_disks. key ) + local. template_disk_count
128- thin_provisioned = lookup (terraform_disks. value , " thin_provisioned" , " true" )
129- eagerly_scrub = lookup (terraform_disks. value , " eagerly_scrub" , " false" )
130- datastore_id = lookup (terraform_disks. value , " datastore_id" , null )
126+ label = terraform_disks. key
127+ size = lookup (terraform_disks. value , " size_gb" , null )
128+ unit_number = lookup (terraform_disks. value , " data_disk_scsi_controller" , 0 ) ? terraform_disks. value . data_disk_scsi_controller * 15 + index (keys (var. data_disk ), terraform_disks. key ) + (var. scsi_controller == tonumber (terraform_disks. value [" data_disk_scsi_controller" ]) ? local. template_disk_count : 0 ) : index (keys (var. data_disk ), terraform_disks. key ) + local. template_disk_count
129+ thin_provisioned = lookup (terraform_disks. value , " thin_provisioned" , " true" )
130+ eagerly_scrub = lookup (terraform_disks. value , " eagerly_scrub" , " false" )
131+ datastore_id = lookup (terraform_disks. value , " datastore_id" , null )
132+ storage_policy_id = lookup (terraform_disks. value , " storage_policy_id" , null )
131133 }
132134 }
133135 clone {
@@ -182,6 +184,7 @@ resource "vsphere_virtual_machine" "Windows" {
182184 firmware = var. firmware
183185 efi_secure_boot_enabled = var. efi_secure_boot
184186 enable_disk_uuid = var. enable_disk_uuid
187+ storage_policy_id = var. storage_policy_id
185188
186189 datastore_cluster_id = var. datastore_cluster != " " ? data. vsphere_datastore_cluster . datastore_cluster [0 ]. id : null
187190 datastore_id = var. datastore != " " ? data. vsphere_datastore . datastore [0 ]. id : null
@@ -222,12 +225,13 @@ resource "vsphere_virtual_machine" "Windows" {
222225 for_each = data. vsphere_virtual_machine . template . disks
223226 iterator = template_disks
224227 content {
225- label = length (var. disk_label ) > 0 ? var. disk_label [template_disks . key ] : " disk${ template_disks . key } "
226- size = var. disk_size_gb != null ? var. disk_size_gb [template_disks . key ] : data. vsphere_virtual_machine . template . disks [template_disks . key ]. size
227- unit_number = var. scsi_controller != null ? var. scsi_controller * 15 + template_disks. key : template_disks. key
228- thin_provisioned = data. vsphere_virtual_machine . template . disks [template_disks . key ]. thin_provisioned
229- eagerly_scrub = data. vsphere_virtual_machine . template . disks [template_disks . key ]. eagerly_scrub
230- datastore_id = var. disk_datastore != " " ? data. vsphere_datastore . disk_datastore [0 ]. id : null
228+ label = length (var. disk_label ) > 0 ? var. disk_label [template_disks . key ] : " disk${ template_disks . key } "
229+ size = var. disk_size_gb != null ? var. disk_size_gb [template_disks . key ] : data. vsphere_virtual_machine . template . disks [template_disks . key ]. size
230+ unit_number = var. scsi_controller != null ? var. scsi_controller * 15 + template_disks. key : template_disks. key
231+ thin_provisioned = data. vsphere_virtual_machine . template . disks [template_disks . key ]. thin_provisioned
232+ eagerly_scrub = data. vsphere_virtual_machine . template . disks [template_disks . key ]. eagerly_scrub
233+ datastore_id = var. disk_datastore != " " ? data. vsphere_datastore . disk_datastore [0 ]. id : null
234+ storage_policy_id = length (var. template_storage_policy_id ) > 0 ? var. template_storage_policy_id [template_disks . key ] : null
231235 }
232236 }
233237
@@ -236,12 +240,13 @@ resource "vsphere_virtual_machine" "Windows" {
236240 for_each = var. data_disk
237241 iterator = terraform_disks
238242 content {
239- label = terraform_disks. key
240- size = lookup (terraform_disks. value , " size_gb" , null )
241- unit_number = lookup (terraform_disks. value , " data_disk_scsi_controller" , 0 ) ? terraform_disks. value . data_disk_scsi_controller * 15 + index (keys (var. data_disk ), terraform_disks. key ) + (var. scsi_controller == tonumber (terraform_disks. value [" data_disk_scsi_controller" ]) ? local. template_disk_count : 0 ) : index (keys (var. data_disk ), terraform_disks. key ) + local. template_disk_count
242- thin_provisioned = lookup (terraform_disks. value , " thin_provisioned" , " true" )
243- eagerly_scrub = lookup (terraform_disks. value , " eagerly_scrub" , " false" )
244- datastore_id = lookup (terraform_disks. value , " datastore_id" , null )
243+ label = terraform_disks. key
244+ size = lookup (terraform_disks. value , " size_gb" , null )
245+ unit_number = lookup (terraform_disks. value , " data_disk_scsi_controller" , 0 ) ? terraform_disks. value . data_disk_scsi_controller * 15 + index (keys (var. data_disk ), terraform_disks. key ) + (var. scsi_controller == tonumber (terraform_disks. value [" data_disk_scsi_controller" ]) ? local. template_disk_count : 0 ) : index (keys (var. data_disk ), terraform_disks. key ) + local. template_disk_count
246+ thin_provisioned = lookup (terraform_disks. value , " thin_provisioned" , " true" )
247+ eagerly_scrub = lookup (terraform_disks. value , " eagerly_scrub" , " false" )
248+ datastore_id = lookup (terraform_disks. value , " datastore_id" , null )
249+ storage_policy_id = lookup (terraform_disks. value , " storage_policy_id" , null )
245250 }
246251 }
247252 clone {
0 commit comments