今日は小ネタ。
Terraformで何かのリソースを作ろうとしたとき、ランダムな文字列を生成したいということがよくあります。例えばAzureのストレージアカウント名はグローバルで一意である必要があるのですが、それを生成するのはちょっと面倒くさいです。
何かいい方法ないかなと思ったら、random providerのrandom_stringリソースを見つけました。
使い方は上記のページを参照すれば概ね理解できるかなと思います。
lengthで文字数を設定し、大文字・小文字・記号などを使うか使わないかを設定します。こんな感じで記述します(4文字で小文字を使う設定。デフォルトで数字(numeric)も使う)。
resource "random_string" "name" {
length = 4
upper = false
lower = true
special = false
}
生成された値は、random_string.name.resultで得られます。
同様にランダムなパスワードを生成するrandom_passwordやランダムな数値を取得するrandom_integerなどがあるようです。
registry.terraform.io
random_passwordのマニュアル
registry.terraform.io
random_integerのマニュアル