diff options
Diffstat (limited to 'modules/systemd/manifests/override.pp')
-rw-r--r-- | modules/systemd/manifests/override.pp | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/modules/systemd/manifests/override.pp b/modules/systemd/manifests/override.pp index c605382..2128374 100644 --- a/modules/systemd/manifests/override.pp +++ b/modules/systemd/manifests/override.pp @@ -1,16 +1,32 @@ -define systemd::override($source = undef, $content = undef) { +define systemd::override($source = undef, $content = undef, $ensure = undef) { include systemd - file { - "/etc/systemd/system/${name}.service.d": - ensure => directory; - "/etc/systemd/system/${name}.service.d/override.conf": - source => $source, - content => $content, - notify => [ - Exec['/usr/bin/systemctl daemon-reload'], - Service["${name}"] - ], - require => File["/etc/systemd/system/${name}.service.d"]; + case $ensure { + 'absent': { + file { + "/etc/systemd/system/${name}.service.d": + ensure => absent; + "/etc/systemd/system/${name}.service.d/override.conf": + ensure => absent, + notify => [ + Exec['/usr/bin/systemctl daemon-reload'], + Service["${name}"] + ]; + } + } + default: { + file { + "/etc/systemd/system/${name}.service.d": + ensure => directory; + "/etc/systemd/system/${name}.service.d/override.conf": + source => $source, + content => $content, + notify => [ + Exec['/usr/bin/systemctl daemon-reload'], + Service["${name}"] + ], + require => File["/etc/systemd/system/${name}.service.d"]; + } + } } } |