リストとして data values を代入
この記事では ytt でリストデータをコマンドパラメーターとして渡す方法を説明しています。
トランスポートノードとして ESXi を NSX-T へ追加しようとした時に、IP List の指定でつまずいたので、備忘録としてまとめます。
おさらい
ytt でテンプレートへ値を渡すには、オプション --data-values あるいは短縮系のオプション -v を使うことになります。
以下のようなテンプレートがあるとして
|
|
次のように ytt を実行すると、以下の出力を得ることができます。
|
|
しかし、["apple", "orange"] といった任意のリストを ytt に渡したいというケースもあります。
-v を使うと…
以下のように、like がリストとなることを期待しています。
|
|
では、同じテンプレートにリストを ytt で渡します。
|
|
しかしながら、実際には上のようにリストを表す [ と ] といったブラケットも含んだ一つの文字列として代入されていまいます。
これは、こちらの記事でも書いたように --data-values -v は値を常に文字列として扱うためです。
値を yaml としてパース
値を文字列ではなく yaml の一部としてパースするには、オプション --data-values-yaml を使います。
|
|
値として渡すリストの文字列要素は、" で囲わなくても文字列として認識してくれます。
|
|