amazon-web-services - 检索地图变量的子网 ID
问题描述
我已经创建了子网作为可用区和 CIDR 块的映射变量,并且
variable "public_subnets_list" {
type = map(any)
description = "Public Subnets"
default = {
"ap-south-1a" = "10.0.1.0/24"
"ap-south-1b" = "10.0.2.0/24"
}
}
这适用于使用以下代码在我的自定义 VPC 下创建子网
resource "aws_subnet" "public_subnet" {
depends_on = [
aws_vpc.terraform_vpc
]
for_each = tomap(var.public_subnets_list)
availability_zone = each.key
cidr_block = each.value
vpc_id = aws_vpc.terraform_vpc.id
tags = {
Name = "Public_Subnet_${each.key}"
}
}
如何从我获得的输出中检索和显示为各个 AZ 创建的子网 IDaws_subnet.public_subnet[*]
解决方案
从 Terraform文档中,splat 表达式不适用于使用for_each
参数的资源。
要使用 Terraform 配置检索子网 ID 列表,您可以执行以下操作:
output "subnet_ids" {
value = [for subnet in aws_subnet.public_subnet : subnet.id]
}
推荐阅读
- java - Kontakt.io SDK:有没有办法在信标列表中进行硬编码,以便我可以在需要搜索信标时随机提取它们?
- ios - 当导航器从第二页弹出时,来自背景的 Flutter webview 恢复应用程序显示白屏
- php - 如何更新特定会话的会话变量
- php - 如何通过ajax上传文件而不会超时?
- javascript - 如何在浏览器版本对数组中找到最小的版本号?
- adonis.js - 我们如何在发布请求中接受文件并将其上传到 Adonis JS 中的 mysql?
- php - 将值作为文本返回到 textarea
- python - 从电子邮件中获取 HTML 的问题:我只收到一串字符
- excel - 如何在excel中绘制汇总图
- linux - 创建目录并将图像上传到远程 Web 服务器