allow either source or content to be used as the file distribution method
Signed-off-by: Nick Chappell <nick@intronic.org>
This commit is contained in:
parent
5e82839bb1
commit
f437b8406f
1 changed files with 30 additions and 12 deletions
|
@ -4,12 +4,14 @@
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
define icinga2::checkplugin (
|
define icinga2::checkplugin (
|
||||||
$checkplugin_name = $name,
|
$checkplugin_name = $name,
|
||||||
$checkplugin_libdir = $icinga2::params::checkplugin_libdir,
|
$checkplugin_libdir = $icinga2::params::checkplugin_libdir,
|
||||||
$checkplugin_target_file_owner = 'root',
|
$checkplugin_target_file_owner = 'root',
|
||||||
$checkplugin_target_file_group = 'root',
|
$checkplugin_target_file_group = 'root',
|
||||||
$checkplugin_target_file_mode = '0755',
|
$checkplugin_target_file_mode = '0755',
|
||||||
$checkplugin_template = undef,
|
$checkplugin_file_distribution_method = 'content',
|
||||||
|
$checkplugin_template = undef,
|
||||||
|
$checkplugin_source_file = undef,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
#Do some validation of the class' parameters:
|
#Do some validation of the class' parameters:
|
||||||
|
@ -20,12 +22,28 @@ define icinga2::checkplugin (
|
||||||
validate_string($checkplugin_target_file_group)
|
validate_string($checkplugin_target_file_group)
|
||||||
validate_string($checkplugin_target_file_mode)
|
validate_string($checkplugin_target_file_mode)
|
||||||
|
|
||||||
file { "${checkplugin_libdir}/${checkplugin_name}":
|
if $checkplugin_file_distribution_method == 'content' {
|
||||||
owner => $checkplugin_target_file_owner,
|
file { "${checkplugin_libdir}/${checkplugin_name}":
|
||||||
group => $checkplugin_target_file_group,
|
owner => $checkplugin_target_file_owner,
|
||||||
mode => $checkplugin_target_file_mode,
|
group => $checkplugin_target_file_group,
|
||||||
content => template("icinga2/${checkplugin_template}"),
|
mode => $checkplugin_target_file_mode,
|
||||||
require => Package[$icinga2::params::icinga2_client_packages],
|
content => template("icinga2/${checkplugin_template}"),
|
||||||
|
require => Package[$icinga2::params::icinga2_client_packages],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elsif $checkplugin_file_distribution_method == 'source' {
|
||||||
|
file { "${checkplugin_libdir}/${checkplugin_name}":
|
||||||
|
owner => $checkplugin_target_file_owner,
|
||||||
|
group => $checkplugin_target_file_group,
|
||||||
|
mode => $checkplugin_target_file_mode,
|
||||||
|
source => $checkplugin_source_file,
|
||||||
|
require => Package[$icinga2::params::icinga2_client_packages],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
notify {'Missing/Incorrect File Distribution Method':
|
||||||
|
message => 'The parameter checkplugin_file_distribution_method is missing or incorrect. Please set content or source',
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue