我正在编写一个厨师食谱,以便在ec2实例上安装Splunk。我只想在实例的初始设置上安装Splunk。食谱不需要第二次运行。
我使用通知只在满足条件时执行后续代码块:
#install splunk
dpkg_package 'splunkforwarder' do
source '/tmp/splunkforwarder.deb'
action :nothing
notifies :run, 'execute[configure-splunk]', :immediately
end
这是通知的块
commands = ['command1', 'command2', 'etc']
commands.each do |i|
execute "configure-splunk" do
command i
action :nothing
end
end
问题在于,当配置splunk'如果调用它,它似乎只运行列表中的最后一个命令而不是循环遍历所有命令。我在这里缺少什么?
答案 0 :(得分:0)
这是正确的,当您有多个具有相同名称+类型对的资源时,只有在查找该名称时才能使用最后一个资源。
你可能想要的是:
execute "configure-splunk" do
command commands.join(' && ')
action :nothing
end