| OLD | NEW | 
 | (Empty) | 
|   1 # == Type: logstash::pipeline |  | 
|   2 # |  | 
|   3 # Manage Logstash (https://logstash.net/) pipeline configuration files. |  | 
|   4 # |  | 
|   5 # While one can directly provide the configuration $source or $content, one |  | 
|   6 # should note that a logstash::pipeline resource is actually the head of the |  | 
|   7 # logfile for concatenation (analogous to file_concat or module concat). Use |  | 
|   8 # logstash::fragment to assemble such a file from multiple resources. |  | 
|   9 # |  | 
|  10 # === Parameters: |  | 
|  11 # |  | 
|  12 # [*content*] |  | 
|  13 #   The configuration as-is, mutually exclusive with $source. |  | 
|  14 # |  | 
|  15 # [*ensure*] |  | 
|  16 #   Either 'present' or 'absent'. |  | 
|  17 # |  | 
|  18 # [*source*] |  | 
|  19 #   The configuration source location, mutually exclusive with $content. |  | 
|  20 # |  | 
|  21 # === Examples: |  | 
|  22 # |  | 
|  23 # Below please find a list of examples on how to use this type. Examples |  | 
|  24 # on how to configure a Logstash pipeline are provided by Elastic at |  | 
|  25 # https://www.elastic.co/guide/en/logstash/current/config-examples.html |  | 
|  26 # |  | 
|  27 #   # A pipeline setup using logstash::fragment |  | 
|  28 #   logstash::pipeline {'alpha': |  | 
|  29 #     ensure => 'present', |  | 
|  30 #   } |  | 
|  31 # |  | 
|  32 #   # A pipeline setup from a single template |  | 
|  33 #   logstash::pipeline {'beta': |  | 
|  34 #     content => template('custom/pipeline.erb'), |  | 
|  35 #   } |  | 
|  36 # |  | 
|  37 #   # An obsolete setup to be removed if present |  | 
|  38 #   logstash::pipeline {'gamma': |  | 
|  39 #     ensure => 'absent', |  | 
|  40 #   } |  | 
|  41 # |  | 
|  42 # For more information on how to use logstash::fragment with a pipeline |  | 
|  43 # like 'alpha' above please refer to the accompanying fragment.pp file. |  | 
|  44 # |  | 
|  45 define logstash::pipeline( |  | 
|  46   $content = undef, |  | 
|  47   $ensure = 'present', |  | 
|  48   $source = undef, |  | 
|  49 ) { |  | 
|  50  |  | 
|  51   $id = "logstash::pipeline#$title" |  | 
|  52   $path = sprintf("/etc/logstash/conf.d/puppet-%s.conf", uriescape($title)) |  | 
|  53  |  | 
|  54   if $ensure !~ /^(absent|purged)$/ { |  | 
|  55  |  | 
|  56     concat {$id: |  | 
|  57       notify => Service['logstash'], |  | 
|  58       path => $path, |  | 
|  59       require => Package['logstash'], |  | 
|  60     } |  | 
|  61  |  | 
|  62     concat::fragment {$id: |  | 
|  63       content => $content, |  | 
|  64       order => 0, |  | 
|  65       source => $source, |  | 
|  66       target => $id, |  | 
|  67     } |  | 
|  68   } |  | 
|  69   elsif !defined(File[$path]) { |  | 
|  70  |  | 
|  71     file {$path: |  | 
|  72       ensure => 'absent', |  | 
|  73     } |  | 
|  74   } |  | 
|  75 } |  | 
| OLD | NEW |