在尝试为VSphere中的虚拟机分配内存和num_cpus时,我试图从模板中提取内存和num_cpus。但是当我试图这么做的时候,我得到了一个错误。这是我的资源:
data "vsphere_virtual_machine" "template" {
name = var.vm-template-name
datacenter_id = data.vsphere_datacenter.dc.id
}
resource "vsphere_virtual_machine" "vm" {
count = var.vm-count
name = "${var.vm-name}-${count.index + 1}"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
folder = var.vm-folder
#####Problem Area############################################
num_cpus = data.vsphere_virtual_machine.template.num_cpus
memory = data.vsphere_virtual_machine.template.memory
#############################################################
guest_id = data.vsphere_virtual_machine.template.guest_id
scsi_type = data.vsphere_virtual_machine.template.scsi_type
firmware = data.vsphere_virtual_machine.template.firmware
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = data.vsphere_virtual_machine.template.network_interface_types[0]
}
disk {
label = "disk0"
size = data.vsphere_virtual_machine.template.disks.0.size
eagerly_scrub = data.vsphere_virtual_machine.template.disks.0.eagerly_scrub
thin_provisioned = data.vsphere_virtual_machine.template.disks.0.thin_provisioned
}
clone {
template_uuid = data.vsphere_virtual_machine.template.id
customize {
windows_options {
auto_logon_count = 2
computer_name = "HarshitDev"
organization_name = "Philips"
}
}
}
}下面是我运行'terraform验证‘时所遇到的错误:
错误:不支持的属性 在main.tf第39行中,在资源"vsphere_virtual_machine“”vm“中: 39: data.vsphere_virtual_machine.template.num_cpus = num_cpus 该对象没有名为"num_cpus“的参数、嵌套块或导出属性。 错误:不支持的属性 在main.tf第40行中,在资源"vsphere_virtual_machine“”vm“中: 40:内存= data.vsphere_virtual_machine.template.memory 此对象没有参数、嵌套块或名为“内存”的导出属性。
发布于 2022-03-15 17:05:42
您可以通过使用与所使用的数据源相同的数据源来提取给定模板的内存和CPU。但是,看起来您使用的是vSphere提供程序插件的旧版本。
不要使用当前版本,而是切换到以下版本:
terraform {
required_providers {
vsphere = {
source = "hashicorp/vsphere"
version = "2.1.1"
}
}
}https://stackoverflow.com/questions/61231431
复制相似问题