Объедините значения переменных и явно определенные значения переменных в тегах Terraform для AWS - PullRequest
0 голосов
/ 03 февраля 2020

В настоящее время я работаю над требованием сделать теги Terraform для ресурсов AWS более модульными. В этом случае будет один тег «Функция», который будет уникальным для каждого ресурса, а остальные теги, которые будут прикреплены, будут применяться ко всем ресурсам. Я пытаюсь объединить уникальное значение «Function» с другими тегами для каждого ресурса.

Вот что я получил до сих пор:

tags = {
Resource = "Example",
"${var.tags}

Это значение тегов определяется как карта в файле variables.tf следующим образом:

variable "tags" {
type        = map
description = "Tags for infrastructure resources."
}

и заполняется в файле tfvars :

tags = {
    "Product"     = "Name",
    "Application" = "App",
    "Owner"       = "Email"
}

Однако, когда я запускаю TF Plan , я получаю сообщение об ошибке:

Expected an attribute value, introduced by an equals sign ("=").

Как можно комбинировать переменные, как это, в Terraform? Заранее спасибо за помощь.

1 Ответ

1 голос
/ 04 февраля 2020

понял это после дальнейшего тестирования. Здесь вы go:

tags = "${merge(var.tags, 
                map("Product", "Product Name", 
                    "App", "${var.environment}")
               )
         }"

Итак, еще раз: этот код объединит переменную map тегов, которые (в моем случае) применимы ко многим ресурсам с тегом ( Продукт и приложение), которые являются уникальными для каждого ресурса инфраструктуры. Надеюсь, это поможет кому-то в будущем. Счастливый Терраформинг.

...