7 $release = $lsbdistcodename,
10 $required_packages = false,
12 $key_server = 'keyserver.ubuntu.com',
20 $sources_list_d = $apt::params::sources_list_d
21 $provider = $apt::params::provider
23 if $release == undef {
24 fail('lsbdistcodename fact not available: release parameter required')
27 file { "${name}.list":
29 path => "${sources_list_d}/${name}.list",
33 content => template("${module_name}/source.list.erb"),
36 if ($pin != false) and ($ensure == 'present') {
39 before => File["${name}.list"]
43 exec { "${name} apt update":
44 command => "${provider} update",
45 subscribe => File["${name}.list"],
49 if ($required_packages != false) and ($ensure == 'present') {
50 exec { "Required packages: '${required_packages}' for ${name}":
51 command => "${provider} -y install ${required_packages}",
52 subscribe => File["${name}.list"],
57 # We do not want to remove keys when the source is absent.
58 if ($key != false) and ($ensure == 'present') {
59 apt::key { "Add key: ${key} from Apt::Source ${title}":
62 key_server => $key_server,
63 key_content => $key_content,
64 key_source => $key_source,
65 before => File["${name}.list"],