我想爲幾個開發和生產環境使用相同的terraform模板。如何在Terraform中使用動態資源名稱?
我的方法: 據我所知,資源名稱必須是唯一的,並且terraform在內部存儲資源狀態。因此,我試圖爲資源名稱使用變量 - 但似乎不支持。我得到一個錯誤信息:
$ terraform plan
var.env1
Enter a value: abc
Error asking for user input: Error parsing address 'aws_sqs_queue.SqsIntegrationOrderIn${var.env1}': invalid resource address "aws_sqs_queue.SqsIntegrationOrderIn${var.env1}"
我terraform模板:
variable "env1" {}
provider "aws" {
region = "ap-southeast-2"
}
resource "aws_sqs_queue" "SqsIntegrationOrderIn${var.env1}" {
name = "Integration_Order_In__${var.env1}"
message_retention_seconds = 86400
receive_wait_time_seconds = 5
}
我認爲,無論是我的做法是錯誤的,或者語法。有任何想法嗎?
使用terraform模塊進行管理,您無需動態重新定義資源名稱。 – BMW