我正在尝试为我的 Amazon OpsWorks 堆栈创建厨师食谱。我想将自定义 JSON 数据传递到堆栈中,并让配方创建一个 .ini 文件以与 PHP 的 parse_ini_file() 命令一起使用。
我有什么工作
目前,我可以使用以下内容创建一个平面 .ini 文件:
JSON:
{
"settings_ini": {
"quantity": 1,
"width": 10,
"height": 20
}
}
生成的 settings.ini 文件是:
quantity = 1
width = 10
height = 20
厨师食谱:
template "/my/path/here/settings.ini" do
owner "www_data"
group "www_data"
mode "0644"
source "settings.ini.erb"
variables({
:settings_ini => node[:settings_ini]
})
end
厨师模板“settings.ini.erb”:
<% @settings_ini.each do |name, value| -%>
<%= name %> = <%= value %>
<% end -%>
我想要做什么
我想将我的 JSON 数据更改为:
{
"settings_ini": {
"quantity": 1,
"attributes": {
"width": 10,
"height": 20
}
}
}
我希望我的结果 settings.ini 文件是这样的:
quantity = 1
[attributes]
width = 10
height = 20
或者,也可能是这样的:
quantity = 1
[attributes]width = 10
[attributes]height = 20
我需要帮助修改我的 settings.ini.erb 模板文件以正确使用嵌套的 JSON 数据。