Ресурс шаблона Chef для выполнения при изменении исходного шаблона?

Я развертываю пакет, который требует, чтобы шаблон создавался в указанном каталоге каждый раз, когда каталог распаковывается.

remote_file уведомляет о моем действии по распаковке, это действие по распаковке уведомляет ресурс шаблона, который, в свою очередь, уведомляет другие ресурсы. Эта цепочка уведомлений работает должным образом.

Ниже мой ресурс шаблона:

template 'C:\\Program Files\\MyProgram\\program.yml' do
  source "my_program-#{node['program']['version']}.yml.erb"
  action   :nothing
  notifies :run, 'powershell_script[install-program]', :immediately
end

Мой вопрос: есть ли способ запустить ресурс template, если я внесу изменения в исходный шаблон? Прямо сейчас он выполняет ресурс template только в том случае, если он получил уведомление от моего действия по распаковке (из-за моего action :nothing).

Однако было бы здорово иметь способ узнать, изменился ли сам шаблон. Может быть, какое-то not_if или only_if заявление?


person xyz1234    schedule 16.11.2018    source источник


Ответы (1)


Мне кажется, что вы избегаете цепочки уведомлений, если ваши ресурсы будут определены в одном и том же рецепте.

Возвращаясь к вашим вопросам, похоже, что настройка action :create, которая является действием по умолчанию, поможет. из документации ресурсов шаблона

действие: создать

Создайте файл. Если файл уже существует (но не соответствует), обновите этот файл, чтобы он соответствовал.

person Mr.    schedule 05.12.2018