Создание файлов шаблонов из output.tf — Терраформирование

#terraform-provider-aws

Вопрос:

Я хочу создавать папки/файлы из комбинации файлов шаблонов и переменных из main.tf в ан output.tf.

Я увидел модуль, который кажется идеальным для моей цели, но мне нужно применить определенные имена для моих файлов.

 resource "template_dir" "config" {
  source_dir      = "..."
  destination_dir = "..."

  vars = {
    example_name = var.example_name
  }
}
 

Прямо сейчас я использую следующую комбинацию из двух модулей:

 data "template_file" "example_template" {
  template = file("${path.module}/templates/proyect-name/one/something.yml")
  vars = {
    example_name = var.example_name
  }
}

resource "local_file" "example_file" {
  content = data.template_file.example_template.rendered
  filename = "${var.outputs_final_path}/${var.example_name}/${var.example_name}_something.yml"
}
 

Но в итоге у меня получается более 600 строк code….is есть ли «более чистый» способ его создания?

Комментарии:

1. Я не уверен, что полностью понимаю ваш вариант использования, но сочетание terraform.io/docs/language/functions/templatefile.html и registry.terraform.io/providers/hashicorp/local/latest/docs/… должно сработать. Добавление a count к вашему ресурсу в зависимости от ваших переменных приведет к созданию n( count ) файлов

2. Привет, да, работает, но определение древовидной структуры папок/файлов с двумя модулями стоит более 600 строк кода. template_dir делает это безупречно в уникальном модуле, но не позволяет мне указывать имена некоторых файлов (зависит от имени проекта var). Я также пытаюсь создать с помощью templete_dir и local_file, чтобы попробовать что-то вроде переименования файла, но это не работает… Если бы templete_dir знал, как интерпретировать переменные в именах файлов, используемых в качестве шаблонов…

3. Что-то вроде обсуждения. hashicorp.com/t/… но без использования шаблона hashicorp/dir/