fix: add explicit security rules multi-line example to TF validation checklist
This commit is contained in:
@@ -2074,15 +2074,22 @@ Antes de entregar qualquer código (novo ou corrigido), valide TODOS os itens ab
|
||||
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` e sem essa declaração o Terraform emite warning. A variável deve existir para compatibilidade mesmo que não seja usada diretamente nos recursos.
|
||||
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`).
|
||||
15. **Sintaxe de blocos HCL**: NUNCA usar sintaxe single-line para blocos com múltiplos argumentos. Usar SEMPRE multi-line:
|
||||
15. **Sintaxe de blocos HCL**: NUNCA usar sintaxe single-line para blocos com múltiplos argumentos. Usar SEMPRE multi-line com um argumento por linha:
|
||||
- ERRADO: `ingress_security_rules { protocol = "6" source = "10.0.0.0/16" stateless = false }`
|
||||
- ERRADO: `match_criteria { match_type = "DRG_ATTACHMENT_ID" drg_attachment_id = oci_core_drg_attachment.x.id }`
|
||||
- CORRETO:
|
||||
```hcl
|
||||
match_criteria {
|
||||
match_type = "DRG_ATTACHMENT_ID"
|
||||
drg_attachment_id = oci_core_drg_attachment.x.id
|
||||
ingress_security_rules {
|
||||
protocol = "6"
|
||||
source = "10.0.0.0/16"
|
||||
stateless = false
|
||||
tcp_options {
|
||||
min = 443
|
||||
max = 443
|
||||
}
|
||||
}
|
||||
```
|
||||
O erro "Invalid single-argument block definition" ocorre quando HCL encontra `bloco { a = 1, b = 2 }` com mais de um argumento. SEMPRE usar formato multi-line.
|
||||
Isso vale para TODOS os blocos: `ingress_security_rules`, `egress_security_rules`, `route_rules`, `match_criteria`, `tcp_options`, `udp_options`, etc.
|
||||
"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user