]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/site/manifests/aptrepo.pp
massive style guide fixups
[dsa-puppet.git] / modules / site / manifests / aptrepo.pp
1 class 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}",
6                         refreshonly => true,
7                 }
8
9                 file { "/etc/apt/trusted-keys.d/${name}":
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: { err ( "Unknown ensure value: '$ensure'" ) }
20         }
21
22         if ! ($template or $config) {
23                 err ( "Can't find configuration for ${name}" )
24         }
25
26         if $template {
27                 file { "/etc/apt/sources.list.d/${name}.list":
28                         ensure  => $ensure,
29                         content => template($template),
30                         notify => Exec['apt-get update'],
31                 }
32         } else {
33                 file { "/etc/apt/sources.list.d/${name}.list":
34                         ensure => $ensure,
35                         source => $config,
36                         notify => Exec['apt-get update'],
37                 }
38         }
39 }