From 5d6fc45ed4c75357922f2be5d3b45f5c77392f1e Mon Sep 17 00:00:00 2001 From: Tom De Vylder Date: Wed, 14 Jan 2015 13:10:08 +0100 Subject: [PATCH 1/2] Add inline checkplugin file distribution method --- manifests/checkplugin.pp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/manifests/checkplugin.pp b/manifests/checkplugin.pp index 968695b..45e2012 100644 --- a/manifests/checkplugin.pp +++ b/manifests/checkplugin.pp @@ -13,6 +13,7 @@ define icinga2::checkplugin ( $checkplugin_template_module = 'icinga2', $checkplugin_template = undef, $checkplugin_source_file = undef, + $checkplugin_source_inline = undef, ) { #Do some validation of the class' parameters: @@ -41,6 +42,15 @@ define icinga2::checkplugin ( require => Package[$icinga2::params::icinga2_client_packages], } } + elsif $checkplugin_file_distribution_method == 'inline' { + file { "${checkplugin_libdir}/${checkplugin_name}": + owner => $checkplugin_target_file_owner, + group => $checkplugin_target_file_group, + mode => $checkplugin_target_file_mode, + content => $checkplugin_source_inline, + 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', From 1a6cb2c467eb9cce769fbce4e1aa027dab09edb0 Mon Sep 17 00:00:00 2001 From: Tom De Vylder Date: Thu, 15 Jan 2015 17:03:35 +0100 Subject: [PATCH 2/2] Document checkplugin_source_inline parameter --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index 779a381..b360e3a 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,23 @@ icinga2::checkplugin { 'check_diskstats': } ```` +Example 3: Distribute check plugin in a manifest +``` +icinga2::checkplugin { 'check_diskstats': + checkplugin_file_distribution_method => 'inline' + checkplugin_source_inline => 'command[check_disks]=/usr/lib64/nagios/plugins/check_disk -w 20 -c 10 -p /' +} +``` + +Example 4: Distribute check plugin stored in Hiera(-yaml) +``` +--- +icinga2::checkplugin: + check_diskstats: + checkplugin_file_distribution_method: 'inline' + checkplugin_source_inline: 'command[check_disks]=/usr/lib64/nagios/plugins/check_disk -w 20 -c 10 -p /' +``` + ###[Object type usage](id:object_type_usage) This module includes several defined types that can be used to automatically generate Icinga 2 format object definitions. They function in a similar way to [the built-in Nagios types that are included in Puppet](http://docs.puppetlabs.com/guides/exported_resources.html#exported-resources-with-nagios).