阅读JSON Chef的params

时间:2016-06-02 17:08:57

标签: ruby json chef chef-recipe

我试图将一些值传递给json文件中的厨师食谱 我想要的只是从远程文件中设置我的食谱中的一些值。

我的json文件my_conf.json如下所示:

{ 
  "something": {
    "listen_port": "81",
    "listen_path": "/myapp"
  },
  "users":{
     "user": "me"
  }
}

我用这个json用params运行我的厨师 - 客户:

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]

但没有任何作用。 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

parser_eval是正确的,但node['something']['listen_port']也可以。更可能分配给实例变量(node[:something][:listen_port])而不是正常的局部变量(@test =)是令人困惑的事情。在内部使用Ruby作用域时,Chef做了很多魔术。