terraform - 何时/何地初始化或注入数据 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
填充。
解决方案
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
,它们的输出是相同的。
推荐阅读
- batch-file - 批处理脚本回显动态变量
- android-asynctask - 作业调度程序不会在 android 的给定时间上重复其工作
- haskell - Haskell:翻转功能的目的?
- quantum-computing - 在 Q# 中循环遍历数组
- powerbi - Power BI:将重复表转换为参考表
- ruby-on-rails - 在 select 语句中有 3 个或更多列用于选择表不起作用
- spring - Spring Contract Maven 插件 pushStubsToScm 不起作用
- linux - 如何在pjsip中添加webrtc aec,在嵌入式Linux上运行
- android - Android 上 Firebase Crashlytics 的本机堆栈跟踪
- django - Django:重定向不起作用