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 } } }