terraform-azurerm-set-diff-analyzer
Analisa planos Terraform para AzureRM, distinguindo mudanças reais de falsos positivos.
O que ela faz
Esta ferramenta analisa o resultado de um plano do Terraform para recursos da Azure. Ela ajuda a identificar mudanças que parecem grandes, mas na verdade são pequenas ou inexistentes, causadas pela forma como alguns recursos da Azure lidam com listas de itens.
Quando usar
- ✓Quando o `terraform plan` mostra muitas mudanças, mas você só adicionou ou removeu um item.
- ✓Quando recursos como Application Gateway ou Load Balancer mostram 'todos os itens alterados'.
- ✓Para filtrar automaticamente mudanças falsas em processos de automação (CI/CD).
Exemplo do que pedir para a IA
“Analise meu plano do Terraform e me diga quais mudanças são reais e quais são falsas.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta compara a saída do plano do Terraform com uma lista de recursos e atributos conhecidos por causar essas 'mudanças falsas'. Ela foca em atributos do tipo 'Set' que causam problemas de ordem.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill terraform-azurerm-set-diff-analyzerOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/terraform-azurerm-set-diff-analyzer/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Terraform AzureRM Set Diff Analyzer
Uma habilidade para identificar "diffs de falso positivo" em planos Terraform causados por atributos do tipo Set do AzureRM Provider e distingui-los de alterações reais.
Quando Usar
terraform planmostra muitas alterações, mas você apenas adicionou/removeu um único elemento- Application Gateway, Load Balancer, NSG, etc. mostram "todos os elementos alterados"
- Você quer filtrar automaticamente diffs de falso positivo em CI/CD
Contexto
O tipo Set do Terraform compara por posição em vez de por chave, então ao adicionar ou remover elementos, todos os elementos aparecem como "alterados". Este é um problema geral do Terraform, mas é particularmente notável com recursos do AzureRM que usam intensamente atributos do tipo Set, como Application Gateway, Load Balancer e NSG.
Esses "diffs de falso positivo" não afetam realmente os recursos, mas dificultam a revisão da saída do plano Terraform.
Pré-requisitos
- Python 3.8+
Se o Python não estiver disponível, instale-o através do seu gerenciador de pacotes (por exemplo, apt install python3, brew install python3) ou de python.org.
Uso Básico
# 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
Solução de Problemas
python: command not found: Usepython3em vez disso, ou instale o PythonModuleNotFoundError: O script usa apenas a biblioteca padrão; certifique-se de ter o Python 3.8+
Documentação Detalhada
- scripts/README.md - Todas as opções, formatos de saída, códigos de saída, exemplos de CI/CD
- references/azurerm_set_attributes.md - Recursos e atributos suportados
Perguntas frequentes
O que são 'mudanças falsas'?
São mudanças que o Terraform mostra no plano, mas que na verdade não alteram o recurso na Azure. Isso acontece porque a ordem dos itens em algumas listas é comparada, e não o conteúdo em si.
Preciso instalar algo?
Sim, você precisa ter o Python 3.8 ou superior instalado no seu computador.
Como eu uso isso?
Primeiro, gere o arquivo de plano do Terraform (`terraform plan -out=plan.tfplan` e `terraform show -json plan.tfplan > plan.json`). Depois, execute o script Python com o arquivo gerado (`python scripts/analyze_plan.py plan.json`).
Detalhes
Descrição original do autor
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 ch
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5392
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC