Merge pull request #739 from pmcmaw/puppet-lint_warn
[puppet-modules/puppetlabs-apt.git] / manifests / params.pp
index 765677f314a68ca8e1c5ef799e8f25183f6b7723..c11deba5ccf68f32a0277d43933cbd42c8eb8e86 100644 (file)
@@ -1,4 +1,10 @@
+# Setting params for the module
 class apt::params {
+
+  if $::osfamily != 'Debian' {
+    fail('This module only works on Debian or derivatives like Ubuntu')
+  }
+
   $root           = '/etc/apt'
   $provider       = '/usr/bin/apt-get'
   $sources_list   = "${root}/sources.list"
@@ -6,10 +12,16 @@ class apt::params {
   $conf_d         = "${root}/apt.conf.d"
   $preferences    = "${root}/preferences"
   $preferences_d  = "${root}/preferences.d"
-
-  if $::osfamily != 'Debian' {
-    fail('This module only works on Debian or derivatives like Ubuntu')
-  }
+  $keyserver      = 'keyserver.ubuntu.com'
+  $confs          = {}
+  $update         = {}
+  $purge          = {}
+  $proxy          = {}
+  $sources        = {}
+  $keys           = {}
+  $ppas           = {}
+  $pins           = {}
+  $settings       = {}
 
   $config_files = {
     'conf'   => {
@@ -18,7 +30,7 @@ class apt::params {
     },
     'pref'   => {
       'path' => $preferences_d,
-      'ext'  => '',
+      'ext'  => '.pref',
     },
     'list'   => {
       'path' => $sources_list_d,
@@ -26,59 +38,89 @@ class apt::params {
     }
   }
 
-  $file_defaults = {
-    'owner' => 'root',
-    'group' => 'root',
-    'mode'  => '0644',
+  $update_defaults = {
+    'frequency' => 'reluctantly',
+    'loglevel'  => undef,
+    'timeout'   => undef,
+    'tries'     => undef,
   }
 
-  case $::lsbdistid {
-    'ubuntu', 'debian': {
-      $distid = $::lsbdistid
-      $distcodename = $::lsbdistcodename
-    }
-    'linuxmint': {
-      if $::lsbdistcodename == 'debian' {
-        $distid = 'debian'
-        $distcodename = 'wheezy'
-      } else {
-        $distid = 'ubuntu'
-        $distcodename = $::lsbdistcodename ? {
-          'qiana'  => 'trusty',
-          'petra'  => 'saucy',
-          'olivia' => 'raring',
-          'nadia'  => 'quantal',
-          'maya'   => 'precise',
+  $proxy_defaults = {
+    'ensure' => undef,
+    'host'   => undef,
+    'port'   => 8080,
+    'https'  => false,
+    'direct' => false,
+  }
+
+  $purge_defaults = {
+    'sources.list'   => false,
+    'sources.list.d' => false,
+    'preferences'    => false,
+    'preferences.d'  => false,
+  }
+
+  $source_key_defaults = {
+    'server'  => $keyserver,
+    'options' => undef,
+    'content' => undef,
+    'source'  => undef,
+  }
+
+  $include_defaults = {
+    'deb' => true,
+    'src' => false,
+  }
+
+  case $facts['os']['name']{
+    'Debian': {
+      case $facts['os']['release']['full'] {
+        default: {
+          $backports = {
+            'location' => 'http://deb.debian.org/debian',
+            'key'      => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
+            'repos'    => 'main contrib non-free',
+          }
         }
       }
+
+      $ppa_options = undef
+      $ppa_package = undef
+
     }
-    '': {
-      fail('Unable to determine lsbdistid, is lsb-release installed?')
-    }
-    default: {
-      fail("Unsupported lsbdistid (${::lsbdistid})")
-    }
-  }
-  case $distid {
-    'ubuntu': {
-      case $distcodename {
-        'lucid': {
+    'Ubuntu': {
+      $backports = {
+        'location' => 'http://archive.ubuntu.com/ubuntu',
+        'key'      => '630239CC130E1A7FD81A27B140976EAF437D05B5',
+        'repos'    => 'main universe multiverse restricted',
+      }
+
+      case $facts['os']['release']['full'] {
+        '10.04': {
           $ppa_options        = undef
           $ppa_package        = 'python-software-properties'
         }
-        'precise': {
+        '12.04': {
           $ppa_options        = '-y'
           $ppa_package        = 'python-software-properties'
         }
-        'trusty', 'utopic', 'vivid': {
+        '14.04', '14.10', '15.04', '15.10', '16.04': {
           $ppa_options        = '-y'
           $ppa_package        = 'software-properties-common'
         }
         default: {
           $ppa_options        = '-y'
-          $ppa_package        = 'software-properties-common'
+          $ppa_package        = 'python-software-properties'
         }
       }
     }
+    undef: {
+      fail('Unable to determine value for fact os["name"]')
+    }
+    default: {
+      $ppa_options = undef
+      $ppa_package = undef
+      $backports   = undef
+    }
   }
 }