Git Terraform Terraform で Git コミットの SHA を取得する¶ Terraform のリソースを作る際に Git のコミットの SHA を取得して、その値をリソースに設定したい場合がある。 externalデータソースを使うと、外部プログラムの実行結果を Terraform の変数に設定できる。 1 2 3 4 5 6 7 8 9data "external" "git" { program = [ "git", "log", "--pretty=format:{ \"sha\": \"%h\" }", "-1", "HEAD" ] } 上の例では、git logコマンドを実行して、その結果を JSON 形式で出力している。%hは Git のコミットの SHA の short 形式を表す。 実際に使う例が次のようになる。 Git コミットの SHA をバケット名に使う例1 2 3resource "aws_s3_bucket" "bucket" { bucket = "my-bucket-${data.external.git.result.sha}" }