Defined Type: logstash::config

Defined in:
manifests/config.pp

Overview

Define: logstash::config

This define creates a configuration file for logstash

Parameters

source

Sets the content of source parameter for configuration file If defined, this config file will have the param: source => $source

template

Sets the path to the template to use as content for configuration file If defined, logstash this config file will have the param: content => content(“$template”) NOTE: source and template parameters are mutually exclusive: don’t use both

options

An hash of custom options to be used in templates for arbitrary settings.

ensure

Defines the status of the file. Default: present Set to ‘absent’ if you want to remove an existing config

Parameters:

  • source (Any) (defaults to: '')
  • template (Any) (defaults to: '')
  • options (Any) (defaults to: '')
  • ensure (Any) (defaults to: 'present')


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
# File 'manifests/config.pp', line 25

define logstash::config (
  $source   = '',
  $template = '',
  $options  = '',
  $ensure   = 'present'
  ) {

  $manage_file_source = $source ? {
    ''        => undef,
    default   => $source,
  }

  $manage_file_content = $template ? {
    ''        => undef,
    default   => template($template),
  }

  require logstash

  file { "logstash.conf_${name}":
    ensure  => $ensure,
    path    => "${logstash::config_dir}/${name}.conf",
    mode    => $logstash::config_file_mode,
    owner   => $logstash::config_file_owner,
    group   => $logstash::config_file_group,
    require => Class['logstash::install'],
    notify  => $logstash::manage_service_autorestart,
    source  => $manage_file_source,
    content => $manage_file_content,
    replace => $logstash::manage_file_replace,
    audit   => $logstash::manage_audit,
  }
}