首页 > 解决方案 > 何时/何地初始化或注入数据 aws_availability_zones?

问题描述

我在这里阅读 terraform 代码https://github.com/linuxacademy/content-terraform/blob/master/course/terraform-aws/networking/main.tf这是我不太明白的代码。

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填充。

标签: terraform

解决方案


data.aws_availability_zones是数据源,不同于resource(您粘贴的下一个代码)

请浏览此 url terraform 数据源以了解数据源的工作原理

如果您不了解其data.aws_availability_zones工作原理,请通过此 url数据源:aws_availability_zones

所以从它Attributes Reference,我们知道它将有助于获取当前帐户的可用区。

zone_ids - A list of the Availability Zone IDs available to the account.

它的属性name是 的别名zone_ids,它们的输出是相同的。


推荐阅读