1 define site::aptrepo ($key = undef, $keyid = undef, $template = undef, $config = undef, $ensure = present) {
6 exec { "apt-key-update-${name}":
7 command => "apt-key add /etc/apt/trusted-keys.d/${name}.asc",
11 file { "/etc/apt/trusted-keys.d/${name}.asc":
14 notify => Exec["apt-key-update-${name}"]
19 if ($keyid) and ($key) {
20 file { "/etc/apt/trusted-keys.d/${name}.asc":
22 notify => Exec["apt-key-del-${keyid}"]
24 exec { "apt-key-del-${keyid}":
25 command => "apt-key del ${keyid}",
29 file { "/etc/apt/trusted-keys.d/${name}.asc":
33 exec { "apt-key-del-${keyid}":
34 command => "apt-key del ${keyid}",
38 default: { fail ( "Unknown ensure value: '$ensure'" ) }
41 if $ensure == present {
42 if ! ($config or $template) {
43 fail ( "No configuration found for ${name}" )
48 file { "/etc/apt/sources.list.d/${name}.list":
50 content => template($template),
51 notify => Exec['apt-get update'],
54 file { "/etc/apt/sources.list.d/${name}.list":
57 notify => Exec['apt-get update'],