Chef: Como executar um recurso apenas na notificação?

11

Gostaria de declarar um recurso que desejo executar várias vezes na notificação e somente na notificação. Como posso impedir que o recurso seja executado sozinho após ser declarado?

Existe alguma maneira de verificar se há uma notificação presente, para que eu possa executar algo como "only_if: notificado"?

Victor Hahn
fonte

Respostas:

12

Use action :nothingdurante a declaração.

StephenKing
fonte
14

Aqui está um exemplo em que meu executerecurso só é convergido quando ele directoryconverge:

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

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

Consulte https://docs.chef.io/chef/resources.html#notifications para obter mais exemplos.

chiar
fonte