Skip to content

Instantly share code, notes, and snippets.

@gowatana

gowatana/main.tf Secret

Created May 9, 2024 23:57
Show Gist options
  • Save gowatana/a6221bebbf5a67bbaa9c343af04ab3ab to your computer and use it in GitHub Desktop.
Save gowatana/a6221bebbf5a67bbaa9c343af04ab3ab to your computer and use it in GitHub Desktop.
data "vsphere_datacenter" "datacenter" {
name = "infra-dc-01"
}
data "vsphere_datastore" "datastore" {
name = "vsanDatastore"
datacenter_id = data.vsphere_datacenter.datacenter.id
}
data "vsphere_compute_cluster" "cluster" {
name = "infra-cluster-01"
datacenter_id = data.vsphere_datacenter.datacenter.id
}
data "vsphere_network" "network" {
name = "dvpg-0011-dhcp"
datacenter_id = data.vsphere_datacenter.datacenter.id
}
data "vsphere_virtual_machine" "template" {
name = "photon-hw15-5.0_update-20231104"
datacenter_id = data.vsphere_datacenter.datacenter.id
}
resource "vsphere_virtual_machine" "vm" {
name = "testvm99"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
firmware = "efi"
num_cpus = 4
memory = 4096
guest_id = data.vsphere_virtual_machine.template.guest_id
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "vmxnet3"
}
clone {
template_uuid = data.vsphere_virtual_machine.template.id
}
disk {
label = "disk0"
size = 20
}
}
locals {
vm_ip_addr = [for ip in vsphere_virtual_machine.vm.guest_ip_addresses : ip if can(regex("^192\\.168\\.11\\..*", ip))]
}
output "vm_ip" {
value = local.vm_ip_addr
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment