terraform/vmware/avs-network-and-vm-creation/vm/vm.tf (43 lines of code) (raw):

## ## Deployment of PhotonOS VM from Remote OVF ## resource "vsphere_folder" "folder" { path = "Workloads" type = "vm" datacenter_id = data.vsphere_datacenter.datacenter.id } resource "vsphere_virtual_machine" "testvm01" { name = var.vm-name folder = trimprefix(vsphere_folder.folder.path, "/${data.vsphere_datacenter.datacenter.name}/vm") datacenter_id = data.vsphere_datacenter.datacenter.id datastore_id = data.vsphere_datastore.datastore.id host_system_id = data.vsphere_host.host.id resource_pool_id = data.vsphere_resource_pool.pool.id num_cpus = data.vsphere_ovf_vm_template.photon_ovf.num_cpus num_cores_per_socket = data.vsphere_ovf_vm_template.photon_ovf.num_cores_per_socket memory = data.vsphere_ovf_vm_template.photon_ovf.memory guest_id = data.vsphere_ovf_vm_template.photon_ovf.guest_id scsi_type = data.vsphere_ovf_vm_template.photon_ovf.scsi_type dynamic "network_interface" { for_each = data.vsphere_ovf_vm_template.photon_ovf.ovf_network_map content { network_id = network_interface.value } } wait_for_guest_net_timeout = 0 wait_for_guest_ip_timeout = 0 ovf_deploy { allow_unverified_ssl_cert = false remote_ovf_url = data.vsphere_ovf_vm_template.photon_ovf.remote_ovf_url disk_provisioning = data.vsphere_ovf_vm_template.photon_ovf.disk_provisioning ovf_network_map = data.vsphere_ovf_vm_template.photon_ovf.ovf_network_map ip_protocol = "IPV4" ip_allocation_policy = "STATIC_MANUAL" } lifecycle { ignore_changes = [ annotation, disk[0].io_share_count, disk[1].io_share_count, disk[2].io_share_count, vapp[0].properties, ] } }