В файле terraform .tf у меня есть переменная, cluster
определяется так:
variable "cluster" {
type = "string"
default = "test_cluster"
}
Я использую переменную для определения AWS VPC.
resource "aws_vpc" "${var.cluster}_vpc" {
# ... configuration ...
}
Моя проблема заключается в том, что я хочу связать набор параметров DHCP AWS, используя идентификатор ранее определенного AWS VPC - тот, который назван ${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 в качестве модуля, я смогу передать ${cluster}
и вернуть ${vpc_id}
для использования различными компонентами, которым требуется это значение.
РЕДАКТИРОВАТЬ: Настройка vpc.tf в качестве модуля была правильным подходом.
Вы не можете сделать это в терраформе
resource "aws_vpc" "${var.cluster}_vpc" {
Да, вы хотите создать модуль и передать значения в модуль, чтобы легко делать то, что вы хотите