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",
12 file { "/etc/apt/trusted-keys.d/${name}.asc":
16 notify => Exec["apt-key-update-${name}"]
21 if ($keyid) and ($key) {
22 file { "/etc/apt/trusted-keys.d/${name}.asc":
25 notify => Exec["apt-key-del-${keyid}"]
27 exec { "apt-key-del-${keyid}":
28 command => "apt-key del ${keyid}",
33 file { "/etc/apt/trusted-keys.d/${name}.asc":
38 exec { "apt-key-del-${keyid}":
39 command => "apt-key del ${keyid}",
44 default: { fail ( "Unknown ensure value: '$ensure'" ) }
47 if $ensure == present {
48 if ! ($config or $template) {
49 fail ( "No configuration found for ${name}" )
54 file { "/etc/apt/sources.list.d/${name}.list":
56 content => template($template),
57 notify => Exec['apt-get update'],
60 file { "/etc/apt/sources.list.d/${name}.list":
63 notify => Exec['apt-get update'],