Я использую Terraform с AWS. В настоящее время у меня есть группа автоматического масштабирования, которая используется вместе с Code Deploy. Когда я развертываю Code Deploy, он копирует исходную ASG и удаляет ее. Проблема в том, что когда я запускаю «terraform plan / apply», он хочет воссоздать исходную ASG и повторно указать мою группу развертывания кода.
Очевидно, это ломает вещи. Могу ли я сказать Terraform, чтобы я оставил мой материал ASG / CodeDeploy в покое? Я бы прокомментировал модули, содержащие эти элементы, но я боюсь, что Terraform посмотрит на текущее состояние, увидит, что некоторые компоненты отсутствуют, и попытается удалить их.
Любая помощь приветствуется.
В надежде, что это будет отмечено как ответ, комментарий @mblakele является эффективным решением этой проблемы.
Правило жизненного цикла ignore_changes может влиять на принудительное выполнение состояния ресурса, так что Terraform будет создавать ресурс и уничтожать его только в том случае, если конфигурация TF не изменится.
Это может быть добавлено к данному блоку ресурсов, чтобы повлиять на поведение, описанное выше:
lifecycle {
ignore_changes = all
}
Уничтожение этого ресурса все равно может привести к ошибке (его не существует), хотя это можно рассматривать как точку взаимодействия, если это произойдет.