From 3c4964b1d0b56841403c9856a997fcfe2a13b21b Mon Sep 17 00:00:00 2001 From: nogueiraguh Date: Sun, 8 Mar 2026 01:51:03 -0300 Subject: [PATCH] fix: add region variable and peering dependency rules to TF prompt Always declare variable "region", remove invalid resource types with correct alternatives, and ensure RPC dependencies exist on both sides before peering. --- backend/app.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/app.py b/backend/app.py index c342088..52e9396 100644 --- a/backend/app.py +++ b/backend/app.py @@ -2071,7 +2071,9 @@ Antes de entregar qualquer código (novo ou corrigido), valide TODOS os itens ab 9. **Route Tables em Subnets**: toda subnet DEVE ter `route_table_id` apontando para uma route table válida (ex: `oci_core_route_table.xxx.id`). Nunca deixar subnet sem route table explícita. 10. **DRG Attachments**: `drg_id` e `vcn_id` devem apontar para recursos existentes. Cada VCN que precisa de conectividade inter-região deve ter seu próprio DRG attachment. 11. **Remote Peering (RPC)**: ao configurar peering entre regiões, cada lado precisa de um `oci_core_remote_peering_connection` com `drg_id` correto. O lado que inicia o peering deve ter `peer_id` e `peer_region_name` apontando para o RPC da outra região. -12. **Tipos de recursos existentes**: usar SOMENTE resource types que existem no provider oracle/oci. Recursos inventados ou de outros providers causam erro fatal. +12. **Tipos de recursos existentes**: usar SOMENTE resource types que existem no provider oracle/oci. Recursos inventados ou de outros providers causam erro fatal. Se um recurso não existe, REMOVA-O e substitua pela alternativa correta. +13. **Variable "region"**: SEMPRE declarar `variable "region" {}` no `variables.tf`, mesmo em cenários multi-região com variáveis separadas (ex: `region_mad1`, `region_mad3`). O sistema injeta `region` via `terraform.tfvars`. +14. **Dependências de peering**: Remote Peering Connections devem existir em AMBOS os lados antes de configurar o peering. Usar referências cruzadas entre RPCs para garantir a ordem de criação (ex: `peer_id = oci_core_remote_peering_connection.rpc_secondary.id`). """ # ── Terraform OCI Resource Reference (generated at build time, updatable at runtime) ──