]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/site/manifests/aptrepo.pp
s/err/fail/
[dsa-puppet.git] / modules / site / manifests / aptrepo.pp
1 define site::aptrepo ($key = undef, $template = undef, $config = undef, $ensure = present) {
2
3         if $key {
4                 exec { "apt-key-update-${name}":
5                         command     => "apt-key add /etc/apt/trusted-keys.d/${name}.asc",
6                         refreshonly => true,
7                 }
8
9                 file { "/etc/apt/trusted-keys.d/${name}.asc":
10                         source => $key,
11                         mode   => '0664',
12                         notify => Exec["apt-key-update-${name}"]
13                 }
14         }
15
16         case $ensure {
17                 present: {}
18                 absent:  {}
19                 default: { fail ( "Unknown ensure value: '$ensure'" ) }
20         }
21
22         if $ensure == present {
23                 if ! ($config or $template) {
24                         fail ( "No configuration found for ${name}" )
25                 }
26         }
27
28         if $template {
29                 file { "/etc/apt/sources.list.d/${name}.list":
30                         ensure  => $ensure,
31                         content => template($template),
32                         notify => Exec['apt-get update'],
33                 }
34         } else {
35                 file { "/etc/apt/sources.list.d/${name}.list":
36                         ensure => $ensure,
37                         source => $config,
38                         notify => Exec['apt-get update'],
39                 }
40         }
41 }