| Index: modules/fluent/manifests/config.pp |
| diff --git a/modules/fluent/manifests/config.pp b/modules/fluent/manifests/config.pp |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..3e3b9fc66b67500d9b016f45e9593d3b9089763d |
| --- /dev/null |
| +++ b/modules/fluent/manifests/config.pp |
| @@ -0,0 +1,65 @@ |
| +# == Type: fluent::config |
| +# |
| +# Maintain Fluentd configuration files. |
| +# |
| +# Use "@include config.d/*.conf" in the main configuration ($fluent::config) |
| +# to include all fragments at once, or "@include config.d/$name.conf" to pick |
| +# and choose. |
| +# |
| +# Type fluent::config is a thin layer around a single Puppet file resource |
| +# definition, combining the available parameters with ones computed internally |
| +# (aligned with http://docs.fluentd.org/articles/config-file). |
| +# |
| +# === Parameters: |
| +# |
| +# [*content*] |
| +# Translates directly into the file $content parameter. |
| +# |
| +# [*ensure*] |
| +# Translates directly into the file $ensure parameter. |
| +# |
| +# [*name*] |
| +# Used as basename (without .conf extension or directory path) when |
| +# generating the config file $path. |
| +# |
| +# [*source*] |
| +# Translates directly into the file $source parameter. |
| +# |
| +# [*target*] |
| +# Translates directly into the file $target parameter. |
| +# |
| +# === Examples: |
| +# |
| +# fluent::config {'example1': |
| +# name => 'my_config', |
| +# source => 'puppet:///modules/custom/fluentd.conf', |
| +# } |
| +# |
| +# fluent::config {'example2': |
| +# ensure => 'link', |
| +# target => '/opt/custom-stuff/fluentd.conf', |
| +# } |
| +# |
| +define fluent::config ( |
| + $content = undef, |
| + $ensure = 'present', |
| + $source = undef, |
| + $target = undef, |
| +) { |
| + |
| + include fluent |
| + include stdlib |
| + |
| + file {"fluent::config#$title": |
| + content => $content, |
| + ensure => $ensure, |
| + group => $fluent::group, |
| + mode => 0640, |
| + notify => Service['fluent'], |
| + owner => getparam(File['fluent'], 'owner'), |
| + path => "$fluent::directory/config.d/$name.conf", |
| + require => File["$fluent::directory/config.d"], |
| + source => $source, |
| + target => $target, |
| + } |
| +} |