Skip to content
Merged
174 changes: 15 additions & 159 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,7 @@

* [`erlang`](#erlang): Manages the Erlang repository and package installation.
* [`erlang::repo`](#erlang--repo): Class that manages the erlang repo
* [`erlang::repo::apt`](#erlang--repo--apt): erlang apt repo
* [`erlang::repo::apt::erlang_solutions`](#erlang--repo--apt--erlang_solutions): erlang erlang_solutions apt repo
* [`erlang::repo::yum`](#erlang--repo--yum): erlang yum repo
* [`erlang::repo::yum::epel`](#erlang--repo--yum--epel): Erlang packagecloud yum repo
* [`erlang::repo::yum::erlang_solutions`](#erlang--repo--yum--erlang_solutions): Erlang packagecloud yum repo
* [`erlang::repo::yum::packagecloud`](#erlang--repo--yum--packagecloud): Erlang packagecloud yum repo

### Data types

Expand Down Expand Up @@ -90,7 +85,7 @@ Default value: `'erlang'`

##### <a name="-erlang--package_ensure"></a>`package_ensure`

Data type: `String`
Data type: `Stdlib::Ensure::Package`

Determines the ensure state of the package. Set to installed by default, but could be changed to latest.

Expand All @@ -114,7 +109,7 @@ Default value: `true`

##### <a name="-erlang--repo_ensure"></a>`repo_ensure`

Data type: `String`
Data type: `Enum['present','absent']`

Determines the ensure state of the repo.

Expand All @@ -139,105 +134,6 @@ Default value: `'packagecloud'`

Class that manages the erlang repo

### <a name="erlang--repo--apt"></a>`erlang::repo::apt`

erlang apt repo

#### Parameters

The following parameters are available in the `erlang::repo::apt` class:

* [`ensure`](#-erlang--repo--apt--ensure)
* [`source`](#-erlang--repo--apt--source)

##### <a name="-erlang--repo--apt--ensure"></a>`ensure`

Data type: `String`



Default value: `$erlang::repo_ensure`

##### <a name="-erlang--repo--apt--source"></a>`source`

Data type: `Erlang::RepoSource`



Default value: `$erlang::repo_source`

### <a name="erlang--repo--apt--erlang_solutions"></a>`erlang::repo::apt::erlang_solutions`

erlang erlang_solutions apt repo

#### Parameters

The following parameters are available in the `erlang::repo::apt::erlang_solutions` class:

* [`ensure`](#-erlang--repo--apt--erlang_solutions--ensure)
* [`location`](#-erlang--repo--apt--erlang_solutions--location)
* [`release`](#-erlang--repo--apt--erlang_solutions--release)
* [`repos`](#-erlang--repo--apt--erlang_solutions--repos)
* [`key`](#-erlang--repo--apt--erlang_solutions--key)
* [`key_source`](#-erlang--repo--apt--erlang_solutions--key_source)
* [`pin`](#-erlang--repo--apt--erlang_solutions--pin)

##### <a name="-erlang--repo--apt--erlang_solutions--ensure"></a>`ensure`

Data type: `String`



Default value: `$erlang::repo::apt::ensure`

##### <a name="-erlang--repo--apt--erlang_solutions--location"></a>`location`

Data type: `String`



Default value: `'https://packages.erlang-solutions.com/debian'`

##### <a name="-erlang--repo--apt--erlang_solutions--release"></a>`release`

Data type: `String`



Default value: `downcase($facts['os']['distro']['codename'])`

##### <a name="-erlang--repo--apt--erlang_solutions--repos"></a>`repos`

Data type: `String`



Default value: `'contrib'`

##### <a name="-erlang--repo--apt--erlang_solutions--key"></a>`key`

Data type: `String`



Default value: `'434975BD900CCBE4F7EE1B1ED208507CA14F4FCA'`

##### <a name="-erlang--repo--apt--erlang_solutions--key_source"></a>`key_source`

Data type: `String`



Default value: `'https://packages.erlang-solutions.com/debian/erlang_solutions.asc'`

##### <a name="-erlang--repo--apt--erlang_solutions--pin"></a>`pin`

Data type: `Optional[Variant[Numeric, String]]`



Default value: `$erlang::package_apt_pin`

### <a name="erlang--repo--yum"></a>`erlang::repo::yum`

erlang yum repo
Expand All @@ -248,10 +144,14 @@ The following parameters are available in the `erlang::repo::yum` class:

* [`ensure`](#-erlang--repo--yum--ensure)
* [`source`](#-erlang--repo--yum--source)
* [`erlang_solutions_baseurl`](#-erlang--repo--yum--erlang_solutions_baseurl)
* [`erlang_solutions_gpgkey`](#-erlang--repo--yum--erlang_solutions_gpgkey)
* [`packagecloud_baseurl`](#-erlang--repo--yum--packagecloud_baseurl)
* [`packagecloud_gpgkey`](#-erlang--repo--yum--packagecloud_gpgkey)

##### <a name="-erlang--repo--yum--ensure"></a>`ensure`

Data type: `String`
Data type: `Enum['absent','present']`



Expand All @@ -265,77 +165,33 @@ Data type: `Erlang::RepoSource`

Default value: `$erlang::repo_source`

### <a name="erlang--repo--yum--epel"></a>`erlang::repo::yum::epel`

Erlang packagecloud yum repo

### <a name="erlang--repo--yum--erlang_solutions"></a>`erlang::repo::yum::erlang_solutions`

Erlang packagecloud yum repo

#### Parameters

The following parameters are available in the `erlang::repo::yum::erlang_solutions` class:

* [`ensure`](#-erlang--repo--yum--erlang_solutions--ensure)
* [`baseurl`](#-erlang--repo--yum--erlang_solutions--baseurl)
* [`gpgkey`](#-erlang--repo--yum--erlang_solutions--gpgkey)
##### <a name="-erlang--repo--yum--erlang_solutions_baseurl"></a>`erlang_solutions_baseurl`

##### <a name="-erlang--repo--yum--erlang_solutions--ensure"></a>`ensure`

Data type: `String`



Default value: `$erlang::repo::yum::ensure`

##### <a name="-erlang--repo--yum--erlang_solutions--baseurl"></a>`baseurl`

Data type: `String`
Data type: `Variant[Stdlib::HTTPSUrl,Enum['absent']]`



Default value: `"https://packages.erlang-solutions.com/rpm/centos/\$releasever/\$basearch"`

##### <a name="-erlang--repo--yum--erlang_solutions--gpgkey"></a>`gpgkey`
##### <a name="-erlang--repo--yum--erlang_solutions_gpgkey"></a>`erlang_solutions_gpgkey`

Data type: `String`
Data type: `Variant[Stdlib::HTTPSUrl,Enum['absent']]`



Default value: `'https://packages.erlang-solutions.com/rpm/erlang_solutions.asc'`

### <a name="erlang--repo--yum--packagecloud"></a>`erlang::repo::yum::packagecloud`

Erlang packagecloud yum repo
##### <a name="-erlang--repo--yum--packagecloud_baseurl"></a>`packagecloud_baseurl`

#### Parameters

The following parameters are available in the `erlang::repo::yum::packagecloud` class:

* [`ensure`](#-erlang--repo--yum--packagecloud--ensure)
* [`baseurl`](#-erlang--repo--yum--packagecloud--baseurl)
* [`gpgkey`](#-erlang--repo--yum--packagecloud--gpgkey)

##### <a name="-erlang--repo--yum--packagecloud--ensure"></a>`ensure`

Data type: `String`



Default value: `$erlang::repo::yum::ensure`

##### <a name="-erlang--repo--yum--packagecloud--baseurl"></a>`baseurl`

Data type: `String`
Data type: `Variant[Stdlib::HTTPSUrl,Enum['absent']]`



Default value: `"https://packagecloud.io/rabbitmq/erlang/el/${$facts['os']['release']['major']}/\$basearch"`

##### <a name="-erlang--repo--yum--packagecloud--gpgkey"></a>`gpgkey`
##### <a name="-erlang--repo--yum--packagecloud_gpgkey"></a>`packagecloud_gpgkey`

Data type: `String`
Data type: `Variant[Stdlib::HTTPSUrl,Enum['absent']]`



Expand Down
6 changes: 3 additions & 3 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@
#
class erlang (
String $package_name = 'erlang',
String $package_ensure = 'installed',
Stdlib::Ensure::Package $package_ensure = 'installed',
Optional[Variant[Numeric, String]] $package_apt_pin = undef,
Boolean $manage_repo = true,
String $repo_ensure = 'present',
Boolean $manage_repo = true,
Enum['present','absent'] $repo_ensure = 'present',
Erlang::RepoSource $repo_source = 'packagecloud',
) {
if $manage_repo {
Expand Down
4 changes: 1 addition & 3 deletions manifests/repo.pp
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
# Class that manages the erlang repo
class erlang::repo {
case $facts['os']['family'] {
'Debian': {
contain erlang::repo::apt
}
'RedHat': {
contain erlang::repo::yum
}
'Debian': {}
default: {
fail("The only supported OS families are 'Debian' and 'RedHat', currently trying to install on OS family: ${$facts['os']['family']}")
}
Expand Down
14 changes: 0 additions & 14 deletions manifests/repo/apt.pp

This file was deleted.

30 changes: 0 additions & 30 deletions manifests/repo/apt/erlang_solutions.pp

This file was deleted.

35 changes: 30 additions & 5 deletions manifests/repo/yum.pp
Original file line number Diff line number Diff line change
@@ -1,19 +1,44 @@
# erlang yum repo
class erlang::repo::yum (
String $ensure = $erlang::repo_ensure,
Enum['absent','present'] $ensure = $erlang::repo_ensure,
Erlang::RepoSource $source = $erlang::repo_source,
Variant[Stdlib::HTTPSUrl,Enum['absent']] $erlang_solutions_baseurl = "https://packages.erlang-solutions.com/rpm/centos/\$releasever/\$basearch",
Variant[Stdlib::HTTPSUrl,Enum['absent']] $erlang_solutions_gpgkey = 'https://packages.erlang-solutions.com/rpm/erlang_solutions.asc',
Variant[Stdlib::HTTPSUrl,Enum['absent']] $packagecloud_baseurl = "https://packagecloud.io/rabbitmq/erlang/el/${$facts['os']['release']['major']}/\$basearch",
Variant[Stdlib::HTTPSUrl,Enum['absent']] $packagecloud_gpgkey = 'https://packagecloud.io/rabbitmq/erlang/gpgkey'
) inherits erlang {
case $source {
'epel': {
contain erlang::repo::yum::epel
# include epel instead of contain because lots of other stuff declares epel
include epel
# specifically declare dependency on epel repo
Class['epel'] -> Package[$erlang::package_name]
}
'erlang_solutions': {
# erlang_solutions package requires things from EPEL
contain erlang::repo::yum::epel
contain erlang::repo::yum::erlang_solutions
# include epel instead of contain because lots of other stuff declares epel
include epel
# specifically declare dependency on epel repo
Class['epel'] -> Package[$erlang::package_name]
yumrepo { 'erlang-erlang_solutions':
ensure => $ensure,
name => 'erlang-erlang_solutions',
baseurl => $erlang_solutions_baseurl,
enabled => '1',
gpgcheck => '1',
gpgkey => $erlang_solutions_gpgkey,
}
}
'packagecloud': {
contain erlang::repo::yum::packagecloud
yumrepo { 'erlang-packagecloud':
ensure => $ensure,
name => 'erlang-packagecloud',
baseurl => $packagecloud_baseurl,
enabled => '1',
gpgcheck => '0',
repo_gpgcheck => '1',
gpgkey => $packagecloud_gpgkey,
}
}
default: {
fail("Only 'packagecloud', 'epel' repo_source are supported for Yum repos, the following is not supported: ${source}")
Expand Down
7 changes: 0 additions & 7 deletions manifests/repo/yum/epel.pp

This file was deleted.

15 changes: 0 additions & 15 deletions manifests/repo/yum/erlang_solutions.pp

This file was deleted.

Loading
Loading