1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 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 58 59 60 61 62 63
|
#
define collectd::plugin (
$ensure = 'present',
$content = undef,
$order = '10',
$globals = false,
$interval = undef,
$plugin = $name,
Optional[Integer] $flushinterval = undef,
) {
include collectd
$conf_dir = $collectd::plugin_conf_dir
$config_group = $collectd::config_group
$plugin_package = "collectd-${plugin}"
$flush_require = defined(Package[$plugin_package]) ? {
true => Package[$plugin_package],
default => undef
}
file { "${plugin}.load":
ensure => $ensure,
path => "${conf_dir}/${order}-${plugin}.conf",
owner => $collectd::config_owner,
group => $collectd::config_group,
mode => $collectd::config_mode,
content => template('collectd/loadplugin.conf.erb'),
notify => Service[$collectd::service_name],
}
# Older versions of this module didn't use the "00-" prefix.
# Delete those potentially left over files just to be sure.
file { "older_${plugin}.load":
ensure => absent,
path => "${conf_dir}/${plugin}.conf",
notify => Service[$collectd::service_name],
require => $flush_require,
}
# Older versions of this module use the "00-" prefix by default.
# Delete those potentially left over files just to be sure.
if $order != '00' {
file { "old_${plugin}.load":
ensure => absent,
path => "${conf_dir}/00-${plugin}.conf",
notify => Service[$collectd::service_name],
require => $flush_require,
}
}
# Delete default config file created by platform packaging and not matching
# plugin name
if ($plugin in $collectd::package_configs) {
file { "package_${plugin}.load":
ensure => absent,
path => "${conf_dir}/${collectd::package_configs[$plugin]}",
notify => Service[$collectd::service_name],
require => $flush_require,
}
}
}
|