【发布时间】:2021-04-14 14:26:09
【问题描述】:
我使用的是 terraform 版本 0.14.3。 我有一个用于创建 Azure 网络接口卡的模块,如下所示:
resource "azurerm_network_interface" "nic" {
name = var.nic_name
location = var.location
resource_group_name = var.rg_name
ip_configuration {
name = var.ipconfig_name
subnet_id = var.subnet_id
private_ip_address_allocation = "Dynamic"
}
}
它的输出定义为:
output "nic_id" {
value = azurerm_network_interface.nic.id
}
我在这个父模块中调用这个模块:
module "NIC" {
source = "./NIC"
for_each = var.nics
nic_name = each.value.nic_name
location = "eastus2"
rg_name = "abc-test-rg"
ipconfig_name = each.value.ipconfig_name
subnet_id = <subnet_id>
}
output "nic_ids" {
value = [for k in module.NIC.nic_id : k.id]
}
网卡值定义如下:
nics = {
nic1 = {
nic_name = "abc-nic-1"
ipconfig_name = "nic-1-ipconfig"
}
}
我想循环显示 NIC 输出 ID,并希望它们显示出来。 当我运行上面的代码时,我在 terraform plan 中遇到以下错误:
Error: Unsupported attribute
on main.tf line 15, in output "nic_ids":
15: value = [for k in module.NIC.nic_id : k.id]
|----------------
| module.NIC is object with 1 attribute "nic1"
This object does not have an attribute named "nic_id".
我该如何解决?
【问题讨论】:
标签: azure terraform terraform-provider-azure