Mic*_*ele 6 string tuples azure terraform azure-rm
我有以下 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"
}
]
Run Code Online (Sandbox Code Playgroud)
资源
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)
}
Run Code Online (Sandbox Code Playgroud)
当我设置规则时ip_rules = ["2.2.2.2", "3.3.3.3"]
,创建的规则没有问题,但我想以某种方式从上面的 allowed_ips 中解析变量。
我尝试过各种方法,包括
jsonencode(var.allowed_ips.*.ip_address)
"${join("\\,", local.subnets.*.id)}"
不幸的是大多数解决方案都会抛出错误Inappropriate value for attribute "ip_rules": set of string required.
任何帮助将不胜感激
您可以使用简单的 for 循环来创建集合:
ip_rules = [for i in var.allowed_ips : i.ip_address]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15727 次 |
最近记录: |