OLD | NEW |
(Empty) | |
| 1 # == Type: fluent::plugin |
| 2 # |
| 3 # Maintain Fluentd plugin files. |
| 4 # |
| 5 # Type fluent::plugin is a thin layer around a single Puppet file resource |
| 6 # definition, combining the available parameters with ones computed internally |
| 7 # (aligned with http://docs.fluentd.org/articles/plugin-management). |
| 8 # |
| 9 # === Parameters: |
| 10 # |
| 11 # [*content*] |
| 12 # Translates directly into the file $content parameter. |
| 13 # |
| 14 # [*ensure*] |
| 15 # Translates directly into the file $ensure parameter. |
| 16 # |
| 17 # [*name*] |
| 18 # Used as basename (without .rb extension or directory path) when |
| 19 # generating the plugin file $path. |
| 20 # |
| 21 # [*source*] |
| 22 # Translates directly into the file $source parameter. |
| 23 # |
| 24 # [*target*] |
| 25 # Translates directly into the file $target parameter. |
| 26 # |
| 27 # === Examples: |
| 28 # |
| 29 # fluent::plugin {'example1': |
| 30 # name => 'my_plugin', |
| 31 # source => 'puppet:///modules/custom/fluentd/plugin.rb', |
| 32 # } |
| 33 # |
| 34 # fluent::plugin {'example2': |
| 35 # ensure => 'link', |
| 36 # target => '/opt/custom-fluentd-stuff/plugin.rb', |
| 37 # } |
| 38 # |
| 39 define fluent::plugin ( |
| 40 $content = undef, |
| 41 $ensure = 'present', |
| 42 $source = undef, |
| 43 $target = undef, |
| 44 ) { |
| 45 |
| 46 include fluent |
| 47 include stdlib |
| 48 |
| 49 file {"fluent::plugin#$title": |
| 50 content => $content, |
| 51 ensure => $ensure, |
| 52 group => $fluent::group, |
| 53 mode => 0640, |
| 54 notify => Service['fluent'], |
| 55 owner => getparam(File['fluent'], 'owner'), |
| 56 path => "$fluent::directory/plugin/$name.rb", |
| 57 require => File["$fluent::directory/plugin"], |
| 58 source => $source, |
| 59 target => $target, |
| 60 } |
| 61 } |
OLD | NEW |