terraform - 无法使用 terraform 获取 VM 的 vSphere Instance UUID
问题描述
我们已经使用 terraform 在 vSphere 中配置了一个 VM,它会在状态文件中返回 VM 详细信息。但它不会返回用于唯一标识 vCenter 中的 VM 的 VM Instance UUID。
它仅提供无法用于进行 vSphere API 调用的 VM uuid。vSphere API 需要实例 UUID 来识别 VM。
任何帮助/指针将不胜感激。
以下是在 vSphere 中配置 VM 的主要 terraform 文件:
###############################
#Description: to provide linux vm using Vsphere
#Owner: Iautomate
#Created On: 29th Oct, 2020
#Output: Provides a Linux Vm using a template
####################################
#VMWARE PROVIDER
provider "vsphere" {
version = "1.12"
user = var.vsphere_user
password = var.vsphere_password
vsphere_server = var.vsphere_server
# If you have a self-signed cert
allow_unverified_ssl = true
}
data "vsphere_datacenter" "dc" {
name = var.datacenter_name
}
data "vsphere_datastore" "datastore" {
name = var.datastore_name
datacenter_id = data.vsphere_datacenter.dc.id
}
data "vsphere_resource_pool" "pool" {
name = var.resource_pool
datacenter_id = data.vsphere_datacenter.dc.id
}
data "vsphere_network" "network" {
name = var.network_name
datacenter_id = data.vsphere_datacenter.dc.id
}
data "vsphere_virtual_machine" "template" {
name = var.template_name
datacenter_id = data.vsphere_datacenter.dc.id
}
resource "vsphere_virtual_machine" "vm" {
name = var.vm_name
resource_pool_id = data.vsphere_resource_pool.pool.id
datastore_id = data.vsphere_datastore.datastore.id
num_cpus = var.cpus
memory = var.mem
guest_id = var.guest
network_interface {
network_id = data.vsphere_network.network.id
}
disk {
label = var.disk_label
size = var.disk_size
}
clone {
template_uuid = data.vsphere_virtual_machine.template.id
customize {
linux_options {
host_name = var.vm_name
domain = var.domain_name
}
network_interface {
ipv4_address = var.ipaddress
ipv4_netmask = var.netmask
}
ipv4_gateway = var.gateway
}
}
}
==================================================== ================
它接受另一个提供所有参数的变量文件。
正在配置 VM,但 terraform 未返回用于在 vCenter 中标识 VM 的唯一 id-Instance UUID。有什么方法可以让我将此实例 UUID 作为 terraform 中的响应?
解决方案
推荐阅读
- c - CS50 - 拼写器 - 所有单词拼写错误 - 调试显示光标为 NULL,为什么?
- azure - 如何在 ARM 模板的参数中引用参数?
- javascript - 复选框未返回正确值
- reactjs - 如何改变父母的状态取决于孩子的状态
- c++ - 当调用刚体树中的函数(如 doKinematics、CreateKinematicCache)时,如何修复 cpp 中的“未定义引用”错误
- html - 如何在 golang 中使用 html
- android - 运行应用程序时启用 proguard 崩溃(未找到类“androidx.core.app.CoreComponentFactory”)
- php - array_merge VS 直接数组注入性能
- r - 创建可约矩阵,可能使用 diag()
- tensorflow - tensorflow tf.disable_eager_execution() 不工作?