File: script.pp

package info (click to toggle)
puppet-module-voxpupuli-elasticsearch 9.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,496 kB
  • sloc: ruby: 9,906; sh: 392; makefile: 4
file content (37 lines) | stat: -rw-r--r-- 1,192 bytes parent folder | download
1
2
3
4
5
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
#  This define allows you to insert, update or delete scripts that are used
#  within Elasticsearch.
#
# @param ensure
#   Controls the state of the script file resource to manage.
#   Values are simply passed through to the `file` resource.
#
# @param recurse
#   Will be passed through to the script file resource.
#
# @param source
#   Puppet source of the script
#
# @author Richard Pijnenburg <richard.pijnenburg@elasticsearch.com>
# @author Tyler Langlois <tyler.langlois@elastic.co>
#
define elasticsearch::script (
  String                                     $source,
  String                                     $ensure  = 'present',
  Optional[Variant[Boolean, Enum['remote']]] $recurse = undef,
) {
  if ! defined(Class['elasticsearch']) {
    fail('You must include the elasticsearch base class before using defined resources')
  }

  $filename_array = split($source, '/')
  $basefilename = $filename_array[-1]

  file { "${elasticsearch::homedir}/scripts/${basefilename}":
    ensure  => $ensure,
    source  => $source,
    owner   => $elasticsearch::elasticsearch_user,
    group   => $elasticsearch::elasticsearch_group,
    recurse => $recurse,
    mode    => '0644',
  }
}