(GH-cat-9) syntax:hiera:yaml fixes
[puppet-modules/puppetlabs-apt.git] / manifests / backports.pp
index 21f1251ea75a23987b94614080c2f96922702c47..1a9ea1bcaefb4c629209cc25543b9e63308d6757 100644 (file)
@@ -7,12 +7,12 @@
 #     repos    => 'main universe multiverse restricted',
 #     key      => {
 #       id     => '630239CC130E1A7FD81A27B140976EAF437D05B5',
-#       server => 'hkps.pool.sks-keyservers.net',
+#       server => 'keyserver.ubuntu.com',
 #     },
 #   }
 #
 # @param location
-#   Specifies an Apt repository containing the backports to manage. Valid options: a string containing a URL. Default value for Debian and 
+#   Specifies an Apt repository containing the backports to manage. Valid options: a string containing a URL. Default value for Debian and
 #   Ubuntu varies:
 #
 #   - Debian: 'http://deb.debian.org/debian'
 #   - Ubuntu: 'http://archive.ubuntu.com/ubuntu'
 #
 # @param release
-#   Specifies a distribution of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file. 
-#   Default: on Debian and Ubuntu, '${lsbdistcodename}-backports'. We recommend keeping this default, except on other operating 
+#   Specifies a distribution of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
+#   Default: on Debian and Ubuntu, `${fact('os.distro.codename')}-backports`. We recommend keeping this default, except on other operating
 #   systems.
 #
 # @param repos
-#   Specifies a component of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file. 
+#   Specifies a component of the Apt repository containing the backports to manage. Used in populating the `source.list` configuration file.
 #   Default value for Debian and Ubuntu varies:
-#   
+#
 #   - Debian: 'main contrib non-free'
 #
 #   - Ubuntu: 'main universe multiverse restricted'
 #
 # @param key
-#   Specifies a key to authenticate the backports. Valid options: a string to be passed to the id parameter of the apt::key defined type, or a 
+#   Specifies a key to authenticate the backports. Valid options: a string to be passed to the id parameter of the apt::key defined type, or a
 #   hash of parameter => value pairs to be passed to apt::key's id, server, content, source, and/or options parameters. Default value
 #   for Debian and Ubuntu varies:
 #
@@ -42,7 +42,7 @@
 #   - Ubuntu: '630239CC130E1A7FD81A27B140976EAF437D05B5'
 #
 # @param pin
-#   Specifies a pin priority for the backports. Valid options: a number or string to be passed to the `id` parameter of the `apt::pin` defined 
+#   Specifies a pin priority for the backports. Valid options: a number or string to be passed to the `id` parameter of the `apt::pin` defined
 #   type, or a hash of `parameter => value` pairs to be passed to `apt::pin`'s corresponding parameters.
 #
 # @param include
@@ -53,10 +53,9 @@ class apt::backports (
   Optional[String] $release                     = undef,
   Optional[String] $repos                       = undef,
   Optional[Variant[String, Hash]] $key          = undef,
-  Optional[Variant[Integer, String, Hash]] $pin = 200,
-  Optional[Variant[Hash]] $include              = {},
-){
-
+  Variant[Integer, String, Hash] $pin           = 200,
+  Variant[Hash] $include                        = {},
+) {
   include apt
 
   if $location {
@@ -71,16 +70,20 @@ class apt::backports (
   if $key {
     $_key = $key
   }
-  if (!($facts['lsbdistid'] == 'Debian' or $facts['lsbdistid'] == 'Ubuntu')) {
+  if (!($facts['os']['name'] == 'Debian' or $facts['os']['name'] == 'Ubuntu')) {
     unless $location and $release and $repos and $key {
-      fail(translate('If not on Debian or Ubuntu, you must explicitly pass location, release, repos, and key'))
+      fail('If not on Debian or Ubuntu, you must explicitly pass location, release, repos, and key')
     }
   }
   unless $location {
     $_location = $::apt::backports['location']
   }
   unless $release {
-    $_release = "${facts['lsbdistcodename']}-backports"
+    if fact('os.distro.codename') {
+      $_release = "${fact('os.distro.codename')}-backports"
+    } else {
+      fail('os.distro.codename fact not available: release parameter required')
+    }
   }
   unless $repos {
     $_repos = $::apt::backports['repos']
@@ -99,7 +102,7 @@ class apt::backports (
       'release'  => $_release,
     }
   } else {
-    fail(translate('pin must be either a string, number or hash'))
+    fail('pin must be either a string, number or hash')
   }
 
   apt::source { 'backports':