会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

式と関数 ― 複合型と for 式と組み込み関数で、くり返しの少ない設定を書く

目安学習時間 25分

課題

全問正解でレクチャー完了です。

【問題1】

順番がなく、同じ値を入れても1つにまとまる型はどれですか。

[選択肢]

【問題2】

merge({ a = 1, b = 2 }, { b = 3 }) の結果として正しいものはどれですか。

[選択肢]
会員登録すると
学習することができます。
会員登録する(無料)

学ぶ目的

複合型

  • list と tuple … 順番のある並び。list は要素がすべて同じ型、tuple は要素ごとに型を決める
  • map と object … キーと値の組。map は値がすべて同じ型、object は属性ごとに型を決める
  • set … 順番がなく、重複しない。同じ値を入れても1つになる

条件式と for 式

条件式は「条件 ? 真のときの値 : 偽のときの値」です。for 式は、リストやマップから新しいリストやマップを作ります。角かっこで囲むとリスト、波かっこで囲み「キー => 値」と書くとマップになり、後ろに if を付けると要素を絞れます。

splat と dynamic

  • splat … aws_instance.web[*].id のように書くと、count で作った全部の id のリストになる
  • dynamic ブロック … resource の中の入れ子のブロック(たとえば受け付けるポートの設定)を、リストやマップからくり返し作る。使いすぎると読みにくくなる

組み込み関数

Terraform の言語では、自分で関数を定義できません。length・join・merge・lookup・toset などの組み込み関数を組み合わせます。merge は後ろのマップが勝ち、lookup はキーが無いときに3つ目の引数の値を返します。terraform console を使うと、式の結果を手元で試せます。

このレクチャーで学ぶこと

  • list・tuple・map・object・set の違い
  • 条件式と for 式でリストやマップを作る方法
  • splat 式と dynamic ブロックの使いどころ
  • 組み込み関数の読み方と terraform console での試し方

質問

まだ質問は投稿されていません。

質問投稿

ログイン後に質問の投稿ができます。