+ $ensure_service = $ensure ? {
+ present => running,
+ absent => stopped,
+ }
+
+ $ensure_enable = $ensure ? {
+ present => true,
+ absent => false,
+ }
+
+ file { $fname_real_rsync:
+ ensure => $ensure,
+ content => $content,
+ source => $source,
+ owner => 'root',
+ group => 'root',
+ mode => '0444',
+ }
+
+ file { "/etc/systemd/system/rsyncd-${name}@.service":
+ ensure => $ensure,
+ content => template('rsync/systemd-rsyncd.service.erb'),
+ owner => 'root',
+ group => 'root',
+ mode => '0444',
+ require => File[$fname_real_rsync],
+ notify => Exec['systemctl daemon-reload'],
+ }
+
+ file { "/etc/systemd/system/rsyncd-${name}.socket":
+ ensure => $ensure,
+ content => template('rsync/systemd-rsyncd.socket.erb'),
+ owner => 'root',
+ group => 'root',
+ mode => '0444',
+ notify => [
+ Exec['systemctl daemon-reload'],
+ Service["rsyncd-${name}.socket"],
+ ],
+ }
+
+ service { "rsyncd-${name}.socket":
+ ensure => $ensure_service,
+ enable => $ensure_enable,
+ require => [
+ Exec['systemctl daemon-reload'],
+ File["/etc/systemd/system/rsyncd-${name}@.service"],
+ File["/etc/systemd/system/rsyncd-${name}.socket"],
+ ],
+ provider => systemd,