如何将参数传递给chef中的ruby_block。
如果我有
notifies :create, "ruby_block[createErb]", :immediately
我希望在我通知时将参数(fileToConvert)传递给此ruby_block(createErb)。
ruby_block "createErb" do
block do
ErbCreator.new(fileToConvert)
end
action :nothing
end
我该怎么做?
答案 0 :(得分:2)
简短回答 - 你不能。
RubyBlock是一个Chef资源,因此它不接受任意参数。在您的示例中,我建议创建Chef Extension(LWRP或HWRP):
在您的资源中:
# resources/erb_create.rb
actions :create
default_action :create
attribute :filename, name_attribute: true
# more attributes
在您的提供商中:
# providers/erb_create.rb
action(:create) do
ErbCreator.new(new_resource.filename)
# ... etc
end
然后在食谱中:
# recipes/default.rb
cookbook_erb_create 'filename'