Я создаю глобальную таблицу aws с terraform с многорегиональной репликацией.
resource "aws_dynamodb_global_table" "test_table" {
depends_on = ["aws_dynamodb_table.us-east-1", "aws_dynamodb_table.us-west-2"]
provider = "aws.us-east-1"
name = "test"
replica {
region_name = "us-east-1"
}
replica {
region_name = "us-west-2"
}
}
Далее я создаю обе региональные таблицы в виде модулей с count
interpolation
и возвращаю ARN для каждой таблицы.
Как создать Global Table как модуль, в который я добавляю ссылку на обе таблицы?depends_on
и replica
в этом случае.
Обновлено с опробованным подходом:
//Templ1
{ region_name = "${region_name}" }
//Templ2
${value}
data "template_file" "replica_region" {
template = "${file("${path.module}/replica-region.json.tmpl")}"
count = "${length(var.regions)}"
vars {
region_name = "${element(var.regions, count.index)}"
}
}
data "template_file" "replica_regional" {
template = "${file("${path.module}/replica-regional.json.tmpl")}"
vars {
value = "${join(",", data.template_file.replica_region.*.rendered)}"
}
}
Я перехожу ниже в глобальную таблицу
replica = [ "${data.template_file.replica_regional.rendered}" ]
, но получаю ошибку replica.0.region_name : required field is not set
, где, как при выводе для "${data.template_file.replica_regional.rendered}"
Я получаю ниже выходной.
{ region_name = "us-east-1" },{ region_name = "us-west-2" }
И если я жестко закодировал выше, рецепт терраформ работает просто отлично.Что мне не хватает?Я имею в виду эту статью Ссылка