如何从可用区 ID 中查找可用区名称?
how to lookup availability zone name from availability zone 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}"
...
}
另一种方法是获取该区域支持的可用性区域,然后使用索引。然后可以这个索引。
示例:
数据"aws_availability_zones""available_az"{}
然后在您的资源上使用以下 with index.如果您想使用第一个可用区,则使用索引 0。如果您想使用第二个可用区,则使用索引 1。
availability_zone = "${元素(data.aws_availability_zones.available_az.names, 0)}"
在我的 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}"
...
}
另一种方法是获取该区域支持的可用性区域,然后使用索引。然后可以这个索引。
示例:
数据"aws_availability_zones""available_az"{}
然后在您的资源上使用以下 with index.如果您想使用第一个可用区,则使用索引 0。如果您想使用第二个可用区,则使用索引 1。
availability_zone = "${元素(data.aws_availability_zones.available_az.names, 0)}"