- if $key_options{
- $options_string = "--keyserver-options ${key_options}"
- }
- else{
- $options_string = ''
- }
-
- if !defined(Exec[$digest]) {
- $digest_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}' ${options_string} --recv-keys '${upkey}'",
- }
- exec { $digest:
- command => $digest_command,
- path => '/bin:/usr/bin',
- unless => "/usr/bin/apt-key list | /bin/grep '${trimmedkey}'",
- logoutput => 'on_failure',
- before => Anchor["apt::key ${upkey} present"],
+ case $facts['os']['name'] {
+ 'Debian': {
+ if versioncmp($facts['os']['release']['major'], '9') >= 0 {
+ ensure_packages(['dirmngr'])
+ Apt::Key<| title == $title |>
+ }
+ }
+ 'Ubuntu': {
+ if versioncmp($facts['os']['release']['full'], '17.04') >= 0 {
+ ensure_packages(['dirmngr'])
+ Apt::Key<| title == $title |>
+ }
+ }
+ default: { }