У меня возникла проблема с определением того, был ли установлен пакет или уже был установлен с помощью функции шеф-повара Chocolatey_package. В значительной степени я устанавливаю пакет, который впоследствии требует iisreset. Я хочу, чтобы iis сбрасывался только тогда, когда пакет установлен, а НЕ при последующих запусках шеф-клиента (где шоколадный выйдет раньше, потому что пакет уже был установлен).
Я храню, какие пакеты устанавливаются в файле атрибутов. Он использует следующий формат:
{'name'=>'blah', 'version'=>'1.0.0'[, 'should_notify'=>'reset iis']}
Вот что у меня есть до сих пор, с точки зрения кода. Как я могу изменить это на ветку в зависимости от того, какое действие выполняет шоколад (установить или ?
include_recipe 'chocolatey::default'
node['cookbook-name']['choco_packages'].each{ |package|
chocolatey package['name'] do
version package['version']
action :install
if package.instance_variable_defined?(:@should_notify) && package.should_notify == 'reset iis'
notify :run, 'execute[reset iis]', :immediately
end
end
}
execute 'reset iis' do
command 'iisreset'
action :nothing
end
Спасибо