locals { # O Vault deve ser ativado se: # 1. For habilitado manualmente OU # 2. Se qualquer serviço que depende dele estiver habilitado vault_required = var.vault_enable || var.postgresql_enable || var.redis_enable || var.autonomous_json_enable || var.oke_o11y_enable || var.oke_bus_enable || var.oke_nexus_enable } locals { # PostgreSQL: Filtra CIDRs autorizados psql_allowed_pod_cidrs = compact([ var.oke_nexus_enable_psql_access ? var.oke_nexus_subnet_pods_cidr_block : "", var.oke_bus_enable_psql_access ? var.oke_bus_subnet_pods_cidr_block : "", var.oke_o11y_enable_psql_access ? var.oke_o11y_subnet_pods_cidr_block : "" ]) # REDIS: Filtra CIDRs autorizados redis_allowed_pod_cidrs = compact([ var.oke_nexus_enable_redis_access ? var.oke_nexus_subnet_pods_cidr_block : "", var.oke_bus_enable_redis_access ? var.oke_bus_subnet_pods_cidr_block : "", var.oke_o11y_enable_redis_access ? var.oke_o11y_subnet_pods_cidr_block : "" ]) # Autonomous JSON: Filtra CIDRs autorizados autonomous_json_allowed_pod_cidrs = compact([ var.oke_nexus_enable_autonomous_json_access ? var.oke_nexus_subnet_pods_cidr_block : "", var.oke_bus_enable_autonomous_json_access ? var.oke_bus_subnet_pods_cidr_block : "", var.oke_o11y_enable_autonomous_json_access ? var.oke_o11y_subnet_pods_cidr_block : "" ]) } locals { oke_nexus_ca = one(module.oke_nexus[*].cluster_ca_cert) oke_bus_ca = one(module.oke_bus[*].cluster_ca_cert) oke_observability_ca = one(module.oke_observability[*].cluster_ca_cert) } locals { # Lógica para extrair o valor correto de oCPU com base no shape postgresql_ocpu_count = ( var.postgresql_shape == "PostgreSQL.VM.Standard.E6.Flex" ? var.postgresql_ocpu_e6 : var.postgresql_shape == "PostgreSQL.VM.Standard.E5.Flex" ? var.postgresql_ocpu_e5 : var.postgresql_ocpu_s3 # Caso seja Standard3 ) # Lógica para extrair o valor correto de Memória postgresql_memory_in_gbs = ( var.postgresql_shape == "PostgreSQL.VM.Standard3.Flex" ? var.postgresql_memory_s3 : var.postgresql_memory_amd ) }