[icinga-checkins] icinga.org: puppet-icinga2/master: only check some params if the "default" erb template is used. Also allow for "static" templates and files to be set in pace of "default" erb
git at icinga.org
git at icinga.org
Wed Nov 12 06:50:13 CET 2014
Module: puppet-icinga2
Branch: master
Commit: e7710c6d2dae86d94f1a23f5310f91f7db104ba6
URL: https://git.icinga.org/?p=puppet-icinga2.git;a=commit;h=e7710c6d2dae86d94f1a23f5310f91f7db104ba6
Author: Steven Bambling <smbambling at gmail.com>
Date: Thu Oct 23 13:19:46 2014 -0400
only check some params if the "default" erb template is used. Also allow for "static" templates and files to be set in pace of "default" erb
Signed-off-by: Nick Chappell <nick at intronic.org>
Merged from: https://github.com/Icinga/puppet-icinga2/pull/35
refs#7628: https://dev.icinga.org/issues/7628
---
manifests/object/checkcommand.pp | 84 +++++++++++++++++++++++---------------
1 file changed, 52 insertions(+), 32 deletions(-)
diff --git a/manifests/object/checkcommand.pp b/manifests/object/checkcommand.pp
index a270d39..d555841 100644
--- a/manifests/object/checkcommand.pp
+++ b/manifests/object/checkcommand.pp
@@ -11,34 +11,38 @@
define icinga2::object::checkcommand (
$object_checkcommandname = $name,
- $template_to_import = 'plugin-check-command',
-/* $methods = undef, */ /* Need to get more details about this attribute */
- $command = undef,
- $cmd_path = 'PluginDir',
- $arguments = {},
- $env = undef,
- $vars = {},
- $timeout = undef,
- $target_dir = '/etc/icinga2/objects/checkcommands',
- $checkcommand_template_module = 'icinga2',
- $checkcommand_template = 'object_checkcommand.conf.erb',
- $target_file_name = "${name}.conf",
- $target_file_owner = 'root',
- $target_file_group = 'root',
- $target_file_mode = '0644'
+ $template_to_import = 'plugin-check-command',
+/* $methods = undef, */ /* Need to get more details about this attribute */
+ $command = undef,
+ $cmd_path = 'PluginDir',
+ $arguments = {},
+ $env = undef,
+ $vars = {},
+ $timeout = undef,
+ $target_dir = '/etc/icinga2/objects/checkcommands',
+ $checkcommand_template_module = 'icinga2',
+ $checkcommand_template = 'object_checkcommand.conf.erb',
+ $checkcommand_source_file = undef,
+ $checkcommand_file_distribution_method = 'content',
+ $target_file_name = "${name}.conf",
+ $target_file_owner = 'root',
+ $target_file_group = 'root',
+ $target_file_mode = '0644',
) {
#Do some validation of the class' parameters:
validate_string($object_checkcommandname)
- validate_string($template_to_import)
- validate_array($command)
- validate_string($cmd_path)
- if $env {
- validate_hash($env)
- }
- validate_hash($vars)
- if $timeout {
- validate_re($timeout, '^\d+$')
+ if $checkcommand_template == 'object_checkcommand.conf.erb' {
+ validate_string($template_to_import)
+ validate_array($command)
+ validate_string($cmd_path)
+ if $env {
+ validate_hash($env)
+ }
+ validate_hash($vars)
+ if $timeout {
+ validate_re($timeout, '^\d+$')
+ }
}
validate_string($target_dir)
validate_string($target_file_name)
@@ -47,13 +51,29 @@ define icinga2::object::checkcommand (
validate_re($target_file_mode, '^\d{4}$')
- file {"${target_dir}/${target_file_name}":
- ensure => file,
- owner => $target_file_owner,
- group => $target_file_group,
- mode => $target_file_mode,
- content => template("${checkcommand_template_module}/${checkcommand_template}"),
- notify => Service['icinga2'],
+ if $checkcommand_file_distribution_method == 'content' {
+ file {"${target_dir}/${target_file_name}":
+ ensure => file,
+ owner => $target_file_owner,
+ group => $target_file_group,
+ mode => $target_file_mode,
+ content => template("${checkcommand_template_module}/${checkcommand_template}"),
+ notify => Service['icinga2'],
+ }
+ }
+ elsif $checkcommand_file_distribution_method == 'source' {
+ file {"${target_dir}/${target_file_name}":
+ ensure => file,
+ owner => $target_file_owner,
+ group => $target_file_group,
+ mode => $target_file_mode,
+ source => $checkcommand_source_file,
+ notify => Service['icinga2'],
+ }
+ }
+ else {
+ notify {'Missing/Incorrect File Distribution Method':
+ message => 'The parameter checkcommand_file_distribution_method is missing or incorrect. Please set content or source',
+ }
}
-
}
More information about the icinga-checkins
mailing list