DevOps & Cloudlow risk
terraform-azurerm-set-diff-analyzer
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.
github/awesome-copilot·skills/terraform-azurerm-set-diff-analyzer/SKILL.md
100/ 100质量分
导入这个 Skill
选择你的 coding agent,复制项目级或个人级安装命令。
导入当前项目.agents/skills/terraform-azurerm-set-diff-analyzer
npx skills add https://github.com/github/awesome-copilot/tree/0aaced533251f5b86c69dfbc5e55db74c4b4d1af/skills/terraform-azurerm-set-diff-analyzer -a codex -y导入个人环境~/.agents/skills/terraform-azurerm-set-diff-analyzer
npx skills add https://github.com/github/awesome-copilot/tree/0aaced533251f5b86c69dfbc5e55db74c4b4d1af/skills/terraform-azurerm-set-diff-analyzer -a codex -g -y导入当前项目.claude/skills/terraform-azurerm-set-diff-analyzer
npx skills add https://github.com/github/awesome-copilot/tree/0aaced533251f5b86c69dfbc5e55db74c4b4d1af/skills/terraform-azurerm-set-diff-analyzer -a claude-code -y导入个人环境~/.claude/skills/terraform-azurerm-set-diff-analyzer
npx skills add https://github.com/github/awesome-copilot/tree/0aaced533251f5b86c69dfbc5e55db74c4b4d1af/skills/terraform-azurerm-set-diff-analyzer -a claude-code -g -y导入当前项目.agents/skills/terraform-azurerm-set-diff-analyzer
npx skills add https://github.com/github/awesome-copilot/tree/0aaced533251f5b86c69dfbc5e55db74c4b4d1af/skills/terraform-azurerm-set-diff-analyzer -a github-copilot -y导入个人环境~/.copilot/skills/terraform-azurerm-set-diff-analyzer
npx skills add https://github.com/github/awesome-copilot/tree/0aaced533251f5b86c69dfbc5e55db74c4b4d1af/skills/terraform-azurerm-set-diff-analyzer -a github-copilot -g -y导入当前项目.agents/skills/terraform-azurerm-set-diff-analyzer
npx skills add https://github.com/github/awesome-copilot/tree/0aaced533251f5b86c69dfbc5e55db74c4b4d1af/skills/terraform-azurerm-set-diff-analyzer -a cursor -y导入个人环境~/.cursor/skills/terraform-azurerm-set-diff-analyzer
npx skills add https://github.com/github/awesome-copilot/tree/0aaced533251f5b86c69dfbc5e55db74c4b4d1af/skills/terraform-azurerm-set-diff-analyzer -a cursor -g -y导入当前项目.agents/skills/terraform-azurerm-set-diff-analyzer
npx skills add https://github.com/github/awesome-copilot/tree/0aaced533251f5b86c69dfbc5e55db74c4b4d1af/skills/terraform-azurerm-set-diff-analyzer -a gemini-cli -y导入个人环境~/.gemini/skills/terraform-azurerm-set-diff-analyzer
npx skills add https://github.com/github/awesome-copilot/tree/0aaced533251f5b86c69dfbc5e55db74c4b4d1af/skills/terraform-azurerm-set-diff-analyzer -a gemini-cli -g -yNative Gemini CLI
gemini skills install https://github.com/github/awesome-copilot.git --scope workspace --path skills/terraform-azurerm-set-diff-analyzer⚠ 安装命令使用开源 skills CLI。执行前请检查来源、脚本和权限。
Skill 指令
在 GitHub 查看原始文件 ↗# 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 plan` shows 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](https://www.python.org/downloads/). ## Basic Usage ```bash # 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`**: Use `python3` instead, or install Python - **`ModuleNotFoundError`**: Script uses only standard library; ensure Python 3.8+ ## Detailed Documentation - [scripts/README.md](scripts/README.md) - All options, output formats, exit codes, CI/CD examples - [references/azurerm_set_attributes.md](references/azurerm_set_attributes.md) - Supported resources and attributes