mcpField
T
terraform-azurerm-set-diff-analyzer

terraform-azurerm-set-diff-analyzer

github.com/githubクラウド・DevOps40.5k8.9k 回インストール今日更新
リポジトリ

terraform-azurerm-set-diff-analyzer について

Terraform AzureRM の plan 差分を分析するスキルです。Set 型属性による誤検知を特定し、実際のリソース変更と区別するため、plan の確認や CI/CD での差分処理に使えます。

主な機能

  1. 01Terraform plan JSON の読み取り
  2. 02Set 属性による誤検知の特定
  3. 03実際のリソース変更との区別
  4. 04CI/CD での差分フィルタリング

活用シーン

  1. 01Application Gateway の plan 確認
  2. 02Load Balancer や NSG の差分調査
  3. 03CI/CD での誤検知フィルタリング

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/github/awesome-copilot --skill terraform-azurerm-set-diff-analyzer

インストール後、Claude Code で/terraform-azurerm-set-diff-analyzerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
azurerm_set_attributes.json
azurerm_set_attributes.md
scripts/
.gitignore
analyze_plan.py
README.md

詳細

Terraform AzureRM Set Diff アナライザー

Terraform プランにおいて AzureRM Provider の Set 型属性に起因する「偽陽性の差分」を特定し、実際の変更と区別するためのスキルです。

使用する場面

  • terraform plan で多くの変更が表示されるが、実際には要素を 1 つ追加または削除しただけである
  • Application Gateway、Load Balancer、NSG などで「すべての要素が変更された」と表示される
  • CI/CD において偽陽性の差分を自動的にフィルタリングしたい

背景

Terraform の Set 型はキーではなく位置で比較するため、要素を追加または削除すると、すべての要素が「変更された」として表示されます。これは Terraform の一般的な問題ですが、Application Gateway、Load Balancer、NSG など Set 型属性を多用する AzureRM リソースでは特に顕著になります。

これらの「偽陽性の差分」は実際にはリソースに影響を与えませんが、terraform plan の出力をレビューする際の妨げになります。

前提条件

  • Python 3.8+

Python が利用できない場合は、お使いのパッケージマネージャー(例: apt install python3、brew install python3)または python.org からインストールしてください。

基本的な使い方

# 1. Generate plan JSON output
terraform plan -out=plan.tfplan
terraform show -json plan.tfplan > plan.json

# 2. Analyze
python scripts/analyze_plan.py plan.json

トラブルシューティング

  • python: command not found: python3 を使用するか、Python をインストールしてください
  • ModuleNotFoundError: スクリプトは標準ライブラリのみを使用しています。Python 3.8+ がインストールされていることを確認してください

詳細ドキュメント

コメント