Arquiteto de Módulos Terraform
Projete um módulo Terraform reutilizável com interface limpa, código esqueleto e caminho de migração de state.
Por Os Melhores Prompts
Categoria: DevOps
O que ele faz
Desenha a fronteira do módulo em torno de uma unidade de propriedade, não de um recurso de cloud, e devolve o contrato de interface: variáveis com tipo, default e regra de validação, e outputs que expõem IDs e ARNs em vez de objetos inteiros. O código esqueleto usa `for_each` em vez de `count`, para que uma remoção não reindexe tudo, fixa providers em `versions.tf` e não carrega blocos de provider, configuração de backend nem regiões e account IDs hardcoded. Quando substitui recursos existentes, você também recebe o plano de `moved`/`import` e como provar zero replacement no plan.
Use quando
- Um bloco de recurso copiado e colado hoje em seis repos
- Um módulo que atende dois times agora e vinte depois
- Refatorar infra em produção sem recriar recursos
- Definir convenções de módulo antes do descontrole
O que você recebe
- A decisão de fronteira e a alternativa que foi rejeitada
- Tabela de contrato de variáveis e outputs com validações
- Esqueleto de main.tf, variables.tf, outputs.tf e versions.tf
- Um call site de exemplo para dois ambientes ou unit Terragrunt
- Plano de migração com moved/import e política de testes e release
Como usar
- Descreva o que o módulo deve provisionar e possuir em `{{module_purpose}}`, e os recursos alvo e versões de provider em `{{target_resources}}`.
- Em `{{consumers}}`, diga quantos call sites distintos ele precisa atender - um módulo para dois times e outro para vinte são desenhos diferentes.
- Cole em `{{existing_code}}` o código que ele substitui ou com o qual deve coexistir, e em `{{conventions}}` suas regras de nomenclatura, tagging, layout de repo e pinning.
- Revise primeiro a tabela de interface e rejeite qualquer variável marcada como futura breaking change.
- Se ele substituir recursos existentes, aplique os blocos `moved`/`import` e confirme que o plan mostra zero replacements antes do apply.
Tags: terraform, iac, architecture, modules, terragrunt, state-migration, module-design, provider-pinning
Preço: 10.00 BRL