Я выполняю рефакторинг в нескольких файлах Terraform. Одной из задач является переименование ресурсов из kebab-case в snake_case.
Чтобы предотвратить уничтожение и воссоздание указанных ресурсов, я использовал terraform state mv
. Теперь, по некоторым причинам, я надеюсь понять здесь, это все еще уничтожает ресурсы. Я вижу 2 вопроса:
1- Идентификаторы вычисляются снова.
2- Ссылки на переменные принимаются как литералы.
Пример:
-/+ aws_volume_attachment.att_ebs_caldat_axon_apps (new resource required)
id: "vai-4287143552" => <computed> (forces new resource)
device_name: "/dev/xvdb" => "/dev/xvdb"
force_detach: "true" => "true"
instance_id: "i-0ca294d44635d3ace" => "${module.instance_axon.instance_id}" (forces new resource)
volume_id: "vol-0298f5247bb2aa312" => "${aws_ebs_volume.ebs_caldat_axon_apps.id}" (forces new resource)
Я использую Terraform 0.11.14
Команда для перемещения состояния для этого ресурса была terraform state mv aws_volume_attachment.att-ebs-caldat-axon-apps aws_volume_attachment.att_ebs_caldat_axon_apps
Я не знаю, что мне не хватает. Любая помощь приветствуется.