Шеф-повар: Как запустить ресурс только по уведомлению?

11

Я хотел бы объявить ресурс, который я хочу запускать несколько раз в уведомлении и только в уведомлении. Как я могу предотвратить запуск ресурса самостоятельно после его объявления?

Есть ли какой-нибудь способ проверить наличие уведомления, чтобы я мог запустить что-то вроде «only_if: messages»?

Виктор Хан
источник

Ответы:

12

Используйте action :nothingво время декларации.

Стивен Кинг
источник
14

Вот пример, где мой executeресурс сходится только тогда, когда мой directoryресурс сходится:

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

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

См. Https://docs.chef.io/chef/resources.html#notifications для получения дополнительных примеров.

tbizzle
источник