+ if $facts['osfamily'] != 'Debian' {
+ fail('This module only works on Debian or derivatives like Ubuntu')
+ }
+
+ $frequency_options = ['always','daily','weekly','reluctantly']
+
+ if $update['frequency'] {
+ validate_re($update['frequency'], $frequency_options)
+ }
+ if $update['timeout'] {
+ assert_type(Integer, $update['timeout'])
+ }
+ if $update['tries'] {
+ assert_type(Integer, $update['tries'])
+ }
+
+ $_update = merge($::apt::update_defaults, $update)
+ include ::apt::update
+
+ if $purge['sources.list'] {
+ assert_type(Boolean, $purge['sources.list'])
+ }
+ if $purge['sources.list.d'] {
+ assert_type(Boolean, $purge['sources.list.d'])
+ }
+ if $purge['preferences'] {
+ assert_type(Boolean, $purge['preferences'])
+ }
+ if $purge['preferences.d'] {
+ assert_type(Boolean, $purge['preferences.d'])
+ }
+
+ $_purge = merge($::apt::purge_defaults, $purge)
+
+ if $proxy['ensure'] {
+ validate_re($proxy['ensure'], ['file', 'present', 'absent'])
+ }
+ if $proxy['host'] {
+ assert_type(String, $proxy['host'])
+ }
+ if $proxy['port'] {
+ assert_type(Integer, $proxy['port'])
+ }
+ if $proxy['https']{
+ assert_type(Boolean, $proxy['https'])
+ }
+
+ $_proxy = merge($apt::proxy_defaults, $proxy)
+
+ $confheadertmp = epp('apt/_conf_header.epp')
+ $proxytmp = epp('apt/proxy.epp', {'proxies' => $_proxy})
+ $updatestamptmp = epp('apt/15update-stamp.epp')