mito’s blog

IT技術メインの雑記。思い立ったが吉日。

[Terraform] 関数を使って、年月日時分秒をユニークな文字列として扱う

この記事は、カサレアル Advent Calendar 2022 の19日目のエントリです。

はじめに

ユニークな文字列が欲しかったので、年月日時分秒を取得し文字列にしました。
以下の関数を組み合わせます。


TFファイル

現在の時間2022年12月18日11時26分29秒20221218112629に変換します。

  • tfファイル
locals {
  # timestampでUTCを取得する
  now_utc = timestamp()
  # timeaddで9hを足してJSTに変換する
  now_jst = timeadd(local.now_utc, "9h") 
  # formatdateで取得したい形式に変換する
  datetime = formatdate("YYYYMMDDhhmmss", local.now_jst)
}

output "datetime"{
  value = local.datetime
}


実行結果

$ terraform apply

Changes to Outputs:
  + datetime = (known after apply)

You can apply this plan to save these new output values to the Terraform state, without changing any real infrastructure.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes


Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

Outputs:

datetime = "20221218112629"
$ 


備考

24時間表記にするため、formatdate関数ではhhを指定します。