- if $key != false {
- if $key_content {
- exec { "Add key: ${key} from content for ${name}":
- command => "/bin/echo '${key_content}' | /usr/bin/apt-key add -",
- unless => "/usr/bin/apt-key list | /bin/grep '${key}'",
- before => File["${name}.list"],
- }
- } else {
- exec { "Add key: ${key} from ${key_server} for ${name}":
- command => "/usr/bin/apt-key adv --keyserver ${key_server} --recv-keys ${key}",
- unless => "/usr/bin/apt-key list | /bin/grep ${key}",
- before => File["${name}.list"],
- }
+ # We do not want to remove keys when the source is absent.
+ if $key and ($ensure == 'present') {
+ apt::key { "Add key: ${key} from Apt::Source ${title}":
+ ensure => present,
+ key => $key,
+ key_server => $key_server,
+ key_content => $key_content,
+ key_source => $key_source,
+ before => File["${name}.list"],