terraform-azurerm-set-diff-analyzer
AzureRM ProviderのTerraformプランJSON出力を分析し、誤検出の差分(Set型属性の順序変更など)を区別して、構成変更を正確に識別します。
npx skills add github/awesome-copilot --skill terraform-azurerm-set-diff-analyzerBefore / After 効果比較
1 组Terraformプランの出力には、Set型属性の順序変更など、誤検知の差分が頻繁に発生し、実際の構成変更を正確に判断することが困難でした。これにより、レビューの負担が増加し、リスクを誤って判断する可能性がありました。
TerraformプランのJSON出力を分析し、誤検知の差分をインテリジェントに区別します。AzureRM構成変更を正確に識別し、レビュープロセスを簡素化し、デプロイのセキュリティを向上させます。
Terraform AzureRM Set Diff Analyzer
A skill to identify "false-positive diffs" in Terraform plans caused by AzureRM Provider's Set-type attributes and distinguish them from actual changes.
When to Use
terraform planshows many changes, but you only added/removed a single element- Application Gateway, Load Balancer, NSG, etc. show "all elements changed"
- You want to automatically filter false-positive diffs in CI/CD
Background
Terraform's Set type compares by position rather than by key, so when adding or removing elements, all elements appear as "changed". This is a general Terraform issue, but it's particularly noticeable with AzureRM resources that heavily use Set-type attributes like Application Gateway, Load Balancer, and NSG.
These "false-positive diffs" don't actually affect the resources, but they make reviewing terraform plan output difficult.
Prerequisites
- Python 3.8+
If Python is unavailable, install via your package manager (e.g., apt install python3, brew install python3) or from python.org.
Basic Usage
# 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
Troubleshooting
python: command not found: Usepython3instead, or install PythonModuleNotFoundError: Script uses only standard library; ensure Python 3.8+
Detailed Documentation
- scripts/README.md - All options, output formats, exit codes, CI/CD examples
- references/azurerm_set_attributes.md - Supported resources and attributes
ユーザーレビュー (0)
レビューを書く
レビューなし
統計データ
ユーザー評価
この Skill を評価