terraform-provider-aws - 如何从可用区 id 查找可用区名称?
问题描述
在我的 tf 文件的某些地方,我提供了一个availability_zone_id
. 例如
variable "az_id" { }
resource "aws_subnet" "main" {
vpc_id = "${aws_vpc.main.id}"
cidr_block = "${var.subnet_cidr_block}"
availability_zone_id = "${var.az_id}"
map_public_ip_on_launch = true
}
...并在my.tfvars
文件中:
az_id = "euw2-az1"
在其他地方,我需要提供一个availablity_zone
名称。例如
resource "aws_ebs_volume" "controller-ebs-sdb" {
availability_zone = "${var.az}"
size = 1024
type = "gp2"
}
terraform 中有没有办法从可用区 ID 中查找可用区名称?
解决方案
我通过创建一个变量az
并删除az_id
az = "eu-west-2a"
...并添加数据元素
data "aws_availability_zone" "main" {
name = "${var.az}"
}
resource "aws_subnet" "main" {
...
availability_zone_id = "${data.aws_availability_zone.main.zone_id}"
...
}
resource "aws_ebs_volume" "controller-ebs-sdb" {
availability_zone = "${var.az}"
...
}
推荐阅读
- vba - 如何为每个循环向下移动 1 行直到单元格为空
- python - 用 shapefile 或 geopandas 绘制蒙面的南极洲
- c++ - 派生类不使用基类中的所有纯虚方法
- sql - 如何检查每条记录是否有多个列不为空?
- svn - 文件在 SVN 中标记为已修改但没有更改
- excel - 代码需要移动 2000 行以查看范围内的任何单元格是否有“Y”,是否在第一列中写入“Y”
- r - 循环中 i 的名称 - R
- r - 我的 R geom_bar 图例中的“N = 1”框是什么,如何删除?
- javascript - 如何使用 JS 创建带有渐变行的表格?
- angular - 如何删除在 Firefox 上运行的 Videogular2 CuePoints 上的“轨道”?