Skip to content
Snippets Groups Projects
Select Git revision
  • 2b57c2eae49c3adc52c5f41ac6d90e428fe31174
  • master default protected
  • update-min-openvox-version-07f8cb2
  • cleanup_fixtures
  • add-openvox
  • freebsd-14
  • remove-legacy-top-scope-syntax
  • rel430
  • tests
  • revert-363-augeas-module-cleanup
  • release-4.1.0
  • puppet8
  • relax-dependencies
  • rel400
  • mode
  • puppet7
  • release-3.1.0
  • freebsd13
  • freebsd11
  • stdlib
  • centos
  • v6.0.0
  • v5.1.0
  • v5.0.0
  • v4.5.0
  • v4.4.0
  • v4.3.0
  • v4.2.1
  • v4.2.0
  • v4.1.0
  • v4.0.0
  • v3.1.0
  • v3.0.0
  • v2.0.0
  • 1.12.0
  • 1.11.0
  • 1.10.0
  • 1.9.0
  • 1.8.0
  • 1.7.0
  • 1.6.0
41 results

config.pp

Blame
  • user avatar
    Pedro González Serrano authored
    Use single quotes to allow values containing spaces and commas
    f1eb4342
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    config.pp 1.11 KiB
    #
    #== Definition: postfix::config
    #
    #Uses the "postconf" command to add/alter/remove options in postfix main
    #configuation file (/etc/postfix/main.cf).
    #
    #Parameters:
    #- *name*: name of the parameter.
    #- *ensure*: present/absent. defaults to present.
    #- *value*: value of the parameter.
    #
    #Requires:
    #- Class["postfix"]
    #
    #Example usage:
    #
    #  node "toto.example.com" {
    #
    #    include postfix
    #
    #    postfix::config {
    #      "smtp_use_tls"            => "yes";
    #      "smtp_sasl_auth_enable"   => "yes";
    #      "smtp_sasl_password_maps" => "hash:/etc/postfix/my_sasl_passwords";
    #      "relayhost"               => "[mail.example.com]:587";
    #    }
    #  }
    #
    #
    define postfix::config ($value, $ensure = present) {
    
      Augeas {
        incl    => '/etc/postfix/main.cf',
        lens    => 'Postfix_Main.lns',
        notify  => Service['postfix'],
        require => File['/etc/postfix/main.cf'],
      }
    
      case $ensure {
        present: {
          augeas { "set postfix '${name}' to '${value}'":
            changes => "set $name '$value'",
          }
        }
        absent: {
          augeas { "rm postfix '${name}'":
            changes => "rm $name",
          }
        }
        default: {}
      }
    }