Puppet Class: rabbitmq::repo::apt

Defined in:
manifests/repo/apt.pp

Overview

requires

puppetlabs-apt
puppetlabs-stdlib

Parameters:

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


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'manifests/repo/apt.pp', line 6

class rabbitmq::repo::apt (
  String $location               = 'https://packagecloud.io/rabbitmq/rabbitmq-server',
  String $repos                  = 'main',
  Boolean $include_src           = false,
  String $key                    = '8C695B0219AFDEB04A058ED8F4E789204D206F89',
  String $key_source             = $rabbitmq::package_gpg_key,
  Optional[String] $key_content  = $rabbitmq::key_content,
  Optional[String] $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 %>'),
    }
  }
}