在 terraform .tf 文件中,我有一个变量,cluster
定义如下:
variable "cluster" {
type = "string"
default = "test_cluster"
}
我使用该变量来定义 AWS VPC。
resource "aws_vpc" "${var.cluster}_vpc" {
# ... configuration ...
}
我的问题是,当我想使用先前定义的 AWS VPC 的 id 关联 AWS DHCP 选项集时 - 名为${var.cluster}_vpc
. 我正在尝试做的事情的逻辑视图(因为 Terraform 不支持嵌套插值而无法工作)是:
resource "aws_dhcp_options_association" "${var.cluster}_dhcp_assoc" {
"vpc_id" = "${{var.cluster}_vpc.id}"
}
我如何引用${some_cluster_vpc.id}
实际some_cluster
定义的时间${var.cluster}
?
好的。我认为如果我将 VPC 本身添加为模块,我可以传入 a${cluster}
并返回 a${vpc_id}
以供需要该值的各种组件使用。
编辑: 将 vpc.tf 设置为模块是正确的方法。
你不能在 terraform 中做到这一点
是的,您想创建一个模块并将值传递给模块以轻松完成您想做的事情