]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/site/manifests/aptrepo.pp
clean up aptrepo ordering
[dsa-puppet.git] / modules / site / manifests / aptrepo.pp
index ea1b9202da1e3d07a4c0d33cfe36e47af1647142..db6179f10ca01633a0718708cc0fa1c20e6c334a 100644 (file)
@@ -1,4 +1,11 @@
-define site::aptrepo ($key = undef, $keyid = undef, $content = '', $source = '', $ensure = present) {
+define site::aptrepo (
+       $url='',
+       $suite='',
+       $components=[],
+       $key = undef,
+       $keyid = undef,
+       $ensure = present
+) {
 
        case $ensure {
                present: {
@@ -38,16 +45,18 @@ define site::aptrepo ($key = undef, $keyid = undef, $content = '', $source = '',
                default: { fail ( "Unknown ensure value: '$ensure'" ) }
        }
 
-       if $ensure == present {
-               if ! ($source or $content) {
-                       fail ( "No configuration found for ${name}" )
+       case $ensure {
+               present: {
+                       if !($url and $suite) {
+                               fail ( "Need both url and suite for $name" )
+                       }
                }
+               default: {}
        }
 
        file { "/etc/apt/sources.list.d/${name}.list":
-               ensure  => $ensure,
-               content => $content,
-               source  => $source,
-               notify  => Exec['apt-get update'],
+                       ensure  => $ensure,
+                       content => template('site/aptrepo.erb'),
+                       notify  => Exec['apt-get update'],
        }
 }