#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/