tl;dr
EC2 (だけではない) と思いますが, Terraform で AWS リソースにタグを付与しようとした場合, コロン等の記号が含まれている場合, 以下のようなエラーとなります.
例えば, 以下のような場合.
resource "aws_instance" "your-instnace" { ... tags = { Name = "your-instnace" amirotate:default = "{\"NoReboot\": true, \"Retention\": {\"Count\": 3}}" } }
amirotate:default
がタグキーになりますが, terraform plan
すると...
Error: Error parsing ... illegal char
上記のような感じで怒られます. え, タグ登録出来ないやんって思ってしまいますが, 結構簡単に登録することが出来ました.
ということで, 検証に利用した環境は以下の通りです. 最新でなくてごめんなさい.
$ terraform version Terraform v0.11.11 + provider.aws v2.12.0 Your version of Terraform is out of date! The latest version is 0.12.0. You can update by downloading from www.terraform.io/downloads.html
俺はこうした
タグキーをダブルクォーテーションで囲った
以下のような感じ.
resource "aws_instance" "your-instnace" { ... tags = { Name = "your-instnace" amirotate:default = "{\"NoReboot\": true, \"Retention\": {\"Count\": 3}}" } }
後は普通に plan
して apply
すれば OK.
以上
- メモでした.