provider "vsphere" {
user = var.username
password = var.pass
vsphere_server = var.server
# If you have a self-signed cert
allow_unverified_ssl = true
}
data "vsphere_datacenter" "dc" {
name = "Main"
}
data "vsphere_datastore_cluster" "datastore_cluster" {
name = "var.cluster"
datacenter_id = data.vsphere_datacenter.dc.id
}
data "vsphere_datastore" "datastore" {
name = "var.datastore"
datacenter_id = data.vsphere_datacenter.dc.id
}
data "vsphere_datastore" "iso_datastore" {
name = "ISO"
datacenter_id = data.vsphere_datacenter.dc.id
}
data "vsphere_resource_pool" "pool" {
name = "Int"
datacenter_id = data.vsphere_datacenter.dc.id
}
data "vsphere_network" "network" {
name = "Main VLAN 3129 - 1"
datacenter_id = data.vsphere_datacenter.dc.id
}
data "vsphere_virtual_machine" "template" {
name = "lab04"
datacenter_id = data.vsphere_datacenter.dc.id
}
resource "vsphere_virtual_machine" "New-VM" {
name = "lab015"
resource_pool_id = data.vsphere_resource_pool.pool.id
# datastore_id = data.vsphere_datastore.datastore.id
# datastore_cluster_id = data.vsphere_datastore_cluster.datastore_cluster.id
num_cpus = 1
memory = 1024
guest_id = "other3xLinux64Guest"
folder = "Eng/"
network_interface {
network_id = data.vsphere_network.network.id
}
disk {
label = "disk0"
size = 30
thin_provisioned = true
}
cdrom {
datastore_id = data.vsphere_datastore.iso_datastore.id
path = "ISO/Ubuntu/ubuntu-16.04-desktop-amd64.iso"
}
}
Во время работы terraform применить, получая приведенную ниже ошибку, «имя» в разделе диска устарела, поэтому используется «метка», ошибка, связанная с разделом диска.
disk {
+ attach = false
+ datastore_id = "<computed>"
+ device_address = (known after apply)
+ disk_mode = "persistent"
+ disk_sharing = "sharingNone"
+ eagerly_scrub = false
+ io_limit = -1
+ io_reservation = 0
+ io_share_count = 0
+ io_share_level = "normal"
+ keep_on_remove = false
+ key = 0
+ label = "disk0"
+ path = (known after apply)
+ size = 30
+ thin_provisioned = true
+ unit_number = 0
+ uuid = (known after apply)
+ write_through = false
}
+ network_interface {
+ adapter_type = "vmxnet3"
+ bandwidth_limit = -1
+ bandwidth_reservation = 0
+ bandwidth_share_count = (known after apply)
+ bandwidth_share_level = "normal"
+ device_address = (known after apply)
+ key = (known after apply)
+ mac_address = (known after apply)
+ network_id = "dvportgroup-7876"
}
}
Plan: 1 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
vsphere_virtual_machine.New-VM: Creating...
Error: disk.0: error creating disk: virtual machine with UUID "" not found
on main.tf line 43, in resource "vsphere_virtual_machine" "New-VM":
43: resource "vsphere_virtual_machine" "New-VM" {
Не уверен, если это связано к вопросу https://github.com/terraform-providers/terraform-provider-vsphere/issues/967, позвольте мне, если есть какое-то решение, я использую Terraform v0.12.18.