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

O que você recebe

Como usar

  1. 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}}`.
  2. Em `{{consumers}}`, diga quantos call sites distintos ele precisa atender - um módulo para dois times e outro para vinte são desenhos diferentes.
  3. 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.
  4. Revise primeiro a tabela de interface e rejeite qualquer variável marcada como futura breaking change.
  5. 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