Альтернативой для уведомления является подписка:
file { "/etc/sshd_config":
source => "....",
}
service { sshd:
ensure => running,
subscribe => File["/etc/sshd_config"],
}
Разница в том, что отношения описываются с другого конца. Например, вы можете заставить apache подписаться на /etc/apache/httpd.conf, но вы сделаете так, чтобы файл vhost уведомлял apache, так как ваш класс apache не будет знать о каждом имеющемся у вас vhost.
Аналогичная двусторонняя ситуация применима к требованию и раньше. Это просто вопрос, который имеет больше смысла в конкретной ситуации.
Как упоминал Чад, если вы обнаружите, что puppet постоянно пытается запустить ваш сервис, вам нужно добавить параметр шаблона, который является регулярным выражением для применения к списку процессов. По умолчанию Puppet остановится и начнет перезапускать сервис. Если вы добавите «hasrestart => true», он будет использовать команду, указанную в параметре «restart», для перезапуска службы.
(Я знаю, что это очень старый вопрос, но я подумал, что я бы поставил свои два цента с (на мой взгляд) гораздо более простым способом сделать это)
Не стесняйтесь использовать обозначение стрелки также:
или
источник
Это работает для Solaris 10 :)
источник
Есть несколько эквивалентных обозначений:
Уведомить :
Подписаться :
Обозначение стрелки :
Цепные декларации
Если вы хотите запустить
reload
вместоrestart
, настройте объявление службы:источник