有没有办法将属性传递到cookbook的chef-apply运行中?
我食谱的第一行是:
if node[:my_attr][:enabled]
导致:
NoMethodError: undefined method '[]' for nil:NilClass
当我跑
时chef-apply recipes/default.rb
在attributes/default.rb
中添加适当的属性不能解决此问题,也不会为node[:my_attr] = {}
添加初始化。
如何将节点属性传递给chef-apply运行?
答案 0 :(得分:0)
在attributes / default.rb中 声明
default['my_attr']['enabled']= "value"
然后你就可以在食谱中访问它们了
您还可以使用chef-client -j选项传递属性的值。
答案 1 :(得分:0)
亚伯拉罕P说得对。 chef-apply
很像shell脚本解释器。你甚至可以哈希抨击你的文件。
#!/usr/bin/env chef-apply
# define attributes here
# create chef resources and other valid chef/ruby code