在terraform .tf文件中,我有一个variables,定义如下:
variable "cluster" { type = "string" default = "test_cluster" }
我使用该variables来定义AWS VPC。
resource "aws_vpc" "${var.cluster}_vpc" { # ... configuration ... }
我的问题是,当我想使用先前定义的AWS VPC的ID(名为${var.cluster}_vpc
的id)关联AWS DHCP Option ${var.cluster}_vpc
。 我想要做的逻辑视图(这将不起作用,因为Terraform不支持嵌套插值)是:
resource "aws_dhcp_options_association" "${var.cluster}_dhcp_assoc" { "vpc_id" = "${{var.cluster}_vpc.id}" }
当some_cluster
实际上由${var.cluster}
定义时,如何引用${var.cluster}
?
好。 我认为,如果我将VPC本身添加为模块,则可以传入${cluster}
并返回${vpc_id}
,供需要该值的各种组件使用。
编辑:设置vpc.tf作为模块是正确的方法。
你不能这样做terraform
resource "aws_vpc" "${var.cluster}_vpc" {
是的,你想创build一个模块,并将值传递给模块来做你想要做的事情