Terragrunt игнорирует новые добавленные результаты в проекте

#terraform #terragrunt

Вопрос:

Я унаследовал проект terraform, настроенный для развертывания в сервисе эластичных контейнеров на AWS.

До сих пор мне очень нравилось работать с ним, и мне удалось изменить несколько вещей, несмотря на то, что я был очень новичком в терраформировании.

Наш проект использует terragrunt для защиты окружающей среды, и я уже вносил изменения в файлы, чтобы добавить настройки для конкретной среды, и все прошло отлично.

Тем не менее, я попытался добавить совершенно новый блестящий модуль, и… террагрант ненавидит это.

Это код, который я пытался добавить:

 terraform {  source = "${path_relative_from_include()}/../modules//auto_scaling" }  dependency "analytics_cluster" {  config_path = "../analytics_cluster" }  dependency "analytics_app" {  config_path = "../analytics_app" }  include {  path = find_in_parent_folders() }  inputs = {  ecs_cluster_name = dependency.analytics_cluster.outputs.name  ecs_app_service_name = dependency.analytics_app.outputs.app_service_name  ecs_sidecar_service_name = dependency.analytics_app.outputs.sidecar_service_name  }  dependencies {  paths = [  "../analytics_cluster",  "../analytics_app",  ] }  

и ошибка, которую я получаю, заключается в том, что:

 terragrunt.hcl:19,62-79: Unsupported attribute; This object does not have an attribute named "app_service_name"., and 1 other diagnostic(s)  

Это переменная, которую я добавил в выходные данные модуля, зависимость которого я установил.

Вот как выглядят выходные данные:

 # output "service_name" { # value = module.analytics_app.service_name # }  output "app_service_name" {  value = module.analytics_app.app_service }  output "sidecar_service_name" {  value = module.analytics_app.sidecar_service }  

Самое странное, если я изменю файл .hcl на закомментированный вывод, вот так:

 inputs = {  ecs_cluster_name = dependency.analytics_cluster.outputs.name  ecs_app_service_name = dependency.analytics_app.outputs.service_name  }  

then this is a valid input, despite the fact that service_name is now commented out.

Why are the new output variables not being picked up? And why is the old variable which I’ve removed still present?