Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)40 mil · #5192

import-infrastructure-as-code

Faz seu agente criar código de infraestrutura a partir de recursos Azure existentes. Ele mapeia dependências e garante que a configuração seja consistente.

O que ela faz

Esta ferramenta transforma sua infraestrutura Azure existente em código Terraform. Ela descobre seus recursos na nuvem e os recria usando módulos padrão (AVM), facilitando o gerenciamento e a replicação.

Quando usar

  • ✓Quando você quer recriar uma infraestrutura Azure que já existe.
  • ✓Para transformar recursos Azure em código que pode ser versionado e reutilizado.
  • ✓Ao migrar ou fazer backup de configurações de infraestrutura.

Exemplo do que pedir para a IA

“Transforme meu grupo de recursos 'meu-app' na assinatura '12345678-abcd-1234-abcd-1234567890ab' em código Terraform usando módulos AVM.”

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

https://github.com/github/awesome-copilot/blob/main/skills/import-infrastructure-as-code/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/import-infrastructure-as-code/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa a linha de comando Azure (Azure CLI) para 'olhar' seus recursos existentes. Depois, ela procura por módulos padrão (Azure Verified Modules - AVM) que correspondem a esses recursos e gera o código Terraform.

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 import-infrastructure-as-code

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/import-infrastructure-as-code/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Importar Infraestrutura como Código (Azure -> Terraform com AVM)

Converta a infraestrutura Azure existente em código Terraform de fácil manutenção usando dados de descoberta e Módulos Verificados do Azure.

Quando Usar Esta Habilidade

Use esta habilidade quando o usuário pedir para:

  • Importar recursos Azure existentes para o Terraform
  • Gerar IaC a partir de ambientes Azure ativos
  • Lidar com qualquer tipo de recurso Azure suportado pelo AVM (e documentar fallbacks justificados que não são AVM)
  • Recriar infraestrutura a partir de uma assinatura ou grupo de recursos
  • Mapear dependências entre recursos Azure descobertos
  • Usar módulos AVM em vez de recursos escritos manualmente azurerm_*

Pré-requisitos

  • Azure CLI instalado e autenticado (az login)
  • Acesso à assinatura ou grupo de recursos de destino
  • Terraform CLI instalado
  • Acesso à rede para o Terraform Registry e fontes de índice AVM

Entradas

Parâmetro Obrigatório Padrão Descrição
subscription-id Não Contexto ativo da CLI Assinatura Azure usada para descoberta no escopo da assinatura e configuração de contexto
resource-group-name Não Nenhum Grupo de recursos Azure usado para descoberta no escopo do grupo de recursos
resource-id Não Nenhum Um ou mais IDs de recursos ARM do Azure usados para descoberta no escopo de recursos específicos

Pelo menos um de subscription-id, resource-group-name ou resource-id é necessário.

Fluxos de Trabalho Passo a Passo

1) Coletar Escopo Necessário (Obrigatório)

Solicite um destes escopos antes de executar os comandos de descoberta:

  • Escopo de assinatura: <subscription-id>
  • Escopo de grupo de recursos: <resource-group-name>
  • Escopo de recursos específicos: um ou mais valores de <resource-id>

Regras de tratamento de escopo:

  • Trate IDs de recursos ARM do Azure (por exemplo, /subscriptions/.../providers/...) como identificadores de recursos na nuvem, não como caminhos de sistema de arquivos locais.
  • Use IDs de recursos apenas com argumentos --ids da Azure CLI (por exemplo, az resource show --ids <resource-id>).
  • Nunca passe IDs de recursos para comandos de leitura de arquivos (cat, ls, read_file, pesquisas globais), a menos que o usuário diga explicitamente que são caminhos de arquivo locais.
  • Se o usuário já forneceu um escopo válido, não solicite entradas de escopo adicionais, a menos que sejam necessárias por um comando com falha.
  • Não faça perguntas de acompanhamento que possam ser respondidas com os valores de escopo já fornecidos.

Se o escopo estiver faltando, solicite-o explicitamente e pare.

2) Autenticar e Definir Contexto

Execute apenas os comandos necessários para o escopo selecionado.

Para escopo de assinatura:

az login
az account set --subscription <subscription-id>
az account show --query "{subscriptionId:id, name:name, tenantId:tenantId}" -o json

Saída esperada: Objeto JSON com subscriptionId, name e tenantId.

Para escopo de grupo de recursos ou recursos específicos, az login ainda é necessário, mas az account set é opcional se o contexto ativo já estiver correto.

Ao usar o escopo de recursos específicos, prefira comandos diretos baseados em --ids primeiro e evite prompts de descoberta extras para assinatura ou grupo de recursos, a menos que necessário para um comando concreto.

3) Executar Comandos de Descoberta

Descubra recursos usando os escopos selecionados. Certifique-se de buscar todas as informações necessárias para uma geração precisa do Terraform.

# Subscription scope
az resource list --subscription <subscription-id> -o json

# Resource group scope
az resource list --resource-group <resource-group-name> -o json

# Specific resource scope
az resource show --ids <resource-id-1> <resource-id-2> ... -o json

Saída esperada: Objeto JSON ou array contendo metadados de recursos do Azure (id, type, name, location, tags, properties).

4) Resolver Dependências Antes da Geração de Código

Analise o JSON exportado e mapeie:

  • Relacionamentos pai-filho (por exemplo: NIC -> Subnet -> VNet)
  • Referências cruzadas em properties
  • Ordenação para criação do Terraform

IMPORTANTE: Gere a seguinte documentação e salve-a em uma pasta docs na raiz do projeto.

  • exported-resources.json com todos os recursos descobertos e seus metadados, incluindo dependências e referências.
  • Arquivo EXPORTED-ARCHITECTURE.MD com uma visão geral da arquitetura legível por humanos com base nos recursos descobertos e seus relacionamentos.

5) Selecionar Módulos Verificados do Azure (Obrigatório)

Use a versão AVM mais recente para cada tipo de recurso.

Terraform Registry

  • Pesquise por "avm" + nome do recurso
  • Filtre por tag "Partner" para encontrar módulos AVM oficiais
  • Exemplo: Pesquise "avm storage account" → filtre por Partner

Índice Oficial AVM

…

Perguntas frequentes

O que são 'módulos AVM'?

São blocos de construção padronizados e testados pela Microsoft para criar infraestrutura Azure com Terraform, garantindo consistência e segurança.

Preciso ter o Terraform instalado?

Sim, você precisa ter o Terraform CLI instalado no seu computador para que a ferramenta possa gerar e usar o código.

E se um recurso Azure não tiver um módulo AVM correspondente?

A ferramenta tentará documentar a situação e pode sugerir alternativas ou indicar que o recurso precisará ser configurado manualmente.

Detalhes

Descrição original do autor

Import existing Azure resources into Terraform using Azure CLI discovery and Azure Verified Modules (AVM). Use when asked to reverse-engineer live Azure infrastructure, generate Infrastructure as Code from existing subscriptions/resource groups/resource IDs, map dependencies, derive exact import addresses from downloaded module source, prevent configuration drift, and produce AVM-based Terraform f

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5192
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas