diff --git a/manifests/syslog/fragment.pp b/manifests/syslog/fragment.pp index f2e2f8ae63a6c39a6f477a266bcd5175ba545786..c2defead38aaca36149df4474454f5eff0bba631 100644 --- a/manifests/syslog/fragment.pp +++ b/manifests/syslog/fragment.pp @@ -39,40 +39,37 @@ define base::syslog::fragment( } else { $logsink_server = 'logsink.stanford.edu' } - + case $ensure { present: { case $content { 'NOCONTENT': { - case $source { - 'NOSRC': { - # Use default content - file { "$realname": - content => template($basetmpl), - notify => Service['syslog'], - } + if $source == 'NOSRC' { + # No content and no source then use a default + # template. + file { "$realname": + content => template($basetmpl), + notify => Service['syslog'], } - default: { - # Source specificed - file { "$realname": - source => "$source", - notify => Service['syslog'], - } + } else { + # Source was specified + file { "$realname": + source => $source, + notify => Service['syslog'], } } } default: { - case $source { - 'NOSRC': { - file { "$realname": - source => "$source", - notify => Service['syslog'], - } - } - default: { - fail "$codename - source or content, not both." + if $source == 'NOSRC' { + # Content was specified, use it. + file { "$realname": + content => $content, + notify => Service['syslog'], } + } else { + # Both content and source where specified + fail "$codename - source or content, not both." } } }