何时/在何处初始化或注入数据aws_availability_zones?

时间:2019-07-01 01:25:27

标签: terraform

我在这里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

1 个答案:

答案 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.

其属性namezone_ids的别名,它们的输出是相同的。