diff -r a2342f26c9de -r b0b56e0f8c7f dev/provisioning/modules/elasticsearch/manifests/ruby.pp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dev/provisioning/modules/elasticsearch/manifests/ruby.pp Fri Jan 15 15:35:00 2016 +0100 @@ -0,0 +1,67 @@ +# == Define: elasticsearch::ruby +# +# there are many ruby bindings for elasticsearch. This provides all +# the ones we know about http://www.elasticsearch.org/guide/clients/ +# +# === Parameters +# +# [*ensure*] +# String. Controls if the managed resources shall be present or +# absent. If set to absent: +# * The managed software packages are being uninstalled. +# * Any traces of the packages will be purged as good as possible. This may +# include existing configuration files. The exact behavior is provider +# dependent. Q.v.: +# * Puppet type reference: {package, "purgeable"}[http://j.mp/xbxmNP] +# * {Puppet's package provider source code}[http://j.mp/wtVCaL] +# * System modifications (if any) will be reverted as good as possible +# (e.g. removal of created users, services, changed log settings, ...). +# * This is thus destructive and should be used with care. +# Defaults to present. +# +# === Examples +# +# elasticsearch::ruby { 'elasticsearch':; } +# +# === Authors +# +# * Richard Pijnenburg +# +define elasticsearch::ruby ( + $ensure = 'present' +) { + + if ! ($ensure in [ 'present', 'absent' ]) { + fail("\"${ensure}\" is not a valid ensure parameter value") + } + + # make sure the package name is valid and setup the provider as + # necessary + case $name { + 'tire': { + $provider = 'gem' + } + 'stretcher': { + $provider = 'gem' + } + 'elastic_searchable': { + $provider = 'gem' + } + 'elasticsearch': { + $provider = 'gem' + } + 'flex': { + $provider = 'gem' + } + default: { + fail("unknown ruby client package '${name}'") + } + } + + package { "ruby_${name}": + ensure => $ensure, + name => $name, + provider => $provider, + } + +}