$server = "puppet.example.com"
# The same as a file, except that the source is always taken
# relative to the /config module on the file server
define configfile($owner = root, $group = root, $mode = 644, $source,
$backup = false, $recurse = false, $ensure = file) {
file { $name:
mode => $mode,
owner => $owner,
group => $group,
backup => $backup,
recurse => $recurse,
ensure => $ensure,
source => "puppet://$server/config/$source"
}
}
define yumrepo($enabled = true) {
configfile { "/etc/yum.repos.d/$name.repo":
mode => 644,
source => "/yum/repos/$name.repo",
ensure => $enabled ? {
true => file,
default => absent
}
}
}
class yum-default {
yumrepo {
[epel]:
enabled => true;
[epel-testing]:
enabled => false
}
}