Puppet Class: cron

Defined in:
manifests/init.pp

Overview

service_ensure - Defines if the service should be running.

Default: running

Sample Usage:

include 'cron'

or:

class { 'cron':
  manage_package => false,
}

Parameters:

  • service_name (String[1])
  • package_name (String[1])
  • manage_package (Boolean) (defaults to: true)
  • manage_service (Boolean) (defaults to: true)
  • service_ensure (Cron::Service_ensure) (defaults to: 'running')
  • service_enable (Cron::Service_enable) (defaults to: true)
  • package_ensure (Cron::Package_ensure) (defaults to: 'installed')
  • users_allow (Array[Cron::User]) (defaults to: [])
  • users_deny (Array[Cron::User]) (defaults to: [])
  • manage_users_allow (Boolean) (defaults to: false)
  • manage_users_deny (Boolean) (defaults to: false)


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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'manifests/init.pp', line 36

class cron (
  String[1]            $service_name,
  String[1]            $package_name,
  Boolean              $manage_package     = true,
  Boolean              $manage_service     = true,
  Cron::Service_ensure $service_ensure     = 'running',
  Cron::Service_enable $service_enable     = true,
  Cron::Package_ensure $package_ensure     = 'installed',
  Array[Cron::User]    $users_allow        = [],
  Array[Cron::User]    $users_deny         = [],
  Boolean              $manage_users_allow = false,
  Boolean              $manage_users_deny  = false,
) {

  contain 'cron::install'
  contain 'cron::service'

  Class['cron::install'] -> Class['cron::service']

  # Manage cron.allow and cron.deny
  if $manage_users_allow {
    file { '/etc/cron.allow':
      ensure  => file,
      owner   => 'root',
      group   => 'root',
      content => epp('cron/users.epp', { 'users' => $users_allow }),
    }
  }

  if $manage_users_deny {
    file { '/etc/cron.deny':
      ensure  => file,
      owner   => 'root',
      group   => 'root',
      content => epp('cron/users.epp', { 'users' => $users_deny }),
    }
  }


  # Create jobs from hiera

  $cron_job = lookup('cron::job', Optional[Hash], 'hash', {})
  $cron_job.each | String $t, Hash $params | {
    cron::job { $t:
      * => $params,
    }
  }

  $cron_job_multiple = lookup('cron::job::multiple', Optional[Hash], 'hash', {})
  $cron_job_multiple.each | String $t, Hash $params | {
    cron::job::multiple { $t:
      * => $params,
    }
  }

  $cron_hourly = lookup('cron::hourly', Optional[Hash], 'hash', {})
  $cron_hourly.each | String $t, Hash $params | {
    cron::hourly { $t:
      * => $params,
    }
  }

  $cron_daily = lookup('cron::daily', Optional[Hash], 'hash', {})
  $cron_daily.each | String $t, Hash $params | {
    cron::daily { $t:
      * => $params,
    }
  }

  $cron_weekly = lookup('cron::weekly', Optional[Hash], 'hash', {})
  $cron_weekly.each | String $t, Hash $params | {
    cron::weekly { $t:
      * => $params,
    }
  }

  $cron_monthly = lookup('cron::monthly', Optional[Hash], 'hash', {})
  $cron_monthly.each | String $t, Hash $params | {
    cron::monthly { $t:
      * => $params,
    }
  }

}