Вы можете использовать шаблоны. Синтаксис отличается в зависимости от вашей версии terraform. Вы можете проверить это здесь для 0,11 или здесь для 0,12
Вам нужно будет создать файл со следующим содержимым в каком-то месте вашего проекта. Допустим, вы назовете его sqs_policy_template.tpl
:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSQSInvocation",
"Effect": "Allow",
"Action": [
"SQS:SendMessage",
"SQS:DeleteMessage",
"SQS:ReceiveMessage",
"SQS:GetQueueAttributes"
],
"Resource": [${queue_arn_list}]
}
]
}
Внутри вашего шаблона terraform вы используете следующий ресурс для визуализации шаблона и compile it:
Для версии 0.11:
data "template_file" "sqs_policy" {
template = "${file("sqs_policy_template.tpl")}"
vars = {
queue_arn_list = [arn1, arn2, arn3]
}
}
Для версии 0.12 немного проще. Вы просто вызываете функцию:
templatefile("sqs_policy_template.tpl", [arn1, arn2, arn3])