【发布时间】:2022-11-17 18:15:30
【问题描述】:
多变的:
gateways:
gateway1:
routingConfig:
sslCertificates: [
"a",
"b"
],
## amended for brievity
gateway2:
routingConfig: {}
## amended for brievity
代码尝试:
data "azurerm_key_vault_secret" "ssl_certificates" {
for_each = {
for k, v in local.gateways : v.routing_config.ssl_certificates
if v.routing_config != {}
}
name = each.value
key_vault_id = data.azurerm_key_vault.ssl_certificates.id
}
这不起作用,它只为每个网关创建一个迭代并尝试将元组插入名称:
each.value 是包含 2 个元素的元组
这是预料之中的,如果你考虑一下,但我不知道如何在循环中做一个循环
对于网关,相同的数据结构有效,因为我可以为 ssl_certificates 属性做动态处理,但我认为我不能在这里这样做
【问题讨论】:
-
这甚至不是有效的 TF 代码。什么是
routing_config?您的“变量”中没有这样的东西。请提供代码和您正在使用的实际变量。 -
wdym有没有这个东西?有,这是一个有效的 tf 代码,我只删除了
{和}因为它们只会弄乱屏幕
标签: azure loops terraform terraform-provider-azure hashicorp