Chefkoch: Wie kann eine Ressource nur bei Benachrichtigung ausgeführt werden?

11

Ich möchte eine Ressource deklarieren, die bei Benachrichtigung und nur bei Benachrichtigung mehrmals ausgeführt werden soll. Wie kann ich verhindern, dass die Ressource nach ihrer Deklaration selbstständig ausgeführt wird?

Gibt es eine Möglichkeit zu überprüfen, ob eine Benachrichtigung vorhanden ist, damit ich so etwas wie "only_if: notified" ausführen kann?

Victor Hahn
quelle

Antworten:

12

Verwendung action :nothingwährend der Deklaration.

Stephen King
quelle
14

Hier ist ein Beispiel, in dem meine executeRessource nur konvergiert, wenn meine directoryRessource konvergiert:

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

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

Weitere Beispiele finden Sie unter https://docs.chef.io/chef/resources.html#notifications .

tbizzle
quelle