我遇到的情况是,我有多个 SQS 队列,并且希望将这些 SQS 队列包含在 IAM 策略资源部分中。有没有合适的方法来做到这一点?我尝试将 sqs 队列 arn 列表传递到 var 部分,尽管看起来 terraform 需要此部分中的字符串
resource "aws_sqs_queue" "sqs_queue" {
count = length(var.sqs_queue)
name = element(var.sqs_queue, count.index)
delay_seconds = 0
max_message_size = var.sqs_max_message_size
message_retention_seconds = var.sqs_message_retention_seconds
receive_wait_time_seconds = 0
}
data "template_file" "lambda_policy" {
template = file(var.lambda_policy)
vars = {
sqs_queues = aws_sqs_queue.sqs_queue[0].arn # want to change this to list of arn's
}
}
Run Code Online (Sandbox Code Playgroud)
这个想法是通过 vars 部分传递 SQS arn 列表,以便它将在资源部分的 lambda_policy 文件中被替换
lambda_policy 文件 =>
{
"Version": "2012-10-17",
"Statement": [
{ …Run Code Online (Sandbox Code Playgroud)