我尝试使用我可以从互联网上拼凑的内容从ruby_block执行RemoteFile Provider。最终我在this gist找到了最好的模板。基本上我可以从15天前的评论中读到以下代码:
ruby_block "parse-json" do
block do
f = Chef::Provider::File::RemoteFile.new("/tmp/googlebackup", run_context)
f.source "http://google.com"
f.run_action :create
end
action :create
end
但它给我的全部是这个错误:
[2014-03-28T14:26:08+00:00] ERROR: ruby_block[parse-json] (/tmp/kitchen/cookbooks/jenkins_build_artefact/providers/default.rb line 16) had an error: NoMethodError: No resource or method named `source' for `Chef::Provider::RemoteFile ""'
我不明白我到底做错了什么,而且我无法找到任何人在网上任何地方做这样的事情的例子。
答案 0 :(得分:7)
您正在使用Chef :: Provider,您应该使用Chef :: Resource。
ruby_block "parse-json" do
block do
f = Chef::Resource::File::RemoteFile.new("/tmp/googlebackup", run_context)
f.source "http://google.com"
f.run_action :create
end
action :create
end