Puppet Class: rabbitmq::repo::apt

Defined in:
manifests/repo/apt.pp

Overview

requires

puppetlabs-apt
puppetlabs-stdlib

Parameters:

  • location (String[1]) (defaults to: 'https://packagecloud.io/rabbitmq/rabbitmq-server')
  • repos (String[1]) (defaults to: 'main')
  • include_src (Boolean) (defaults to: false)
  • key (String[1]) (defaults to: '8C695B0219AFDEB04A058ED8F4E789204D206F89')
  • key_source (String[1]) (defaults to: $rabbitmq::package_gpg_key)
  • key_content (Optional[String[1]]) (defaults to: $rabbitmq::key_content)
  • architecture (Optional[String[1]]) (defaults to: undef)


15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'manifests/repo/apt.pp', line 15

class rabbitmq::repo::apt (
  String[1] $location            = 'https://packagecloud.io/rabbitmq/rabbitmq-server',
  String[1] $repos               = 'main',
  Boolean $include_src           = false,
  String[1] $key                 = '8C695B0219AFDEB04A058ED8F4E789204D206F89',
  String[1] $key_source          = $rabbitmq::package_gpg_key,
  Optional[String[1]] $key_content  = $rabbitmq::key_content,
  Optional[String[1]] $architecture = undef,
) {
  $osname = downcase($facts['os']['name'])
  $pin    = $rabbitmq::package_apt_pin

  apt::source { 'rabbitmq':
    ensure       => present,
    location     => "${location}/${osname}",
    repos        => $repos,
    include      => { 'src' => $include_src },
    key          => {
      'id'      => $key,
      'source'  => $key_source,
      'content' => $key_content,
    },
    architecture => $architecture,
  }

  if $pin {
    apt::pin { 'rabbitmq':
      packages => '*',
      priority => $pin,
      origin   => inline_template('<%= require \'uri\'; URI(@location).host %>'),
    }
  }
}