terraform-azurerm-set-diff-analyzer

github/awesome-copilot · updated Apr 8, 2026

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

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
skill.md

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.

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: Use python3 instead, or install Python
  • ModuleNotFoundError: Script uses only standard library; ensure Python 3.8+

Detailed Documentation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.845 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

1 / 5