terraform-azurerm-set-diff-analyzer▌
github/awesome-copilot · updated Apr 8, 2026
Identify false-positive diffs in Terraform AzureRM plans caused by Set-type attribute ordering.
- ›Analyzes terraform plan JSON output to distinguish spurious diffs (element reordering in Sets) from actual resource changes
- ›Targets AzureRM resources with Set-type attributes: Application Gateway, Load Balancer, NSG, Firewall, Front Door, and others
- ›Requires Python 3.8+ and uses only standard library; integrates into CI/CD pipelines with configurable output formats and exit codes
- ›Helps
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
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.8★★★★★45 reviews- ★★★★★Luis Thomas· Dec 28, 2024
Registry listing for terraform-azurerm-set-diff-analyzer matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Benjamin Bansal· Dec 8, 2024
terraform-azurerm-set-diff-analyzer has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Dev Ramirez· Dec 8, 2024
terraform-azurerm-set-diff-analyzer reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Zaid Gonzalez· Nov 19, 2024
terraform-azurerm-set-diff-analyzer fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Yash Thakker· Nov 15, 2024
terraform-azurerm-set-diff-analyzer has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Kiara Haddad· Oct 10, 2024
We added terraform-azurerm-set-diff-analyzer from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Dhruvi Jain· Oct 6, 2024
Solid pick for teams standardizing on skills: terraform-azurerm-set-diff-analyzer is focused, and the summary matches what you get after install.
- ★★★★★Fatima Lopez· Sep 21, 2024
Useful defaults in terraform-azurerm-set-diff-analyzer — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Aarav Jackson· Sep 21, 2024
We added terraform-azurerm-set-diff-analyzer from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Oshnikdeep· Sep 1, 2024
We added terraform-azurerm-set-diff-analyzer from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
showing 1-10 of 45