Merge pull request #662 from puppetlabs/modules-4506
[puppet-modules/puppetlabs-apt.git] / manifests / init.pp
index b9087cfb7abae68714edd30ab66c2c28df5216d5..5664edeed5220192b10bc1b0974e8ab98f557d78 100644 (file)
@@ -1,11 +1,16 @@
+# == Class: apt
 #
-class apt(
+# Manage APT (Advanced Packaging Tool)
+#
+class apt (
+  $confs    = {},
   $update   = {},
   $purge    = {},
   $proxy    = {},
   $sources  = {},
   $keys     = {},
   $ppas     = {},
+  $pins     = {},
   $settings = {},
 ) inherits ::apt::params {
 
@@ -62,10 +67,12 @@ class apt(
 
   $_proxy = merge($apt::proxy_defaults, $proxy)
 
+  validate_hash($confs)
   validate_hash($sources)
   validate_hash($keys)
   validate_hash($settings)
   validate_hash($ppas)
+  validate_hash($pins)
 
   if $_proxy['ensure'] == 'absent' or $_proxy['host'] {
     apt::setting { 'conf-proxy':
@@ -137,6 +144,9 @@ class apt(
     notify  => Class['apt::update'],
   }
 
+  if $confs {
+    create_resources('apt::conf', $confs)
+  }
   # manage sources if present
   if $sources {
     create_resources('apt::source', $sources)
@@ -153,4 +163,9 @@ class apt(
   if $settings {
     create_resources('apt::setting', $settings)
   }
+
+  # manage pins if present
+  if $pins {
+    create_resources('apt::pin', $pins)
+  }
 }