Hash $ppas = $apt::params::ppas,
Hash $pins = $apt::params::pins,
Hash $settings = $apt::params::settings,
+ Array[Apt::Auth_conf_entry]
+ $auth_conf_entries = $apt::params::auth_conf_entries,
String $root = $apt::params::root,
String $sources_list = $apt::params::sources_list,
String $sources_list_d = $apt::params::sources_list_d,
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)
+ assert_type(
+ Enum['always','daily','weekly','reluctantly'],
+ $update['frequency'],
+ )
}
if $update['timeout'] {
assert_type(Integer, $update['timeout'])
$_purge = merge($::apt::purge_defaults, $purge)
if $proxy['ensure'] {
- validate_re($proxy['ensure'], ['file', 'present', 'absent'])
+ assert_type(Enum['file', 'present', 'absent'], $proxy['ensure'])
}
if $proxy['host'] {
assert_type(String, $proxy['host'])
if $proxy['https']{
assert_type(Boolean, $proxy['https'])
}
+ if $proxy['direct']{
+ assert_type(Boolean, $proxy['direct'])
+ }
$_proxy = merge($apt::proxy_defaults, $proxy)
create_resources('apt::setting', $settings)
}
+ $auth_conf_ensure = $auth_conf_entries ? {
+ [] => 'absent',
+ default => 'present',
+ }
+
+ $auth_conf_tmp = epp('apt/auth_conf.epp')
+
+ file { '/etc/apt/auth.conf':
+ ensure => $auth_conf_ensure,
+ owner => 'root',
+ group => 'root',
+ mode => '0600',
+ content => "${confheadertmp}${auth_conf_tmp}",
+ notify => Class['apt::update'],
+ }
+
# manage pins if present
if $pins {
create_resources('apt::pin', $pins)
}
# required for adding GPG keys on Debian 9 (and derivatives)
- case $facts['os']['name'] {
- 'Debian': {
- if versioncmp($facts['os']['release']['full'], '9.0') >= 0 {
- ensure_packages(['dirmngr'])
- }
- }
- 'Ubuntu': {
- if versioncmp($facts['os']['release']['full'], '17.04') >= 0 {
- ensure_packages(['dirmngr'])
- }
- }
- default: { }
- }
+ ensure_packages(['dirmngr'])
}