Update 3rdparty rabbitmq module
[mirror/dsa-puppet.git] / 3rdparty / modules / rabbitmq / manifests / repo / apt.pp
1 # requires
2 #   puppetlabs-apt
3 #   puppetlabs-stdlib
4 class rabbitmq::repo::apt(
5   String $location               = 'https://packagecloud.io/rabbitmq/rabbitmq-server',
6   String $repos                  = 'main',
7   Boolean $include_src           = false,
8   String $key                    = '418A7F2FB0E1E6E7EABF6FE8C2E73424D59097AB',
9   String $key_source             = $rabbitmq::package_gpg_key,
10   Optional[String] $key_content  = $rabbitmq::key_content,
11   Optional[String] $architecture = undef,
12   ) {
13
14   $pin = $rabbitmq::package_apt_pin
15
16   # ordering / ensure to get the last version of repository
17   Class['rabbitmq::repo::apt']
18   -> Class['apt::update']
19
20   $osname = downcase($facts['os']['name'])
21   apt::source { 'rabbitmq':
22     ensure       => present,
23     location     => "${location}/${osname}",
24     repos        => $repos,
25     include      => { 'src' => $include_src },
26     key          => {
27       'id'      => $key,
28       'source'  => $key_source,
29       'content' =>  $key_content,
30     },
31     architecture => $architecture,
32   }
33
34   if $pin {
35     apt::pin { 'rabbitmq':
36       packages => '*',
37       priority => $pin,
38       origin   => 'packagecloud.io',
39     }
40   }
41 }