Aqui está um método feio com um exec. Pode haver soluções melhores.
# push file system, but don't replace 'real' config file
file { '/etc/service/config.staging':
ensure => present,
source => 'puppet:///modules/service/config',
notify => Exec['reload-service']
}
# stop service, update config, start service
exec { 'reload-service':
command => '/etc/init.d/service stop; cp /etc/service/config.staging /etc/service/config; /etc/init.d/service start',
refreshonly => true,
path => ["/usr/sbin", "/usr/bin", "/sbin", "/bin/"],
logoutput => false,
}