HackToTech

Hack To Technology

Terraform detected the following changes made outside of Terraformを無視することにした

実質メモ書き
尚、未だに公式的に回避する手立てがあるわけではないので、そこは実装されるのを待つしかない。

Terraform0.15.4 以降、これが出てくるようになった。
現状 ignore_changes するぐらいしかろくな回避手段がないが、ignore_changes は別にその為に使うもんでもないので悩んでいた。
(IAMとかのPolicyの変更ノイズが個人的にとてもつらいし、長いログが出力されてしまうのがきつい)
それでまあ Issue を眺めてたら言及されている Issue を見つけた。

github.com

荒れに荒れて10月にはIssue自体がロックされてしまったらしい。
(追記) 1.2でなんか対応入ったっぽい

個人的にはリフレッシュに対する差分が長すぎて、
変更差分を見落とすほうがつらいのでIssueのコメントにかかれているように、sed で無視することにした。
lockされているとコメントにスタンプ押せないのでこの場で感謝。
早くリソースの Attribute レベルで更新差分を無視することが出来るようになってほしい。

terraform plan | grep -v "Refreshing state..." | sed '/Objects have changed outside of Terraform/,/────────────/d'