resource "random_integer" "suffix" { min = 1000 max = 9999 # Opcional: O 'keepers' força a geração de um novo número # apenas quando o nome do cluster mudar. keepers = { cluster_name = var.postgresql_name } } # 1. Gera uma senha forte e aleatória (16 caracteres, com letras, números e símbolos) resource "random_password" "psql_admin_password" { length = 32 special = true # Evita aspas ou caracteres que possam quebrar strings de conexão no futuro override_special = "!#$%&*-_=+[]{}<>:?" } # 2. Cria a Secret dentro do Vault que você já tem resource "oci_vault_secret" "psql_admin_secret" { compartment_id = var.postgresql_compartment_id vault_id = var.vault_id key_id = var.master_key_id secret_name = "admin-pwd-psql-${var.postgresql_name}-${random_integer.suffix.result}" description = "Senha do admin do PostgreSQL gerenciado" secret_content { content_type = "BASE64" content = base64encode(random_password.psql_admin_password.result) } }