Я пытаюсь настроить список в верхней части моего файла, чтобы перечислить все ресурсы SQS, которые должны подписаться на тему SNS. Выдает «переменные ресурса должны состоять из трех частей: TYPE.NAME.ATTR»
Я использовал местные, потому что кажется, что они поддерживают интерполированные значения, а переменные - нет.
locals {
update-subscribers = [
"${var.prefix}-${terraform.workspace}-contribution-updates"
]
}
Вот фрагмент моей подписки на тему sns.
resource "aws_sns_topic_subscription" "subscription" {
count = "${length(locals.update-subscribers.*)}"
topic_arn = "${aws-sns-update-topic.topic.arn}"
protocol = "sqs"
endpoint = "arn:aws:sqs:${data.aws_region.current.name}:${data.aws_caller_identity.current.account_id}:${element(locals.update-subscribers, count.index)}"
endpoint_auto_confirms = true
}
Было бы неплохо иметь возможность использовать мой список переменных, чтобы я мог переключаться между рабочими пространствами без каких-либо проблем на сайте AWS. Все примеры, которые я могу найти, указывают на статический список настроек CIDR, в то время как я хочу, чтобы мой список основывался на интерполированных строках. Я тоже пробовал
locals.contribution-update-subscribers[count.index]
Терраформе это тоже не понравилось. Как мой файл должен быть настроен для поддержки этого или он может поддерживаться?