# == Define: elasticsearch::python # # there are many python 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::python { 'pyes':; } # # === Authors # # * Richard Pijnenburg # define elasticsearch::python ( $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 { 'pyes': { $provider = 'pip' } 'rawes': { $provider = 'pip' } 'pyelasticsearch': { $provider = 'pip' } 'ESClient': { $provider = 'pip' } 'elasticutils': { $provider = 'pip' } 'elasticsearch': { $provider = 'pip' } default: { fail("unknown python binding package '${name}'") } } package { "python_${name}": ensure => $ensure, name => $name, provider => $provider, } }