Una alternativa para notificar es suscribirse:
file { "/etc/sshd_config":
source => "....",
}
service { sshd:
ensure => running,
subscribe => File["/etc/sshd_config"],
}
La diferencia es que la relación se describe desde el otro extremo. Por ejemplo, puede hacer que apache se suscriba a /etc/apache/httpd.conf, pero haría que un archivo vhost notifique a apache, ya que su clase apache no sabrá acerca de cada vhost que tenga.
Una situación similar de doble extremo se aplica a require y before. Es solo una cuestión de lo que tiene más sentido en la situación particular.
Como mencionó Chad, si encuentra a Puppet constantemente intentando iniciar su servicio, entonces necesita agregar un parámetro de patrón, que es una expresión regular para aplicar en la lista de procesos. Por defecto, Puppet se detendrá y comenzará a reiniciar un servicio. Si agrega "hasrestart => true", utilizará el comando especificado en el parámetro "restart" para reiniciar el servicio.