Gok*_*mar 4 terraform terraform-provider-azure
我有一个带有 for_each 循环条件的资源块,我想输出资源块的名称和地址前缀。
\n主要.tf:
\nresource "azurerm_subnet" "snets" {\n for_each = var.subnets\n name = each.key\n resource_group_name = azurerm_resource_group.rg.name\n virtual_network_name = azurerm_virtual_network.vnet.name\n address_prefixes = [each.value]\n}\n
Run Code Online (Sandbox Code Playgroud)\n我尝试过类似的方法,但没有成功。
\n输出.tf
\noutput "azurerm-subnet" {\n value = azurerm_subnet.snets.*.name\n}\n
Run Code Online (Sandbox Code Playgroud)\n错误:
\n\xe2\x94\x82 Error: Unsupported attribute\n\xe2\x94\x82\n\xe2\x94\x82 on output.tf line 2, in output "azurerm-subnet":\n\xe2\x94\x82 2: value = azurerm_subnet.snets.*.name\n\xe2\x94\x82\n\xe2\x94\x82 This object does not have an attribute named "name".\n
Run Code Online (Sandbox Code Playgroud)\n
Mat*_*ard 11
list
这可以通过构造函数和表达式轻松完成for
。我们迭代 的map
导出属性并在每次迭代时azurerm_subnet.snets
返回值:name
output "azurerm_subnets" {
value = [ for subnet in azurerm_subnet.snets : subnet.name ]
}
Run Code Online (Sandbox Code Playgroud)
输出azurerm_subnets
将是 a list(string)
,其中每个元素都是子网名称。
归档时间: |
|
查看次数: |
5736 次 |
最近记录: |