terraform { required_version = ">= 0.13" required_providers { vcd = { source = "vmware/vcd" } } } provider "vcd" { user = "vcd_user" password = "vcd_pass" org = "org_name" vdc = "vdc_name" url = "https://vcloud.pscloud.io/api" } data "vcd_catalog" "catalog" { org = "org_name" name = "catalog_name" } data "vcd_catalog_media" "image" { org = "org_name" catalog_id = data.vcd_catalog.catalog.id name = "exist_image_name" } resource "vcd_independent_disk" "disk" { vdc = "vdc_name" name = "volume_test" size_in_mb = 10000 storage_profile = "storage_policies_name" } resource "vcd_network_routed" "net" { org = "org_name" vdc = "vdc_name" name = "new_subnet_name" edge_gateway = "edge_gateway_name" gateway = "192.168.1.1" static_ip_pool { start_address = "192.168.1.2" end_address = "192.168.1.100" } } resource "vcd_vm" "test_vm" { name = "test_vm" computer_name = "test-vm" os_type = "centos7_64Guest" hardware_version = "vmx-14" boot_image_id = data.vcd_catalog_media.image.id cpus = 1 memory = 1024 disk { name = vcd_independent_disk.disk.name bus_number = 1 unit_number = 0 } guest_properties = { "hostname" = "test-vm" "password" = "your_password_here" "user-data" = base64encode(file("cloud-config.yaml")) } network { name = vcd_network_routed.net.name type = "none" ip_allocation_mode = "MANUAL" ip = "192.168.1.10" } }