Наверное, каждый кто работал с terraform сталкивался с ситуацией когда нужно переименовать или переместить несколько ресурсов, или (хуже) не делал этого из-за поведения Терраформа. Проблема в том, что если мы меняем имя или расположение в коде некоторого ресурса, терраформ пытается его удалить и создать новый с новым именем.
Чтобы решить эту проблему приходится писать несколько команд terraform state mv, чтобы имеющиеся облачные ресурсы находились по новому пути.
В Terraform 1.1 (который вышел в конце 2021) появился новый синтаксис языка: блок moved, который помогает в таком рефакторинге.
Но если в процессе рефакторинга переезжает особенно много ресурсов, то даже писать блоки moved {} становится проблематично.
Для решения этой проблемы есть утилита tfautomv (http://e42.link/3EpnLfC), которая анализирует вывод terraform plan и сама подставляет набор таких блоков.
Надеемся рефакторить ваш код на терраформе теперь станет проще.
Post #1468
8.69K
- 👍 25
- 🔥 9
- 🤯 2