Puppet Class: puppet::agent::service::cron

Defined in:
manifests/agent/service/cron.pp

Overview

Set up running the agent via cron

Parameters:

  • enabled (Boolean) (defaults to: false)
  • hour (Optional[Integer[0,23]]) (defaults to: undef)
  • minute (Variant[Integer[0,59], Array[Integer[0,59]], Undef]) (defaults to: undef)


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'manifests/agent/service/cron.pp', line 3

class puppet::agent::service::cron (
  Boolean                 $enabled                             = false,
  Optional[Integer[0,23]] $hour                                = undef,
  Variant[Integer[0,59], Array[Integer[0,59]], Undef] $minute  = undef,
) {
  unless $puppet::runmode == 'unmanaged' or 'cron' in $puppet::unavailable_runmodes {
    if $enabled {
      $command = pick($puppet::cron_cmd, "${puppet::puppet_cmd} agent --config ${puppet::dir}/puppet.conf --onetime --no-daemonize")
      $times = extlib::ip_to_cron($puppet::runinterval)

      $_hour = pick($hour, $times[0])
      $_minute = pick($minute, $times[1])

      cron { 'puppet':
        command => $command,
        user    => root,
        hour    => $_hour,
        minute  => $_minute,
      }
    } else {
      cron { 'puppet':
        ensure => absent,
      }
    }
  }
}