- if !defined(Exec[$digest]) {
- exec { $digest:
- path => "/bin:/usr/bin",
- unless => "/usr/bin/apt-key list | /bin/grep '${key}'",
- command => $method ? {
- "content" => "echo '${key_content}' | /usr/bin/apt-key add -",
- "source" => "wget -q '${key_source}' -O- | apt-key add -",
- "server" => "apt-key adv --keyserver '${key_server}' --recv-keys '${key}'",
- };
+
+ if !defined(Anchor["apt_key ${id} present"]) {
+ apt_key { $title:
+ ensure => $ensure,
+ id => $id,
+ source => $source,
+ content => $content,
+ server => $server,
+ options => $options,
+ } -> anchor { "apt_key ${id} present": }
+
+ case $facts['os']['name'] {
+ 'Debian': {
+ if versioncmp($facts['os']['release']['full'], '9.0') >= 0 {
+ Apt::Key<| title == $title |> {
+ require => Package['dirmngr']
+ }
+ }
+ }
+ 'Ubuntu': {
+ if versioncmp($facts['os']['release']['full'], '17.04') >= 0 {
+ Apt::Key<| title == $title |> {
+ require => Package['dirmngr']
+ }
+ }
+ }
+ default: { }