1
0
mirror of https://github.com/krislamo/puppet-fluentd synced 2024-11-14 14:00:36 +00:00
puppet-fluentd/manifests/plugin.pp

60 lines
1.2 KiB
ObjectPascal
Raw Permalink Normal View History

# Define: fluentd::plugin
# ===========================
#
# Installs a plugin for fluentd.
#
# Parameters
# ----------
# [*ensure*]
# Default: 'present'
# [*type*]
# Which type of plugin, allowed values are gem and file
# Default: 'gem'
# [*source*]
# source to file for the plugin only needed if you use type: file
# Default: 'undef'
#
# Examples
# --------
#
# @example
# ::fluentd::plugin { 'fluent-plugin-elasticsearch': }
#
# Copyright
# ---------
#
# Copyright 2015 wywy GmbH, unless otherwise noted.
2015-12-03 10:59:51 +00:00
#
define fluentd::plugin (
$ensure = present,
$type = 'gem',
$source = undef,
) {
# parameter validation
if ! ($ensure in [ 'present', 'absent' ]) {
fail('ensure parameter must be present or absent')
}
case $type {
'gem': {
fluentd::plugin::gem { $name:
2015-12-07 10:09:31 +00:00
ensure => $ensure,
2015-12-03 10:59:51 +00:00
require => Class['Fluentd::Install']
}
}
'file': {
validate_string($source)
fluentd::plugin::file { $name:
2015-12-07 10:09:31 +00:00
ensure => $ensure,
source => $source,
2015-12-03 10:59:51 +00:00
require => Class['Fluentd::Install']
}
}
default: {
fail("plugin type: '${type}' is currently not supported, use gem or file")
}
}
}