terraform-azurerm-set-diff-analyzer
AzureRMプロバイダーのTerraformプランJSONを解析し、Setタイプ属性の並び順変化による偽陽性のdiffと実際のリソース変更を区別します。Application Gateway、Load Balancer、Firewall、Front Door、NSGなど、内部的な順序変更によって不要なdiffが発生しやすいSetタイプ属性を持つAzureリソースの`terraform plan`出力をレビューする際に活用してください。
description の原文を見る
Analyze Terraform plan JSON output for AzureRM Provider to distinguish between false-positive diffs (order-only changes in Set-type attributes) and actual resource changes. Use when reviewing terraform plan output for Azure resources like Application Gateway, Load Balancer, Firewall, Front Door, NSG, and other resources with Set-type attributes that cause spurious diffs due to internal ordering changes.
SKILL.md 本文
Terraform AzureRM Set Diff Analyzer
AzureRM Provider の Set 型属性によって生じる Terraform プランの「偽陽性diff」を特定し、実際の変更と区別するためのスキルです。
使用場面
terraform planで多数の変更が表示されるが、実際には単一の要素のみを追加/削除した- Application Gateway、Load Balancer、NSG などで「すべての要素が変更された」と表示される
- CI/CD で偽陽性diff を自動的にフィルタリングしたい
背景
Terraform の Set 型はキーではなく位置によって比較するため、要素を追加または削除すると、すべての要素が「変更された」と表示されます。これは Terraform 全般の問題ですが、Application Gateway、Load Balancer、NSG など Set 型属性を多用する AzureRM リソースでは特に顕著です。
これらの「偽陽性diff」は実際にはリソースに影響を与えませんが、terraform plan の出力を確認する際に困難になります。
前提条件
- Python 3.8 以上
Python が利用できない場合は、パッケージマネージャ(例:apt install python3、brew install python3)または python.org からインストールしてください。
基本的な使い方
# 1. プラン JSON 出力を生成
terraform plan -out=plan.tfplan
terraform show -json plan.tfplan > plan.json
# 2. 分析を実行
python scripts/analyze_plan.py plan.json
トラブルシューティング
python: command not found:python3を使用するか、Python をインストールしてくださいModuleNotFoundError: スクリプトは標準ライブラリのみを使用しているため、Python 3.8 以上であることを確認してください
詳細なドキュメント
scripts/README.md- すべてのオプション、出力形式、終了コード、CI/CD の例references/azurerm_set_attributes.md- サポート対象リソースと属性
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- github
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/github/awesome-copilot / ライセンス: MIT
関連スキル
superpowers-streamer-cli
SuperPowers デスクトップストリーマーの npm パッケージをインストール、ログイン、実行、トラブルシューティングできます。ユーザーが npm から `superpowers-ai` をセットアップしたい場合、メールまたは電話でサインインもしくはアカウント作成を行いたい場合、ストリーマーを起動したい場合、表示されたコントロールリンクを開きたい場合、後で停止したい場合、またはソースコードへのアクセスなしに npm やランタイムの一般的な問題から復旧したい場合に使用します。
catc-client-ops
Catalyst Centerのクライアント操作・監視機能 - 有線・無線クライアントのリスト表示・フィルタリング、MACアドレスによる詳細なクライアント検索、クライアント数分析、時間軸での分析、SSIDおよび周波数帯によるフィルタリング、無線トラブルシューティング機能を提供します。MACアドレスやIPアドレスでのクライアント検索、サイト別やSSID別のクライアント数集計、無線周波数帯の分布分析、Wi-Fi信号の問題調査が必要な場合に活用できます。
ci-cd-and-automation
CI/CDパイプラインの設定を自動化します。ビルドおよびデプロイメントパイプラインの構築または変更時に使用できます。品質ゲートの自動化、CI内のテストランナー設定、またはデプロイメント戦略の確立が必要な場合に活用します。
shipping-and-launch
本番環境へのリリース準備を行います。本番環境へのデプロイ準備が必要な場合、リリース前チェックリストが必要な場合、監視機能の設定を行う場合、段階的なロールアウトを計画する場合、またはロールバック戦略が必要な場合に使用します。
linear-release-setup
Linear Releaseに向けたCI/CD設定を生成します。リリース追跡の設定、LinearのCIパイプライン構築、またはLinearリリースとのデプロイメント連携を実施する際に利用できます。GitHub Actions、GitLab CI、CircleCIなど複数のプラットフォームに対応しています。
tracking-application-response-times
API エンドポイント、データベースクエリ、サービスコール全体にわたるアプリケーションのレスポンスタイムを追跡・最適化できます。パフォーマンス監視やボトルネック特定の際に活用してください。「レスポンスタイムを追跡する」「API パフォーマンスを監視する」「遅延を分析する」といった表現で呼び出せます。