Puppet Class: cronapt::configure

Inherits:
cronapt::params
Defined in:
manifests/configure.pp

Overview

Class: cronapt::configure

Configure the actions of cron-apt.

Parameters:

[*actions*] - list of cron-apt actions to enable.
[*mail*]    - where to send email notifications.
[*mail_on*] - when to send email notifications.

Sample Usage:

class { 'cronapt::configure' :
    actions => ['update', 'upgrade', 'notify'],
    mail    => 'root',
    mail_on => 'error',
}

Parameters:

  • actions (Any) (defaults to: $cronapt::params::cron_actions)
  • mail (Any) (defaults to: $cronapt::params::cron_mail)
  • mail_on (Any) (defaults to: $cronapt::params::cron_mail_on)


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'manifests/configure.pp', line 19

class cronapt::configure (
    $actions = $cronapt::params::cron_actions,
    $mail    = $cronapt::params::cron_mail,
    $mail_on = $cronapt::params::cron_mail_on
    ) inherits cronapt::params {
    #
    # Configure
    #
    $mail_on_value = $mail_on ? {
        'error'    => 'error',
        'upgrade'  => 'upgrade',
        'changes'  => 'changes',
        'output'   => 'output',
        'always'   => 'always',
        default    => 'always',
    }
    augeas { "cronapt-mail_config" :
        context    => "/files/etc/cron-apt/config",
        changes    => [
                      "set MAILON ${mail_on_value}",
                      "set MAILTO ${mail}",
                      ],
        require    => Class["cronapt::install"],
    }
    
    #
    # Actions
    #
    if ('update' in $actions) {
        file { "/etc/cron-apt/action.d/0-update" :
            ensure  => "file",
            source  => "puppet:///modules/cronapt/update",
            require => Class["cronapt::install"],
        }
    }
    
    if ('download' in $actions) {
        file { "/etc/cron-apt/action.d/3-download" :
            ensure  => "file",
            source  => "puppet:///modules/cronapt/download",
            require => Class["cronapt::install"],
        }
    }
    
    if ('upgrade' in $actions) {
        file { "/etc/cron-apt/action.d/5-upgrade" :
            ensure  => "file",
            source  => "puppet:///modules/cronapt/upgrade",
            require => Class["cronapt::install"],
        }
    }
    
    if ('notify' in $actions) {
        file { "/etc/cron-apt/action.d/9-notify" :
            ensure  => "file",
            source  => "puppet:///modules/cronapt/notify",
            require => Class["cronapt::install"],
        }
    }
    
    include cronapt::install
    Class['cronapt::install'] -> Class['cronapt::configure']
}