【发布时间】:2021-10-31 02:52:21
【问题描述】:
我有以下 terraform allowed_ips 元组,其中包含一个 json 的 ip 地址和有关每个 ip 的元数据。我正在尝试展平元组,以获取格式为 ["2.2.2.2", "3.3.3.3"] 的 IP 地址列表,然后将其传递给 ip_rules 变量
变量
allowed_ips = [
{
name = "ip1"
ip_address = "3.3.3.3"
},
{
name = "ip2"
ip_address = "127.0.0.1"
}
]
资源
variable "allowed_ips" {
type = list(object({
name = string,
priority = string,
ip_address = string
}))
}
network_acls {
default_action = "Deny"
bypass = "AzureServices"
ip_rules = jsonencode(var.allowed_ips.*.ip_address)
}
当我设置ip_rules = ["2.2.2.2", "3.3.3.3"] 时,规则创建没有问题,但我想以某种方式从上面的 allowed_ips 解析变量。
我尝试了各种方法,包括
jsonencode(var.allowed_ips.*.ip_address)"${join("\\,", local.subnets.*.id)}"- 通过 foreach 进行迭代,
不幸的是,大多数解决方案都会抛出错误Inappropriate value for attribute "ip_rules": set of string required.
任何帮助将不胜感激
【问题讨论】:
标签: string azure tuples terraform azure-rm