Merge pull request #374 from bschlief/random_sleep
[puppet-modules/puppetlabs-apt.git] / manifests / unattended_upgrades.pp
index c57a9ee7f533b79b9a38e74d73d72909f8c1af7b..069c3593dd627ebd6207f595e5633540b248f021 100644 (file)
 class apt::unattended_upgrades (
   $origins             = $::apt::params::origins,
   $blacklist           = [],
-  $update              = "1",
-  $download            = "1",
-  $upgrade             = "1",
-  $autoclean           = "7",
+  $update              = '1',
+  $download            = '1',
+  $upgrade             = '1',
+  $autoclean           = '7',
   $auto_fix            = true,
   $minimal_steps       = false,
   $install_on_shutdown = false,
-  $mail_to             = "NONE",
+  $mail_to             = 'NONE',
   $mail_only_on_error  = false,
   $remove_unused       = true,
   $auto_reboot         = false,
-  $dl_limit            = "NONE",
-  $enable              = "1",
-  $backup_interval     = "0",
-  $backup_level        = "3",
-  $max_age             = "0",
-  $min_age             = "0",
-  $max_size            = "0",
-  $download_delta      = "0",
-  $verbose             = "0",
+  $dl_limit            = 'NONE',
+  $randomsleep         = undef,
+  $enable              = '1',
+  $backup_interval     = '0',
+  $backup_level        = '3',
+  $max_age             = '0',
+  $min_age             = '0',
+  $max_size            = '0',
+  $download_delta      = '0',
+  $verbose             = '0',
 ) inherits ::apt::params {
 
   validate_bool(
@@ -48,22 +49,31 @@ class apt::unattended_upgrades (
   )
   validate_array($origins)
 
+  if $randomsleep {
+    unless is_numeric($randomsleep) {
+      fail('randomsleep must be numeric')
+    }
+  }
+
   package { 'unattended-upgrades':
     ensure => present,
   }
 
-  File {
+  file { '/etc/apt/apt.conf.d/50unattended-upgrades':
     ensure  => file,
     owner   => 'root',
     group   => 'root',
     mode    => '0644',
+    content => template('apt/50unattended-upgrades.erb'),
     require => Package['unattended-upgrades'],
   }
 
-  file {
-    '/etc/apt/apt.conf.d/50unattended-upgrades':
-      content => template('apt/50unattended-upgrades.erb');
-    '/etc/apt/apt.conf.d/10periodic':
-      content => template('apt/10periodic.erb');
+  file { '/etc/apt/apt.conf.d/10periodic':
+    ensure  => file,
+    owner   => 'root',
+    group   => 'root',
+    mode    => '0644',
+    content => template('apt/10periodic.erb'),
+    require => Package['unattended-upgrades'],
   }
 }