1

我有一个奇怪的情况如下图

变量声明为:

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 和子网的值。问题是该变量中会有很多值。如果我运行 for_each 我想在模块中设置如果键是“abc”然后访问内部 (key,value) 其他明智的跳过。这在 terraform 中可能吗?

提前致谢!

4

1 回答 1

1

如果您真的希望像这样进行过滤,则应该使用以下构造:

for_each = {for k,v in var.subnet_info: k=>v if k == "abc"}
于 2020-08-10T13:32:37.567 回答