Puppet Class: logstash::config
- Defined in:
- manifests/config.pp
Overview
Class: logstash::config
This class exists to coordinate all configuration related actions, functionality and logical units in a central place.
Parameters
This class does not provide any parameters.
Examples
This class may be imported by other classes to use its functionality:
class { 'logstash::config': }
It is not intended to be used directly by external resources like node definitions or other modules.
Authors
-
Richard Pijnenburg <richard.pijnenburg@elasticsearch.com>
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'manifests/config.pp', line 25
class logstash::config {
File {
owner => $logstash::logstash_user,
group => $logstash::logstash_group,
}
$notify_service = $logstash::restart_on_change ? {
true => Class['logstash::service'],
false => undef,
}
if ( $logstash::ensure == 'present' ) {
file { $logstash::configdir:
ensure => directory,
purge => $logstash::purge_configdir,
recurse => $logstash::purge_configdir,
}
file { "${logstash::configdir}/conf.d":
ensure => directory,
require => File[$logstash::configdir],
}
file_concat { 'ls-config':
ensure => 'present',
tag => "LS_CONFIG_${::fqdn}",
path => "${logstash::configdir}/conf.d/logstash.conf",
owner => $logstash::logstash_user,
group => $logstash::logstash_group,
mode => '0644',
notify => $notify_service,
require => File[ "${logstash::configdir}/conf.d" ],
}
$directories = [
$logstash::patterndir,
$logstash::plugindir,
"${logstash::plugindir}/logstash",
"${logstash::plugindir}/logstash/inputs",
"${logstash::plugindir}/logstash/outputs",
"${logstash::plugindir}/logstash/filters",
"${logstash::plugindir}/logstash/codecs",
]
file { $directories:,
ensure => directory,
}
}
elsif ( $logstash::ensure == 'absent' ) {
file { $logstash::configdir:
ensure => 'absent',
recurse => true,
force => true,
}
}
}
|