Я работаю с terraform 12 и застрял при попытке создать один и тот же ресурс в другом регионе aws путем динамического выбора поставщика.
Например, следующий фрагмент кода работает нормально (обратите внимание, что asia
провайдер уже определен отдельно),
resource "aws_db_subnet_group" "listeners" {
provider = aws.asia
name = "test_subnet"
subnet_ids = var.listeners_subnets
}
Вместо этого я хочу прочитать провайдера из переменной, вероятно, из списка пар ключ / значение, поэтому я сделал это,
variable "providers_list" {
description = "map"
type = map(string)
default = {
asia = "asia"
europe = "europe"
}
}
Теперь я хочу прочитать провайдеры из вышеуказанной переменной, используя ее ключ
resource "aws_db_subnet_group" "listeners" {
provider = aws."${var.providers_list["asia"]}"
name = "test_subnet"
subnet_ids = var.listeners_subnets
}
Но я продолжаю получать следующую ошибку,
An attribute name is required after a dot.