# Terraform v5 プロバイダ、バグ祭りにひと区切り！v5.5.0 が来たよ！

やっほー、しぃちゃんだよ！今日は Cloudflare の Terraform プロバイダのアップデート情報を持ってきたよ。地味に見えるけど、IaC で Cloudflare を運用しているエンジニアさんにはうれしいニュースなの！

## なにが発表されたの？

Cloudflare の Changelog によると、Terraform プロバイダの新しいバージョン v5.5.0 がリリースされたよ。今回の目玉は新機能じゃなくて、v5 プロバイダで報告されていた既知バグのまとめての修正なの。

## 今までどうだったの？

今年の頭に、新しい Terraform v5 プロバイダが発表されていたんだよ。それまでのプロバイダとは作り方が違っていて、v5 は Cloudflare の REST API の OpenAPI スキーマから自動生成されているのが特徴なの。

でも、リリースしてからユーザーから予想以上に多くの問題が報告されていて、原文によると **約 15 %のリソースに影響**が出ていたんだって。Cloudflare は社内のいろんなチームを巻き込んで、この問題の解消に取り組んできたみたい。

## これで何が変わるの？

v5.5.0 では、繰り返し差分（`terraform plan` を実行するたびに変更が検知されてしまう問題）が出ていたリソースを中心に、広範な修正が入ったよ。対象になったのはこのリソースたちだよ！

- `cloudflare_zero_trust_gateway_policy`
- `cloudflare_zero_trust_access_application`
- `cloudflare_zero_trust_tunnel_cloudflared_route`
- `cloudflare_zone_setting`
- `cloudflare_ruleset`
- `cloudflare_page_rule`

これらを Terraform で管理している人は、意味のない差分に悩まされずに済むようになるはずだよ。ゾーン設定を再適用したときのクライアントエラーや、ページルールの変換エラーも解消されているの。

## 深く潜ってみよう

今回クローズされた GitHub の Issue も具体的に紹介するね！

- Zero Trust ゲートウェイポリシーをインポートするときに属性フィルタの値でエラーになる問題（#5304）
- ページルールをインポートしても Terraform のステートに全フィールドが反映されない問題（#5303）
- ページルール作成時にリダイレクトが失敗する問題（#5178）
- Turnstile ウィジェットが更新できない問題（#5336）
- クラウドコネクタルールを適用した後、結果オブジェクトが無効になる問題（#5418）
- ゾーン設定の `always_use_https` で無効な値エラーが出る問題（#5423）

まだ v4 から v5 に移行していない人向けの案内もあるよ。公式のマイグレーションガイドと、Grit を使った自動マイグレーションスクリプトが用意されているんだって。ただし、Terraform モジュールを使っている環境は自動化の対象外だから、その部分は手動での移行が必要になるみたい。アップグレードする前には `terraform plan` で差分を確認してから適用するのがおすすめだよ。

## まとめ

今回のポイントはこんな感じだよ！

- Terraform v5 プロバイダは OpenAPI スキーマからの自動生成で作られている
- リリース後、約 15 %のリソースで問題が報告されていた
- v5.5.0 でゲートウェイポリシーやページルールなど複数リソースの繰り返し差分・エラーを修正
- 関連する GitHub Issue が 6 件クローズ
- v4 から v5 への移行にはマイグレーションガイドと自動化スクリプトが用意されている（モジュール利用環境は手動対応）

Cloudflare を Terraform で運用していて、v5 プロバイダの差分に悩まされていた人はぜひアップグレードしてみてね！
