【忘備】Terraform基本構文 ~外部から変数値を与える~
変数の上書き方法
外部から変数値を与える方法は3種類
- 環境変数:環境変数へあらかじめ設定してある値を利用
TF_VAR_【Name】
- 変数ファイル:あらかじめ決められた変数ファイル名のファイルに指定
terraform.tfvars
- コマンド引数:以下のコマンド引数で指定された値を利用
-var 【NAME】=【NAME】
-var-file【FILE_PATH】
3種類の方法で同じ変数を並行して指定することも可能。
ただしその際は環境変数 < 変数ファイル < コマンド引数の順で上書き(強い)される。
また、同じ方法で変数の定義が重複した場合は原則として後に定義した変数が優先(つまりあと勝ち)される。
環境変数を使った上書き
ソースコード(main.tf)
variable "message" { type = string default = "nothing" }
環境変数定義、ビルド実行
export TF_VAR_message="Hello World !" terraform apply
変数ファイルを使った上書き
ソースコード
variable "message" { type = string default = "nothing" }
変数ファイル(terraform.tfvars) ※ 変数ファイルの拡張子は".tfvars"
message = "Hello World!"
ビルド実行
terraform apply
コマンドを使った上書き
ソースコード(main.tf)
variable "message" { type = string default = "nothing"
変数を指定したコマンド実行
terraform apply -var message="Hello World!"