-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: {
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,
+ content => template('site/aptrepo.erb'),
notify => Exec['apt-get update'],
}
}