Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • release_3.0.0
  • test
  • feature_pre_sql
  • develop
  • 3.0.1
  • 3.0.0
  • 2.3.0
  • 2.2.0
  • 2.1.0
  • 2.0.0
  • 1.3.7
  • 1.3.6
  • 1.3.5
  • 1.3.4
  • 1.3.3
  • 1.3.2
  • 1.3.1
  • 1.3.0
  • 1.2.6
  • 1.2.5
  • 1.2.4
  • 1.2.3
  • 1.2.2
  • 1.2.1
25 results

Dockerfile

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    config.pp 1.04 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 ($ensure = present, $value) {
    
      Augeas {
        context => "/files/etc/postfix/main.cf",
        notify  => Service["postfix"],
        require => File["/etc/postfix/main.cf"],
      }
    
      case $ensure {
        present: {
          augeas { "set postfix $name to $value":
            changes => "set $name $value",
          }
        }
    
        absent: {
          augeas { "set postfix $name to $value":
            changes => "rm $name",
          }
        }
      }
    }