Terraform 如果地形图中的条件和要基于关键字索引的对象
我有一个奇怪的情况,如下所示 变量声明为:Terraform 如果地形图中的条件和要基于关键字索引的对象,terraform,terraform0.12+,Terraform,Terraform0.12+,我有一个奇怪的情况,如下所示 变量声明为: variable "subnet_info" { type = map(object({vpc_name=string, subnet_name=string, subnet_ip_range=string, region=string})) default = { abc = { vpc_name = "abc" subnet_name = "abc" subnet_ip_ra
variable "subnet_info" {
type = map(object({vpc_name=string, subnet_name=string, subnet_ip_range=string, region=string}))
default = {
abc = {
vpc_name = "abc"
subnet_name = "abc"
subnet_ip_range = ""
region = "europe-west3"
}
bcd = {
vpc_name = "bcd"
subnet_name = "bcd"
subnet_ip_range = ""
region = "europe-west3"
}
}
}
我已经声明了如下模块
module "abc" {
source = "./modular_approach/modules/general_network/"
for_each = var.subnet_info
individual_vpc_name = each.value
individual_subnet_name = each.value
}
我想从变量subnet_info传递vpc和subnet的值。问题是这个变量中有很多值。如果我运行for_each,我想在模块中设置条件,如果键为“abc”,则访问内部(键、值)以其他方式跳过。这在地形中可能吗
提前谢谢 如果您真的希望这样过滤,以下构造应该可以:
for_each = {for k,v in var.subnet_info: k=>v if k == "abc"}
为什么不直接将
abc
对象传递到模块中,而不是将所有不相关的网络传递到模块中呢?完全一样。用于查找,谢谢你的回答@Marcin。我如何使用lookup(lookup())@dumb_编码器感谢您让我知道。是的,不知怎的,我忘记了查找。不管怎样,很高兴这两种方法都奏效了:-)