Terraform-资源重复多次

let*_*tsc 4 amazon-web-services terraform

我有一个terraform计划,它由多个aws_sqs_queue资源组成,这些资源更多或更少地共享同一配置。在删除任何重复的配置并使用变量之前,我想运行terraform plan一下以查看其是否有效。但是我一直遇到-

module root: 1 error(s) occurred:

* data.template_file.ep_match_result_queues: resource repeated multiple times
Run Code Online (Sandbox Code Playgroud)

香港专业教育学院试图谷歌搜索,但没有太多可用信息。任何帮助都感激不尽。我的计划如下所示:(忽略多余的括号,错别字,因为这只是一个骨架,可以使您大致了解计划的结构):

data "template_file" "ep_match_result_queues" {
  template = "${var.namespace}-sm-ep"
}

resource "aws_sns_topic" "sns_topic_name" {
  name            = "ep_sm_match_result_topic${var.environment}"
  display_name    = ""
  policy          = <<POLICY
{
 #policy
}


resource "aws_sqs_queue" "queue1" {
 #config
}

resource "aws_sqs_queue" "queue2" {
 #config

    redrive_policy             = <<POLICY
{
 #policy
}
POLICY
}

resource "aws_sqs_queue" "queue3" {
#config
}

resource "aws_sqs_queue" "queue4" {
 #config

    redrive_policy             = <<POLICY
{
 #policy
}
POLICY
}

resource "aws_sqs_queue" "queue5" {
 #config
}

resource "aws_sqs_queue" "queue6" {
  #config

    redrive_policy             = <<POLICY
{
 #policy
}
POLICY
}

resource "aws_sqs_queue" "queue7" {
 #config
}

resource "aws_sqs_queue" "queue8" {
  #config

    redrive_policy             = <<POLICY
{
 #policy
}
POLICY
}

resource "aws_sqs_queue_policy" "queue_policy" {
  queue_url = [ ... ]
  policy    = "${data.aws_iam_policy_document.match_result_queues_policy.json}"
}

data "aws_iam_policy_document" "match_result_queues_policy" {
 #policy
}
Run Code Online (Sandbox Code Playgroud)

小智 6

我认为该错误意味着您多次声明了具有相同名称的资源,该资源位于运行terraform的同一目录中的同一tf文件或同一tf文件中。