Мне нужно увидеть выходные данные плана Terraform, чтобы точно узнать , почему ресурсы воссоздаются.Указанные изменения будут помечены как "(новый ресурс)" .
Это может быть результатом вычисленных / сгенерированных значений / параметров, которые Terraform не может заранее увидеть, какими будут выходные данные.Например, рандомизированному значению, назначаемому переменной, или использованию переменной "disabled_on" в ресурсе.Последний может запускать Terraform для вычисления значений apply-time вместо plan-time , в этом случае он всегда помечает зависимый ресурс как необходимый для воссоздания.
Я также заметил, что файлы шаблонов могут вызывать это поведение из-за окончаний строк и того, чего нет в исходном файле, для которого Terraform постоянно видела изменения, например, между ранее примененными пользовательскими данными и файлом источника пользовательских данных на диске.
Пожалуйста, запустите terraform plan и проверьте, какая переменная вызывает новый ресурс.Обойдя их один за другим и оценив, что происходит, вы сможете определить, является ли Terraform логичным для воссоздания ресурса.
Если вы хотите получить дополнительную помощь, пожалуйста, опубликуйте результаты здесь, желательно такжеКод Terraform.
ОБНОВЛЕНИЕ: Глядя на выходные данные вашего плана Terraform, кажется, что два новых блока CIDR назначаются вашим существующим ресурсам.Вы уверены, что добавили два блока CIDR к предыдущим, в результате чего получился массив, содержащий всего 4 блока CIDR?
Terraform - это не столько скрипт (как вы на него ссылаетесь), сколько состояние ;Если вы уже применили свои предыдущие две подсети, изменение значений в коде Terraform приведет к изменению этих двух подсетей вместо создания двух дополнительных подсетей.Повторный запуск того же кода Terraform должен привести к абсолютно нулевым изменениям, , а не к тем же ресурсам, добавляемым снова и снова.