(MODULES-7153) - Unmanage gitlab-ci.yml
[puppet-modules/puppetlabs-apt.git] / manifests / source.pp
index a95bc592f98d03749076786faae1f0932ff5da35..670b83035864108a7d28932678dc27287c394dab 100644 (file)
@@ -29,8 +29,18 @@ define apt::source(
     $_release = $release
   }
 
-  if $ensure == 'present' and ! $location {
-    fail('cannot create a source entry without specifying a location')
+  # Some releases do not support https transport with default installation
+  $_transport_https_releases = [ 'wheezy', 'jessie', 'stretch', 'trusty', 'xenial' ]
+
+  if $ensure == 'present' {
+    if ! $location {
+      fail('cannot create a source entry without specifying a location')
+    } elsif $_release in $_transport_https_releases {
+      $method = split($location, '[:\/]+')[0]
+      if $method == 'https' {
+        ensure_packages('apt-transport-https')
+      }
+    }
   }
 
   $includes = merge($::apt::include_defaults, $include)