想要识别子网名称以在 terraform 中创建地图

问题描述 投票:0回答:1

我一直在尝试找到一种方法来获取 AWS 中的子网名称...到目前为止还没有成功。我可以找到 arn、ids、cidrs...以及一堆其他内容。但是,不是名字。感谢帮助!

这就是我的目标。创建子网映射,以子网名称作为键,以子网 ID 作为值。显然 name 不是

data.aws_subnet
支持的属性。我已经搜索了“谷歌”,但运气不佳。

data "aws_subnets" "private" {
  tags = {
    Name = "private*"
  }
  filter {
    name   = "state"
    values = ["available"]
  }
}

data "aws_subnet" "private" {
  for_each = toset(data.aws_subnets.private.ids)
  id       = each.value
}

# wanting to create a map with subnet.name => subnet.id... but, name is an unsupported attribute.
private_subnet_ids = { for s in data.aws_subnet.private : trimprefix(s.name, "private") => s.id }
amazon-web-services terraform maps amazon-vpc subnet
1个回答
0
投票

你必须使用

tags["Name"]

private_subnet_ids = { for s in data.aws_subnet.private : trimprefix(s.tags["Name"], "private") => s.id }
© www.soinside.com 2019 - 2024. All rights reserved.