从 JSON Chef 读取参数
Read params from JSON Chef
我正在尝试将一些值从 json 文件传递到厨师食谱中。
我只想通过远程文件在我的食谱中设置一些值。
我的 json 文件 my_conf.json
看起来像这样:
{
"something": {
"listen_port": "81",
"listen_path": "/myapp"
},
"users":{
"user": "me"
}
}
我 运行 我的厨师客户在参数中有这个 json:
chef-client -z run.rb -j my_conf.json
在我试过的食谱中:
@test = node[:something][:listen_port]
@test = node['something']['listen_port']
@test = node.default[:something][:listen_port]
但没有任何效果。
有什么想法吗?
node['something']['listen_port']
是正确的,但 node[:something][:listen_port]
也可以。更有可能分配给一个实例变量(@test =
)而不是一个普通的局部变量(test =
)是令人困惑的事情。 Chef 在内部使用 Ruby 作用域做了很多魔术。
我正在尝试将一些值从 json 文件传递到厨师食谱中。
我只想通过远程文件在我的食谱中设置一些值。
我的 json 文件 my_conf.json
看起来像这样:
{
"something": {
"listen_port": "81",
"listen_path": "/myapp"
},
"users":{
"user": "me"
}
}
我 运行 我的厨师客户在参数中有这个 json:
chef-client -z run.rb -j my_conf.json
在我试过的食谱中:
@test = node[:something][:listen_port]
@test = node['something']['listen_port']
@test = node.default[:something][:listen_port]
但没有任何效果。 有什么想法吗?
node['something']['listen_port']
是正确的,但 node[:something][:listen_port]
也可以。更有可能分配给一个实例变量(@test =
)而不是一个普通的局部变量(test =
)是令人困惑的事情。 Chef 在内部使用 Ruby 作用域做了很多魔术。