今日は小ネタ。
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
のマニュアル