From 425ad79683e59603f83e6484a2e32804273d4339 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Fri, 10 Mar 2017 18:19:04 -0500 Subject: implement ensure absent for postfix::config This does not have a special case for "non-standard" settings, since I don't know whether it is needed or not. --- README.md | 11 ++++++++++- manifests/config.pp | 4 +++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7a6b01f..c7646a9 100644 --- a/README.md +++ b/README.md @@ -122,9 +122,13 @@ Convience classes postfix::config --------------- -this can be used to pass arbitrary postfix configurations by passing the $name +This can be used to pass arbitrary postfix configurations by passing the $name to postconf to add/alter/remove options in main.cf +It can also be used to ensure that a certain configuration is not present by +setting the ensure parameter to absent. In this case, the value parameter is +still mandatory but can be set to whatever value. + Parameters: - *name*: name of the parameter. - *ensure*: present/absent. defaults to present. @@ -144,6 +148,11 @@ Example usage: "relayhost" => "[mail.example.com]:587"; } + postfix::config { 'smtp_tls_cert_file': + ensure => absent, + value => '', + } + postfix::disable ---------------- diff --git a/manifests/config.pp b/manifests/config.pp index ce7af9e..a1eb651 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -43,7 +43,9 @@ define postfix::config ($ensure = present, $value, $nonstandard = false) { } absent: { - fail "postfix::config ensure => absent: Not implemented" + exec { "postconf -X ${name}": + unless => "test \"x$(postconf -n ${name})\" = \"x\"", + } } } } -- cgit v1.2.3