terraform-contour-mirror/modules/yc-database/main.tf

44 lines
991 B
HCL

resource "random_password" "user_password" {
length = var.password_length
special = var.password_special
upper = true
lower = true
numeric = true
}
data "yandex_mdb_postgresql_cluster" "existing" {
cluster_id = var.cluster_id
}
resource "yandex_mdb_postgresql_user" "this" {
cluster_id = var.cluster_id
name = var.user_name
password = random_password.user_password.result
conn_limit = var.conn_limit
dynamic "permission" {
for_each = length(var.permissions) > 0 ? var.permissions : []
content {
database_name = permission.value.database_name
}
}
}
resource "yandex_mdb_postgresql_database" "this" {
cluster_id = var.cluster_id
name = var.database_name
owner = yandex_mdb_postgresql_user.this.name
lc_collate = var.lc_collate
lc_type = var.lc_type
depends_on = [yandex_mdb_postgresql_user.this]
dynamic "extension" {
for_each = var.extensions
content {
name = extension.value
}
}
}