🦁

terraform 小ネタ

2021/09/16に公開

たまにつかうやつをめも。

outputでコマンドを作って実行

outputでterraform変数を埋め込んだコマンドを出力。

output "connect_ssm" {
  value = "aws ssm start-session --target ${aws_instance.web.id} --output text`"
}

outputコマンドでコマンドを出力しbashにパイプで渡すと、outputに出力したコマンドが実行される。

terraform -chdir=./env/dev output -raw connect_ssm | bash

tfvars

自動読み込み

.auto.tfvars というファイル名にしておくと、-var-file="testing.tfvars"みたいに個別に指定しなくても、planとかapplyの時に自動的に読み込んでくれる。

https://developer.hashicorp.com/terraform/language/values/variables#assigning-values-to-root-module-variables:~:text=Terraform also automatically loads a number of variable definitions files if they are present%3A

tag

add

タグの上書き。
cmn_tagsにはName含めたデフォルトのタグ設定が入っている。
だけど、特定のリソースだけはNameを上書きしたい時。
mergeを使うと第一引数の値を第二引数で上書きできる。

  tags = merge(var.cmn_tags,{"Name" = "太郎ちゃん"})

Discussion