如何通知需要参数的厨师执行资源

时间:2016-02-10 13:02:39

标签: ruby chef

我正在尝试从remote_file资源中通知以下执行资源,并且需要传递应用程序名称。我该怎么做?

execute "rm -rf /opt/app/#{application['name']}.zip" do 
  action: nothing
end

2 个答案:

答案 0 :(得分:2)

除了可以使用目录资源删除它之外,没有参数这样的东西。在您的情况下,资源名称为eu-west-1,您必须使用此名称通知它:

execute[rm -rf /opt/app/#{application['name']}.zip]

对于名称为some_resource "foo" do whatever true notifies :run, "execute[rm -rf /opt/app/#{application['name']}.zip]" end 的应用,资源名称为test

答案 1 :(得分:1)

除了上述内容,您还可以为资源提供更紧凑的名称:

execute 'delete_files' do
  command "rm -rf /opt/app/#{application['name']}.zip"
  action :nothing
end

some_resource 'foo' do
  whatever true
  notifies :run, 'execute[delete_files]'
end