# == Define: elasticsearch::script # # This define allows you to insert, update or delete scripts that are used within Elasticsearch # # === 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. # # [*source*] # Puppet source of the script # Value type is string # Default value: undef # This variable is optional # # === Authors # # * Richard Pijnenburg # define elasticsearch::script( $ensure = 'present', $source = undef, ) { require elasticsearch # ensure if ! ($ensure in [ 'present', 'absent' ]) { fail("\"${ensure}\" is not a valid ensure parameter value") } validate_re($source, '^puppet://') $filenameArray = split($source, '/') $basefilename = $filenameArray[-1] file { "${elasticsearch::configdir}/scripts/${basefilename}": ensure => $ensure, source => $source, owner => $elasticsearch::elasticsearch_user, group => $elasticsearch::elasticsearch_group, mode => '0644', } }