Назад | Перейти на главную страницу

Terraform: оставь что-нибудь в покое

Я использую Terraform с AWS. В настоящее время у меня есть группа автоматического масштабирования, которая используется вместе с Code Deploy. Когда я развертываю Code Deploy, он копирует исходную ASG и удаляет ее. Проблема в том, что когда я запускаю «terraform plan / apply», он хочет воссоздать исходную ASG и повторно указать мою группу развертывания кода.

Очевидно, это ломает вещи. Могу ли я сказать Terraform, чтобы я оставил мой материал ASG / CodeDeploy в покое? Я бы прокомментировал модули, содержащие эти элементы, но я боюсь, что Terraform посмотрит на текущее состояние, увидит, что некоторые компоненты отсутствуют, и попытается удалить их.

Любая помощь приветствуется.

В надежде, что это будет отмечено как ответ, комментарий @mblakele является эффективным решением этой проблемы.

Правило жизненного цикла ignore_changes может влиять на принудительное выполнение состояния ресурса, так что Terraform будет создавать ресурс и уничтожать его только в том случае, если конфигурация TF не изменится.

Это может быть добавлено к данному блоку ресурсов, чтобы повлиять на поведение, описанное выше:

lifecycle {
  ignore_changes = all
}  

Уничтожение этого ресурса все равно может привести к ошибке (его не существует), хотя это можно рассматривать как точку взаимодействия, если это произойдет.