-
Notifications
You must be signed in to change notification settings - Fork 50
Open
Labels
Description
Проблема: нет возможности предоставлять доступ нескольким пользователям к нескольким базам данным.
Прошу реализовать возможность в ресурсе selectel_dbaas_grant_v1 передавать в user_id массив id польователей, как в примере ниже.
variable "databases" {
sensitive = true
default = {
database_1 = {
owner_username = "owner_1"
owner_password = "password_1"
users = [ "user_1", "user_3" ]
}
database_2 = {
owner_username = "owner_1"
owner_password = "password_1"
users = [ "user_1", "user_2" ]
}
}
}
variable "users" {
sensitive = true
default = {
user_1 = {
password = "user_1"
username = "password_1"
}
user_2 = {
password = "user_2"
username = "password_2"
}
user_3 = {
password = "user_3"
username = "password_3"
}
}
}
...
resource "selectel_dbaas_database_v1" "databases" {
project_id = var.project_id
region = var.region
datastore_id = selectel_dbaas_datastore_v1.datastore.id
owner_id = selectel_dbaas_user_v1.owners[each.key].id
lc_ctype = "ru_RU.utf8"
lc_collate = "ru_RU.utf8"
for_each = nonsensitive(var.databases)
name = each.key
}
resource "selectel_dbaas_user_v1" "users" {
project_id = var.project_id
region = var.region
datastore_id = selectel_dbaas_datastore_v1.datastore.id
for_each = nonsensitive(var.users)
name = each.value.username
password = each.value.password
}
resource "selectel_dbaas_grant_v1" "grant" {
project_id = var.project_id
region = var.region
datastore_id = selectel_dbaas_datastore_v1.datastore.id
for_each = nonsensitive(var.databases)
database_id = selectel_dbaas_database_v1.databases[each.key].id
user_id = [for user in each.value.users: selectel_dbaas_user_v1.users[user].id]
}Reactions are currently unavailable