私はいくつかの開発環境と本番環境で同じテラフォームテンプレートを使用したいと思います。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}"
マイテラフォームテンプレート::私は、エラーメッセージを取得
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