Added support for ensure option into yum::repo.

This commit is contained in:
Timo Mkinen 2012-08-24 12:41:39 +03:00
parent d1e6bf1acd
commit a30e3e70fc
2 changed files with 45 additions and 32 deletions

View file

@ -128,6 +128,9 @@ class yum::exclude {
# #
# $name: # $name:
# Repository name. # Repository name.
# $ensure:
# Present/enable enables repository (default), absent removes
# repository completely and disable disables repository.
# $baseurl: # $baseurl:
# Base URL for this repository. # Base URL for this repository.
# $mirrorlist: # $mirrorlist:
@ -146,10 +149,15 @@ class yum::exclude {
# gpgkey => "http://tmz.fedorapeople.org/repo/RPM-GPG-KEY-tmz", # gpgkey => "http://tmz.fedorapeople.org/repo/RPM-GPG-KEY-tmz",
# } # }
# #
define yum::repo($baseurl="", $mirrorlist="", $descr="", $gpgkey="") { define yum::repo($ensure="present", $baseurl="", $mirrorlist="", $descr="", $gpgkey="") {
tag("bootstrap") tag("bootstrap")
# can't use ensure variable inside template :(
$status = $ensure
if $status != "absent" {
if !$baseurl and !$mirrorlist { if !$baseurl and !$mirrorlist {
fail("Either \$baseurl or \$mirrorlist needs to be defined for yum::repo") fail("Either \$baseurl or \$mirrorlist needs to be defined for yum::repo")
} }
@ -183,8 +191,13 @@ define yum::repo($baseurl="", $mirrorlist="", $descr="", $gpgkey="") {
$descr_real = $name $descr_real = $name
} }
}
file { "/etc/yum.repos.d/${name}.repo": file { "/etc/yum.repos.d/${name}.repo":
ensure => present, ensure => $status ? {
"absent" => absent,
default => present,
},
content => template("yum/yum.repo.erb"), content => template("yum/yum.repo.erb"),
mode => "0644", mode => "0644",
owner => "root", owner => "root",

View file

@ -1,6 +1,6 @@
[<%= name %>] [<%= name %>]
name=<%= descr_real %> name=<%= descr_real %>
enabled=1 enabled=<% if status == 'disable' %>0<% else %>1<% end %>
<% if baseurl != '' -%> <% if baseurl != '' -%>
baseurl=<%= baseurl %> baseurl=<%= baseurl %>
<% else -%> <% else -%>