我为Azure虚拟机创建了一个模块,该模块具有计数并输出虚拟机名称,以便在其他terraform模块/文件中使用。
模块:
resource "azurerm_virtual_machine" "virtual_machine"{
name = <>
count = 2
......
..
}
output.tf
output "vm_name" {
value = "${azurerm_virtual_machine.virtual_machine.*.name}"
}
VM.tf
module "testworkstation"
{
source = "/module/virtual_machine"
.....
}
当我将vm名称值传递给创建监视警报的其他Terraform时,它将失败。
module "cpu-credits-consumed-win-vm" {
source = "../modules/monitor_metric_alert"
name = "test_${module.testworkstation.vm_name}"
下面是我们得到的错误。
Error: Error refreshing state: 1 error occurred:
* module.cpu-credits-consumed-win-vm.var.name: At column 1, line 1: output of an HIL expression must be a string, or a single list (argument 2 is TypeList) in:
test_${module.testworkstation.vm_name}
这里有帮助吗?