chef 有很多resources\providers\definitions,每个resources\providers\definitions 都有可以设置的属性。例如,see这个和this .
通过检查几个定义,很清楚为特定资源\提供者\定义提供的属性被打包到由 param 变量指向的散列中。
我想知道是否可以在不解压缩哈希的情况下使用资源\提供者\定义。这是伪代码或我的意图:
attr = { :name => "/tmp/folder", :owner => "root", :group => "root", :mode => 0755, :action => :create }
directory attr
而不是这样写:
directory "/tmp/folder" do
owner "root"
group "root"
mode 0755
action :create
end
是否有实现类似目标的本地方法? 谢谢你,罗斯。
最佳答案
你可以试试下面的方法
attrs = { .. }
directory "/tmp/folder" do
attrs.each do |method_name, value|
send(method_name, value)
end
end
关于 Ruby 发送的更多信息:http://apidock.com/ruby/Object/send
关于ruby - chef -- 将属性散列传递给资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17404352/