terraform-azurerm-set-diff-analyzer

Analyze Terraform plan JSON to distinguish AzureRM Set-type attribute diffs.

37.6k|4.7k|Updated Jun 11, 2025
One-click install
npx skills add https://github.com/github/awesome-copilot --skill terraform-azurerm-set-diff-analyzer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: terraform-azurerm-set-diff-analyzer
Source: https://github.com/github/awesome-copilot/tree/main/skills/terraform-azurerm-set-diff-analyzer
Command: npx skills add https://github.com/github/awesome-copilot --skill terraform-azurerm-set-diff-analyzer

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Terraform plans from AzureRM often report false-positive diffs for Set-type attributes, causing wasted review time and potential misinterpretation of actual changes.

Core Features & Use Cases

  • Distinguishes order-only (false-positive) diffs from real resource changes in AzureRM Set-type attributes.
  • Handles nested Set attributes and common Azure resources like application_gateway, load_balancer, firewall, front_door, and NSG.
  • Integrates with CI/CD pipelines and PR reviews to reduce noise in plan outputs.

Quick Start

Use the terraform-azurerm-set-diff-analyzer to analyze plan.json and produce a concise report of order-only and real changes.

Frequently Asked Questions about terraform-azurerm-set-diff-analyzer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I eliminate false-positive diffs in Terraform AzureRM plans?

False-positive diffs in AzureRM plans occur when Set-type attributes report order-only changes despite identical resource state. This analyzer distinguishes order-only diffs from real changes by recursively comparing before/after states against a reference mapping of AzureRM Set attributes, reducing noise in CI/CD reviews.

Does Terraform plan analysis work with AzureRM Set-type attributes?

Yes. This tool handles nested Set attributes across common AzureRM resources including Application Gateway, Load Balancer, NSG, Front Door, and firewall. It requires Python 3.8+, reads external attribute definitions from a JSON reference file, and outputs a concise report distinguishing real changes from false positives.

What's the best way to reduce noise in Terraform AzureRM plan reviews?

Integrate plan analysis into your CI/CD pipeline to filter Set-type false positives before PR review. This analyzer parses plan.json, applies AzureRM Set-attribute logic, and produces a filtered report so reviewers focus only on actual resource changes, accelerating approval workflows.

Can I use this tool to analyze Terraform plan JSON in CI/CD pipelines?

Yes. The tool integrates with CI/CD pipelines by accepting plan.json as input and generating a report of order-only versus real diffs. It runs on Python 3.8+, requires no external dependencies, and references azurerm_set_attributes.json to map Set attributes for accurate analysis.

Why do AzureRM Terraform plans report diffs for unchanged Set attributes?

AzureRM Set-type attributes are order-sensitive in plan output even when their content is logically identical. Terraform reports these order-only changes as diffs, creating false positives. This analyzer detects and filters these cases by comparing actual state values rather than relying on plan ordering.

What AzureRM resources benefit most from Set-diff analysis?

Application Gateway, Load Balancer, NSG, Front Door, and firewall resources commonly exhibit Set-type false positives. This analyzer handles nested Set attributes across these and other AzureRM resources, enabling faster decision-making in plan reviews without manual filtering.