Chef テンプレート : ネストされたオブジェクトを使用して構成ファイルを生成する
概要
Chef テンプレートから構成ファイルを生成したいと考えています。 Chef 13 以降でこれを実現するための正しい構文は何ですか?
次のサブキーを含むデータバッグがあります。
"mykey1" : {
"param1" : "mysubvalue1",
"param2" : "mysubvalue2"
},
"mykey2" : {
"param1" : "mysubvalue11",
"param2" : "mysubvalue22"
},
次に、私のレシピではテンプレート リソースを使用します。
template 'mytemplate.erb'
...
variables ({
:keys => [mykey1, mykey2]
})
end
次に、テンプレート内で次のようにします。
<% @keys.each_pair do |name, _object| %>
["#{name}"]
param1 = "#{_object.param1}" # will this work??
<% end %>
param1 と param2 を参照する正しい方法は何ですか?
解決策
このようなデータを取得する頃には、それは通常の Ruby ハッシュ オブジェクトになっています。したがって、_object[“param1”] を使用します。