+# Manage APT (Advanced Packaging Tool)
+#
+class apt (
+ Hash $update_defaults,
+ Hash $purge_defaults,
+ Hash $proxy_defaults,
+ Hash $include_defaults,
+ String $provider,
+ String $keyserver,
+ Optional[String] $ppa_options,
+ Optional[String] $ppa_package,
+ Optional[Hash] $backports,
+ Hash $confs = {},
+ Hash $update = {},
+ Hash $purge = {},
+ Hash $proxy = {},
+ Hash $sources = {},
+ Hash $keys = {},
+ Hash $ppas = {},
+ Hash $pins = {},
+ Hash $settings = {},
+ String $root = '/etc/apt',
+ String $sources_list = "${root}/sources.list",
+ String $sources_list_d = "${root}/sources.list.d",
+ String $conf_d = "${root}/apt.conf.d",
+ String $preferences = "${root}/preferences",
+ String $preferences_d = "${root}/preferences.d",
+ Hash $config_files = { conf => { path => $conf_d, ext => '' }, pref => { path => $preferences_d, ext => '.pref' }, list => { path => $sources_list_d, ext => '.list' } },
+ Hash $source_key_defaults = { 'server' => $keyserver, 'options' => undef, 'content' => undef, 'source' => undef },
+) {
+
+ if $facts['osfamily'] != 'Debian' {
+ fail('This module only works on Debian or derivatives like Ubuntu')
+ }