Szef kuchni: Jak uruchomić zasób tylko po powiadomieniu?

11

Chciałbym zadeklarować zasób, który chcę uruchamiać wiele razy na powiadomienie i tylko na powiadomienie. Jak mogę zapobiec samodzielnemu uruchomieniu zasobu po zadeklarowaniu?

Czy jest jakiś sposób, aby sprawdzić, czy jest obecne powiadomienie, żebym mógł uruchomić coś takiego jak „only_if: notyfikowany”?

Victor Hahn
źródło

Odpowiedzi:

12

Użyj action :nothingpodczas deklaracji.

StephenKing
źródło
14

Oto przykład, w którym mój executezasób jest konwergowany tylko wtedy, gdy mój directoryzasób jest zbieżny:

directory '/opt/foo' do
  action :create
  notifies :run, 'execute[custom command]', :immediately
end

execute 'custom command' do
  command 'echo foo'
  action :nothing
end

Więcej przykładów można znaleźć na https://docs.chef.io/chef/resources.html#notifications

tbizzle
źródło