Источник данных template_file
продолжает существовать для пользователей Terraform 0.11 и более ранних версий, но, поскольку вы используете версию Terraform 0.12, я бы рекомендовал вместо этого использовать функцию templatefile
. Поскольку он встроен непосредственно в Terraform, он может создавать лучшие сообщения об ошибках.
Чтобы использовать его, вы можете заменить свои ссылки на data.template_file.handler.rendered
прямым вызовом templatefile
. Если вы используете этот результат визуализации в нескольких местах, вы можете присвоить результат templatefile
локальному значению и ссылаться на него в нескольких местах.
templatefile("${path.module}/templates/handler.js", {
ENDPOINT = var.domain
PASSWORD = var.password
})
Сообщение об ошибке выsaw предполагает, что в самом шаблоне есть синтаксическая ошибка, но поскольку template_file
реализован в отдельном поставщике, он сообщает об этой синтаксической ошибке бесполезным способом, указывая на конкретное местоположение источника, но не включая соответствующий фрагмент исходного кода.
Если вместо этого вы используете templatefile
, Terraform, возможно, сам сообщит об этой синтаксической ошибке и предоставит более подробную информацию о ней.
В любом случае, похоже, что синтаксическая ошибка находится в строке 280 столбца 49 вашейФайл handler.js
вызван тем, что механизм шаблонов Terraform ожидает найти }
для закрытия последовательности интерполяции ${ ... }
, но вместо этого находит что-то другое. Если вы исправите эту синтаксическую ошибку, рендеринг шаблона должен быть успешным при любом подходе.