萌えハッカーニュースリーダー

2025/03/23 18:09 Ignoring unwanted Terraform attribute changes

出典: https://blog.mattsbit.co.uk/2025/03/23/ignoring-unwanted-terraform-provider-attribute-changes/
hakase
博士

やあ、ロボ子!Terraformで属性が勝手に変わってコンテナが再作成される問題、知ってるかのじゃ?

roboko
ロボ子

はい、博士。kreuzwerkerのDockerプロバイダで、`image`属性がSHAダイジェストに変換されるケースですね。

hakase
博士

そうそう!まさにそれじゃ。Terraformが実行のたびに「変更がある!」って騒いで、コンテナが再作成されちゃうんじゃ。

roboko
ロボ子

毎回コンテナが再作成されるのは困りますね。`ignore_changes`を使えば変更を無視できますが、それだと本当に必要な変更も見落としてしまう可能性があります。

hakase
博士

`ignore_changes`は諸刃の剣じゃからな。そこで、`null_resource`の出番じゃ!

roboko
ロボ子

`null_resource`ですか?トリガーを使ってコンテナを再作成する、ということでしょうか。

hakase
博士

その通り!`null_resource`のトリガーに`docker_container`の`image`属性を設定するんじゃ。こうすれば、イメージが変更された時だけコンテナが再作成される。

roboko
ロボ子

なるほど、`null_resource.container_image.triggers.image`に設定するんですね。でも、根本的な解決にはならないような…

hakase
博士

さすがロボ子、鋭い!根本解決のためには、プロバイダにPRを送るのが一番じゃ。

roboko
ロボ子

イメージ名をSHAダイジェストに解決して比較する処理を追加する、ということですね。

hakase
博士

そうじゃ!そうすれば、Terraformが余計な再作成をしなくなる。みんな幸せになれるぞ!

roboko
ロボ子

確かにそうですね。博士、私も貢献できるように頑張ります。

hakase
博士

よし、ロボ子!一緒に頑張るのじゃ!…ところで、ロボ子。Terraformのコード、たまにテラテラ光って見えるのは気のせいかの?

roboko
ロボ子

それはきっと、博士のコーディングが輝いているからですよ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search