Terraform v0.15 Release!

Terraformの0.15系が正規リリースとなりました!

いまだに0.13系で書いていましたが、いい加減0.14を経由して0.15目指さないといけませんね。
さて、そんなわけで色々変わっているんですが、とりあえずInfrabbitとしてはChangeLogをざーっと眺めた後、Terraform LanguageのFunctionを眺めてなんか新しい関数入ってきたかな、なんて考えながら眺めるのが日課です。

で、コレ

思わずいやっほぅ!って声が出ました。いやー、待ってました。デフォルト値持ちの変数オブジェクトの構築が、Experimentalではありますが導入です!

汎用として作っているコードの時に、何が困るってmapに全要素がないといけないので、それをどうするか、というところで結構いろいろ小細工をしていたのですが、これがdefaults一発で済むということになります(なるんだよね?)。まだ試していないですが。
Experimentalですからこれをそのままリリースコードに反映しましょう、という気にはなりませんが、汎用コードにはぜひぜひ欲しかった機構の一つ。うれしいですねぇ。

sensitive属性も正規となりましたし、これでだいぶ懸念すべき点が減ります。ありがたい。なんだかんだでissueがどんどん取り込まれていくし、やはりTerraformは育ってるなぁ、という実感がありますね。

validate実装の関係でlist()やmap()が消えるのでいろいろ書き換えも多いことですし、少し0.15への移行を進めていかないといけないです。各modulesもどんどん移行していくでしょうし。

one関数も面白そうなんですが、同じことならpush/popくれよという気になってきてしまうのは私だけでしょうか。あとリストからランダムに一つ取り出す関数もほしいかなぁ。element(var.list,random(length(var.list)-1))とかめんどくさいんですw

とりあえずアレほしいこれほしいって書いておくのがいいかもしれないですねぇ。