我在这里https://github.com/linuxacademy/content-terraform/blob/master/course/terraform-aws/networking/main.tf阅读terraform代码,这是我不太了解的代码。
data "aws_availability_zones" "available" {}
....
resource "aws_subnet" "tf_public_subnet" {
count = 2
vpc_id = "${aws_vpc.tf_vpc.id}"
cidr_block = "${var.public_cidrs[count.index]}"
map_public_ip_on_launch = true
availability_zone = "${data.aws_availability_zones.available.names[count.index]}"
tags {
Name = "tf_public_${count.index + 1}"
}
}
我不知道何时填充data.aws_availability_zones
。
答案 0 :(得分:1)
data.aws_availability_zones
是数据源,不同于resource
(您粘贴的下一个代码)
请浏览该网址terraform data source,以了解数据源的工作原理
如果您不了解data.aws_availability_zones
的工作原理,请浏览此网址Data Source: aws_availability_zones
因此,从其Attributes Reference
来看,我们知道它将有助于获得当前帐户的可用区。
zone_ids - A list of the Availability Zone IDs available to the account.
其属性name
是zone_ids
的别名,它们的输出是相同的。