Ich möchte die gleiche Terraform-Vorlage für mehrere Entwicklungs- und Produktionsumgebungen verwenden.Wie werden dynamische Ressourcennamen in Terraform verwendet?
Mein Ansatz: Wie ich es verstehe, muss der Ressourcenname eindeutig sein, und Terraform speichert den Zustand der Ressource intern. Ich habe daher versucht, Variablen für die Ressourcennamen zu verwenden - aber es scheint nicht unterstützt zu werden. Ich erhalte eine Fehlermeldung:
$ 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}"
Meine Terraforming Vorlage:
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
}
Ich denke, entweder mein Ansatz ist falsch, oder die Syntax. Irgendwelche Ideen?
Mit Terraform-Modulen verwalten, müssen Sie den Ressourcennamen nicht dynamisch neu definieren. – BMW