I have a terraform plan which consists of multiple aws_sqs_queue
resources which more of less share the same config. Before I remove any repeating configs and use variables I wanted to run terraform plan
to see if it works. However I keep running into -
module root: 1 error(s) occurred:
* data.template_file.ep_match_result_queues: resource repeated multiple times
Ive tried googling but there is not much information available. Any help will be much appreciated. My plan looks like this: (ignore extra braces, typos as this is just a skeleton to give you a general idea how the plan is sturctured):
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
}
.tf
files in your working directory? Terraform reads all files with that extension and combines them together to form a single configuration, so names must be unique across all files.