Skip to content
Snippets Groups Projects
Select Git revision
  • 6.x
  • master default
  • php84
  • 7.x
  • 6.4.0
  • 6.3.3
  • 6.3.2
  • 6.3.1
  • 6.3.0
  • 6.2.3
  • 6.2.2
  • 6.2.1
  • 6.2.0
  • 6.1.0
  • 6.0.9
  • 6.0.8
  • 6.0.7
  • 6.0.6
  • 6.0.5
  • 6.0.4
  • 6.0.3
  • 6.0.2
  • 6.0.1
  • 6.0.0
24 results

IndexController.php

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    config.pp 1.15 KiB
    #
    # == Definition: postfix::config
    #
    # Uses Augeas to add/alter/remove options in postfix main
    # configuation file (/etc/postfix/main.cf).
    #
    # TODO: make this a type with an Augeas and a postconf providers.
    #
    # === Parameters
    #
    # [*name*]   - name of the parameter.
    # [*ensure*] - present/absent. defaults to present.
    # [*value*]  - value of the parameter.
    #
    # === Requires
    #
    # - Class["postfix"]
    #
    # === Examples
    #
    #   postfix::config { 'smtp_use_tls':
    #     ensure => 'present',
    #     value  => 'yes',
    #   }
    #
    define postfix::config ($value, $ensure = present) {
    
      validate_string($value)
      validate_string($ensure)
      validate_re($ensure, ['present', 'absent'],
        "\$ensure must be either 'present' or 'absent', got '${ensure}'")
    
      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: {}
      }
    }