From 0b3d92ae7d92e00192ffc5f3a058299fe0c00f3d Mon Sep 17 00:00:00 2001 From: "A. Karl Kornel" <akkornel@stanford.edu> Date: Tue, 23 Aug 2016 13:13:36 -0700 Subject: [PATCH] postfix::sender: Use file_line instead of exec for writing the line --- manifests/postfix/sender.pp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/manifests/postfix/sender.pp b/manifests/postfix/sender.pp index a60f721..e0fb9c6 100644 --- a/manifests/postfix/sender.pp +++ b/manifests/postfix/sender.pp @@ -21,26 +21,26 @@ define base::postfix::sender( $file = '/etc/postfix/senders' ) { $pattern = "'^${name}'" + $line = "${name} ${ensure}" + $file_line_ensure = $ensure ? { + 'absent' => 'absent', + default => 'present', + } + + file_line { "add-sender-${name}": + ensure => $file_line_ensure, + path => $file, + line => $line, + require => Package['postfix'], + notify => Exec["postmap hash:${file}"], + } + case $ensure { - 'absent': { - exec { "rm-sender-${name}": - command => "sed -i -e '/^${name}/d' ${file}", - onlyif => "grep ${pattern} ${file}", - notify => Exec["postmap hash:${file}"] - } - } default: { - $line = "${name} ${ensure}" - exec { "add-sender-${name}": - command => "echo '${line}' >> ${file}", - unless => "grep ${pattern} ${file}", - require => Package['postfix'], - notify => Exec["postmap hash:${file}"], - } exec { "fix-sender-${name}": command => "sed -i -e 's/^${name}..*\$/${line}/' ${file}", unless => "grep '^${line}\$' ${file}", - require => Exec["add-sender-${name}"], + require => File_line["add-sender-${name}"], notify => Exec["postmap hash:${file}"], } } -- GitLab