gpt4 book ai didi

string - Terraform 将元组展平为字符串集

转载 作者:行者123 更新时间:2023-12-05 02:39:36 25 4
gpt4 key购买 nike

我有以下 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 进行迭代,

不幸的是,大多数解决方案都会抛出错误属性“ip_rules”的值不合适:需要一组字符串。

任何帮助将不胜感激

最佳答案

您可以使用简单的 for 循环来创建集合:

ip_rules = [for i in var.allowed_ips : i.ip_address]

关于string - Terraform 将元组展平为字符串集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69016536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com