真面目にterraformでmoduleを書くようになって知った事をメモしてみる。これは自分用のメモなのであまり丁寧な説明はしない。 知った経緯がmoduleの作成ということであって、terraform moduleに関する機能というわけではない。 具体的には以下6つが知らなかった事柄 countで作成する/しないの制御できること lifecycleのignore_changesで差分の判定条件を調整できること moduleのvariableのtypeにはネストしたobjectのような複雑な型が書けること moduleのvariableのtypeは渡される値の部分型であれば良いということ listにはconcat()、mapにはmerge()でいわゆるmonoidっぽく扱えること terraformにもfor expressionという内包表記的な記述が存在していること countで作成す