From 0f8cf13c3ea9b4a42afe72cdd96f860e270f8cd7 Mon Sep 17 00:00:00 2001
From: Arne Teuke
Date: Tue, 25 Jul 2017 15:56:52 +0100
Subject: [PATCH 1/7] linked commands.pp
---
manifests/nagios/objects/commands.pp | 3 ++-
manifests/server/service.pp | 1 +
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/manifests/nagios/objects/commands.pp b/manifests/nagios/objects/commands.pp
index 9b44306..22dc856 100644
--- a/manifests/nagios/objects/commands.pp
+++ b/manifests/nagios/objects/commands.pp
@@ -18,7 +18,8 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
-# @summary Class manages all configuration files required for cd_nagios.
+# @summary Class manages all commands known to NAGIOS through Puppet exports,
+# and populates /etc/nagios/conf.d/nagios_commands.cfg
##############################################################################
class cd_nagios::nagios::objects::commands (
diff --git a/manifests/server/service.pp b/manifests/server/service.pp
index 5d8cbd2..315f7f8 100644
--- a/manifests/server/service.pp
+++ b/manifests/server/service.pp
@@ -28,6 +28,7 @@ class cd_nagios::server::service (
require cd_nagios::server::files
require cd_nagios::server::access_rules
+ require cd_nagios::nagios::objects::commands
service { $ng_service:
ensure => running,
From 633f59375b02f4b450d5e2e513d800477496f111 Mon Sep 17 00:00:00 2001
From: Arne Teuke
Date: Tue, 25 Jul 2017 16:30:03 +0100
Subject: [PATCH 2/7] added and linked template_rules
---
manifests/nagios/objects/commands.pp | 4 +-
manifests/nagios/objects/template_rules.pp | 45 +++++
manifests/nagios/objects/templates.pp | 29 +++
manifests/params.pp | 2 +-
manifests/server/service.pp | 1 +
templates/nagios/templates_cfg.erb | 197 +++++++++++++++++++++
templates/nagios/templates_cfg_head.erb | 7 +
7 files changed, 282 insertions(+), 3 deletions(-)
create mode 100644 manifests/nagios/objects/template_rules.pp
create mode 100644 manifests/nagios/objects/templates.pp
create mode 100755 templates/nagios/templates_cfg.erb
create mode 100644 templates/nagios/templates_cfg_head.erb
diff --git a/manifests/nagios/objects/commands.pp b/manifests/nagios/objects/commands.pp
index 22dc856..ca20522 100644
--- a/manifests/nagios/objects/commands.pp
+++ b/manifests/nagios/objects/commands.pp
@@ -19,8 +19,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# @summary Class manages all commands known to NAGIOS through Puppet exports,
-# and populates /etc/nagios/conf.d/nagios_commands.cfg
-##############################################################################
+# and populates /etc/nagios/conf.d/nagios_commands.cfg.
+################################################################################
class cd_nagios::nagios::objects::commands (
) inherits cd_nagios::params {
diff --git a/manifests/nagios/objects/template_rules.pp b/manifests/nagios/objects/template_rules.pp
new file mode 100644
index 0000000..19bcf6c
--- /dev/null
+++ b/manifests/nagios/objects/template_rules.pp
@@ -0,0 +1,45 @@
+## cd_nagios::nagios::objects::template_rules.pp
+# Module name: cd_nagios
+# Author: Arne Teuke (arne_teuke@ConfDroid.com)
+# # License:
+# This file is part of cd_nagios.
+#
+# cd_nagios is used for providing automatic configuration of Nagios
+# Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com)
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+# @summary Class manages /etc/nagios/conf.d/templates.cfg through concat.
+################################################################################
+class cd_nagios::nagios::objects::template_rules (
+
+) inherits cd_nagios::params {
+
+ if $::fqdn == $ng_nagios_server {
+
+ # create the templates.cfg file
+
+ concat { $ng_target_templates:
+ ensure => present,
+ path => $ng_target_templates,
+ owner => $ng_user,
+ group => $ng_user,
+ mode => '0640',
+ selrange => s0,
+ selrole => object_r,
+ aeltype => nagios_etc_t,
+ seluser => system_u,
+ content => template[$ng_templates_head_erb]
+ notify => Service[$ng_service],
+ }
+ }
+}
diff --git a/manifests/nagios/objects/templates.pp b/manifests/nagios/objects/templates.pp
new file mode 100644
index 0000000..590d05c
--- /dev/null
+++ b/manifests/nagios/objects/templates.pp
@@ -0,0 +1,29 @@
+## cd_nagios::nagios::objects::templates.pp
+# Module name: cd_nagios
+# Author: Arne Teuke (arne_teuke@ConfDroid.com)
+# # License:
+# This file is part of cd_nagios.
+#
+# cd_nagios is used for providing automatic configuration of Nagios
+# Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com)
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+# @summary Define manages populates /etc/nagios/conf.d/templates.cfg.
+################################################################################
+defie cd_nagios::nagios::objects::templates (
+
+) {
+
+$ng_target_templates = $::cd_nagios::params::ng_target_templates
+
+}
diff --git a/manifests/params.pp b/manifests/params.pp
index 66327cd..95b88ee 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -959,8 +959,8 @@ $ng_certbot_check = "${ng_certbot_archive}/${ng_webserver_name}/cert1.pe
$ng_certbot_live = "${ng_certbot_main_dir}/live"
# nagios
-
$ng_target_templates = "${ng_conf_d_dir}/templates.cfg"
+$ng_templates_head_erb = 'cd_nagios/nagios/templates_cfg_head.erb'
$ng_target_timeperiods = "${ng_conf_d_dir}/timeperiods.cfg"
$ng_target_localhost = "${ng_conf_d_dir}/nagios_localhost.cfg"
$ng_target_host = "${ng_conf_d_dir}/nagios_host.cfg"
diff --git a/manifests/server/service.pp b/manifests/server/service.pp
index 315f7f8..3ec4b42 100644
--- a/manifests/server/service.pp
+++ b/manifests/server/service.pp
@@ -29,6 +29,7 @@ class cd_nagios::server::service (
require cd_nagios::server::files
require cd_nagios::server::access_rules
require cd_nagios::nagios::objects::commands
+ require cd_nagios::nagios::objects::template_rules
service { $ng_service:
ensure => running,
diff --git a/templates/nagios/templates_cfg.erb b/templates/nagios/templates_cfg.erb
new file mode 100755
index 0000000..fad436e
--- /dev/null
+++ b/templates/nagios/templates_cfg.erb
@@ -0,0 +1,197 @@
+###############################################################################
+# TEMPLATES.CFG - SAMPLE OBJECT TEMPLATES
+#
+#
+# NOTES: This config file provides you with some example object definition
+# templates that are refered by other host, service, contact, etc.
+# definitions in other config files.
+#
+# You don't need to keep these definitions in a separate file from your
+# other object definitions. This has been done just to make things
+# easier to understand.
+#
+###############################################################################
+
+
+
+###############################################################################
+###############################################################################
+#
+# CONTACT TEMPLATES
+#
+###############################################################################
+###############################################################################
+
+# Generic contact definition template - This is NOT a real contact, just a template!
+
+define contact{
+ name generic-contact ; The name of this contact template
+ service_notification_period 24x7 ; service notifications can be sent anytime
+ host_notification_period 24x7 ; host notifications can be sent anytime
+ service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events
+ host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events
+ service_notification_commands notify-service-by-email ; send service notifications via email
+ host_notification_commands notify-host-by-email ; send host notifications via email
+ register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
+ }
+
+
+
+
+###############################################################################
+###############################################################################
+#
+# HOST TEMPLATES
+#
+###############################################################################
+###############################################################################
+
+# Generic host definition template - This is NOT a real host, just a template!
+
+define host{
+ name generic-host ; The name of this host template
+ notifications_enabled 1 ; Host notifications are enabled
+ event_handler_enabled 1 ; Host event handler is enabled
+ flap_detection_enabled 1 ; Flap detection is enabled
+ process_perf_data 1 ; Process performance data
+ retain_status_information 1 ; Retain status information across program restarts
+ retain_nonstatus_information 1 ; Retain non-status information across program restarts
+ notification_period 24x7 ; Send host notifications at any time
+ register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
+ }
+
+
+# Linux host definition template - This is NOT a real host, just a template!
+
+define host{
+ name linux-server ; The name of this host template
+ use generic-host ; This template inherits other values from the generic-host template
+ check_period 24x7 ; By default, Linux hosts are checked round the clock
+ check_interval 5 ; Actively check the host every 5 minutes
+ retry_interval 1 ; Schedule host check retries at 1 minute intervals
+ max_check_attempts 10 ; Check each Linux host 10 times (max)
+ check_command check-host-alive ; Default command to check Linux hosts
+ notification_period workhours ; Linux admins hate to be woken up, so we only notify during the day
+ ; Note that the notification_period variable is being overridden from
+ ; the value that is inherited from the generic-host template!
+ notification_interval 120 ; Resend notifications every 2 hours
+ notification_options d,u,r ; Only send notifications for specific host states
+ contact_groups admins ; Notifications get sent to the admins by default
+ register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
+ }
+
+
+
+# Windows host definition template - This is NOT a real host, just a template!
+
+define host{
+ name windows-server ; The name of this host template
+ use generic-host ; Inherit default values from the generic-host template
+ check_period 24x7 ; By default, Windows servers are monitored round the clock
+ check_interval 5 ; Actively check the server every 5 minutes
+ retry_interval 1 ; Schedule host check retries at 1 minute intervals
+ max_check_attempts 10 ; Check each server 10 times (max)
+ check_command check-host-alive ; Default command to check if servers are "alive"
+ notification_period 24x7 ; Send notification out at any time - day or night
+ notification_interval 30 ; Resend notifications every 30 minutes
+ notification_options d,r ; Only send notifications for specific host states
+ contact_groups admins ; Notifications get sent to the admins by default
+ hostgroups windows-servers ; Host groups that Windows servers should be a member of
+ register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
+ }
+
+
+# We define a generic printer template that can be used for most printers we monitor
+
+define host{
+ name generic-printer ; The name of this host template
+ use generic-host ; Inherit default values from the generic-host template
+ check_period 24x7 ; By default, printers are monitored round the clock
+ check_interval 5 ; Actively check the printer every 5 minutes
+ retry_interval 1 ; Schedule host check retries at 1 minute intervals
+ max_check_attempts 10 ; Check each printer 10 times (max)
+ check_command check-host-alive ; Default command to check if printers are "alive"
+ notification_period workhours ; Printers are only used during the workday
+ notification_interval 30 ; Resend notifications every 30 minutes
+ notification_options d,r ; Only send notifications for specific host states
+ contact_groups admins ; Notifications get sent to the admins by default
+ statusmap_image printer.png
+ register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
+ }
+
+
+# Define a template for switches that we can reuse
+define host{
+ name generic-switch ; The name of this host template
+ use generic-host ; Inherit default values from the generic-host template
+ check_period 24x7 ; By default, switches are monitored round the clock
+ check_interval 5 ; Switches are checked every 5 minutes
+ retry_interval 1 ; Schedule host check retries at 1 minute intervals
+ max_check_attempts 10 ; Check each switch 10 times (max)
+ check_command check-host-alive ; Default command to check if routers are "alive"
+ notification_period 24x7 ; Send notifications at any time
+ notification_interval 30 ; Resend notifications every 30 minutes
+ notification_options d,r ; Only send notifications for specific host states
+ contact_groups admins ; Notifications get sent to the admins by default
+ statusmap_image switch.png
+ register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
+ }
+
+# Define a template for routers that we can reuse
+define host{
+ name generic-router ; The name of this host template
+ use generic-switch ; Inherit default values from the generic-host template
+ statusmap_image router.png
+ register 0 ; DONT REGISTER THIS - ITS JUST A TEMPLATE
+ }
+
+
+
+
+###############################################################################
+###############################################################################
+#
+# SERVICE TEMPLATES
+#
+###############################################################################
+###############################################################################
+
+# Generic service definition template - This is NOT a real service, just a template!
+
+define service{
+ name generic-service ; The 'name' of this service template
+ active_checks_enabled 1 ; Active service checks are enabled
+ passive_checks_enabled 1 ; Passive service checks are enabled/accepted
+ parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
+ obsess_over_service 1 ; We should obsess over this service (if necessary)
+ check_freshness 0 ; Default is to NOT check service 'freshness'
+ notifications_enabled 1 ; Service notifications are enabled
+ event_handler_enabled 1 ; Service event handler is enabled
+ flap_detection_enabled 1 ; Flap detection is enabled
+ process_perf_data 1 ; Process performance data
+ retain_status_information 1 ; Retain status information across program restarts
+ retain_nonstatus_information 1 ; Retain non-status information across program restarts
+ is_volatile 0 ; The service is not volatile
+ check_period 24x7 ; The service can be checked at any time of the day
+ max_check_attempts 3 ; Re-check the service up to 3 times in order to determine its final (hard) state
+ check_interval 10 ; Check the service every 10 minutes under normal conditions
+ retry_interval 2 ; Re-check the service every two minutes until a hard state can be determined
+ contact_groups admins ; Notifications get sent out to everyone in the 'admins' group
+ notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery events
+ notification_interval 60 ; Re-notify about service problems every hour
+ notification_period 24x7 ; Notifications can be sent out at any time
+ register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
+ }
+
+
+# Local service definition template - This is NOT a real service, just a template!
+
+define service{
+ name local-service ; The name of this service template
+ use generic-service ; Inherit default values from the generic-service definition
+ max_check_attempts 4 ; Re-check the service up to 4 times in order to determine its final (hard) state
+ check_interval 5 ; Check the service every 5 minutes under normal conditions
+ retry_interval 1 ; Re-check the service every minute until a hard state can be determined
+ register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
+ }
+
diff --git a/templates/nagios/templates_cfg_head.erb b/templates/nagios/templates_cfg_head.erb
new file mode 100644
index 0000000..cbd2b0c
--- /dev/null
+++ b/templates/nagios/templates_cfg_head.erb
@@ -0,0 +1,7 @@
+###############################################################################
+### templates.cfg generated by Puppet | manual changes will be overwritten! ###
+###############################################################################
+########## Full reference file available at ##########
+########## https://confdroid.com/2017/07/nagios-templates-cfg/ ##########
+###############################################################################
+# rules are created below by external puppet rules.
From f5657930f604a9ac6011f51c2fb608da3eeeed8b Mon Sep 17 00:00:00 2001
From: Arne Teuke
Date: Tue, 25 Jul 2017 16:32:38 +0100
Subject: [PATCH 3/7] added and linked template_rules
---
manifests/nagios/objects/templates.pp | 4 +++-
templates/nagios/templates_cfg_rule.erb | 4 ++++
2 files changed, 7 insertions(+), 1 deletion(-)
create mode 100644 templates/nagios/templates_cfg_rule.erb
diff --git a/manifests/nagios/objects/templates.pp b/manifests/nagios/objects/templates.pp
index 590d05c..529dbb1 100644
--- a/manifests/nagios/objects/templates.pp
+++ b/manifests/nagios/objects/templates.pp
@@ -20,7 +20,9 @@
# along with this program. If not, see .
# @summary Define manages populates /etc/nagios/conf.d/templates.cfg.
################################################################################
-defie cd_nagios::nagios::objects::templates (
+define cd_nagios::nagios::objects::templates (
+
+
) {
diff --git a/templates/nagios/templates_cfg_rule.erb b/templates/nagios/templates_cfg_rule.erb
new file mode 100644
index 0000000..d4d5d14
--- /dev/null
+++ b/templates/nagios/templates_cfg_rule.erb
@@ -0,0 +1,4 @@
+
+define <%= @ng_template_object %>{
+
+ }
From 53e7b9d0b24391ed85906efcd4498c276949d23a Mon Sep 17 00:00:00 2001
From: Arne Teuke
Date: Tue, 25 Jul 2017 16:39:28 +0100
Subject: [PATCH 4/7] added template concat
---
manifests/nagios/objects/template_rules.pp | 8 ++++++++
manifests/nagios/objects/templates.pp | 12 +++++++++++-
manifests/params.pp | 1 +
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/manifests/nagios/objects/template_rules.pp b/manifests/nagios/objects/template_rules.pp
index 19bcf6c..3279260 100644
--- a/manifests/nagios/objects/template_rules.pp
+++ b/manifests/nagios/objects/template_rules.pp
@@ -19,6 +19,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
# @summary Class manages /etc/nagios/conf.d/templates.cfg through concat.
+# @example cd_nagios::objects::templates { $name:
+# ng_template_object => 'service',
+# }
################################################################################
class cd_nagios::nagios::objects::template_rules (
@@ -41,5 +44,10 @@ class cd_nagios::nagios::objects::template_rules (
content => template[$ng_templates_head_erb]
notify => Service[$ng_service],
}
+
+ # example rule
+ cd_nagios::objects::templates { $name:
+ ng_template_object => 'service',
+ }
}
}
diff --git a/manifests/nagios/objects/templates.pp b/manifests/nagios/objects/templates.pp
index 529dbb1..d2fc6f8 100644
--- a/manifests/nagios/objects/templates.pp
+++ b/manifests/nagios/objects/templates.pp
@@ -22,10 +22,20 @@
################################################################################
define cd_nagios::nagios::objects::templates (
+$ng_template_object = undef,
) {
-$ng_target_templates = $::cd_nagios::params::ng_target_templates
+$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
+$ng_target_templates = $::cd_nagios::params::ng_target_templates
+$ng_templates_rule_erb = $::cd_nagios::params::ng_templates_rule_erb
+ if $::fqdn == $ng_nagios_server {
+
+ concat::fragment { $name:
+ target => $ng_target_templates,
+ content => template($ng_templates_rule_erb),
+ }
+ }
}
diff --git a/manifests/params.pp b/manifests/params.pp
index 95b88ee..134e21c 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -961,6 +961,7 @@ $ng_certbot_live = "${ng_certbot_main_dir}/live"
# nagios
$ng_target_templates = "${ng_conf_d_dir}/templates.cfg"
$ng_templates_head_erb = 'cd_nagios/nagios/templates_cfg_head.erb'
+$ng_templates_rule_erb = 'cd_nagios/nagios/templates_cfg_rule.erb'
$ng_target_timeperiods = "${ng_conf_d_dir}/timeperiods.cfg"
$ng_target_localhost = "${ng_conf_d_dir}/nagios_localhost.cfg"
$ng_target_host = "${ng_conf_d_dir}/nagios_host.cfg"
From 8a97768e4b258d7ab70e79ebf4dbdcfb3eed9174 Mon Sep 17 00:00:00 2001
From: Arne Teuke
Date: Tue, 25 Jul 2017 16:46:00 +0100
Subject: [PATCH 5/7] added template concat
---
manifests/nagios/objects/template_rules.pp | 2 +-
templates/nagios/templates_cfg_rule.erb | 10 +++++++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/manifests/nagios/objects/template_rules.pp b/manifests/nagios/objects/template_rules.pp
index 3279260..19da83a 100644
--- a/manifests/nagios/objects/template_rules.pp
+++ b/manifests/nagios/objects/template_rules.pp
@@ -41,7 +41,7 @@ class cd_nagios::nagios::objects::template_rules (
selrole => object_r,
aeltype => nagios_etc_t,
seluser => system_u,
- content => template[$ng_templates_head_erb]
+ content => template[$ng_templates_head_erb],
notify => Service[$ng_service],
}
diff --git a/templates/nagios/templates_cfg_rule.erb b/templates/nagios/templates_cfg_rule.erb
index d4d5d14..ece05d5 100644
--- a/templates/nagios/templates_cfg_rule.erb
+++ b/templates/nagios/templates_cfg_rule.erb
@@ -1,4 +1,12 @@
+<% if @ng_template_object == 'contact' -%>
define <%= @ng_template_object %>{
-
+ name <%= @ng_template_object_name %>;
+
}
+<% elsif @ng_template_object == 'host' -%>
+
+<% elsif @ng_template_object == 'service' -%>
+
+
+<% end -%>
From 6a57847a121f632bea8fb4e3ccb046df1d9bf3c7 Mon Sep 17 00:00:00 2001
From: Arne Teuke
Date: Tue, 25 Jul 2017 16:57:10 +0100
Subject: [PATCH 6/7] added contact stanza
---
manifests/nagios/objects/template_rules.pp | 6 +++---
manifests/nagios/objects/templates.pp | 11 +++++++++--
templates/nagios/templates_cfg_rule.erb | 12 +++++++++---
3 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/manifests/nagios/objects/template_rules.pp b/manifests/nagios/objects/template_rules.pp
index 19da83a..f802b18 100644
--- a/manifests/nagios/objects/template_rules.pp
+++ b/manifests/nagios/objects/template_rules.pp
@@ -39,15 +39,15 @@ class cd_nagios::nagios::objects::template_rules (
mode => '0640',
selrange => s0,
selrole => object_r,
- aeltype => nagios_etc_t,
+ seltype => nagios_etc_t,
seluser => system_u,
content => template[$ng_templates_head_erb],
- notify => Service[$ng_service],
+ notify => Service[$ng_service],
}
# example rule
cd_nagios::objects::templates { $name:
- ng_template_object => 'service',
+ ng_template_object => 'contact',
}
}
}
diff --git a/manifests/nagios/objects/templates.pp b/manifests/nagios/objects/templates.pp
index d2fc6f8..7c05639 100644
--- a/manifests/nagios/objects/templates.pp
+++ b/manifests/nagios/objects/templates.pp
@@ -22,8 +22,15 @@
################################################################################
define cd_nagios::nagios::objects::templates (
-$ng_template_object = undef,
-
+$ng_template_object = undef,
+$ng_template_object_name = undef,
+$ng_svc_notification_period = '24x7',
+$ng_host_notification_period = '24x7',
+$ng_service_notification_options = 'w,u,c,r,f,s',
+$ng_host_notification_options = 'd,u,r,f,s',
+$ng_service_notification_commands = 'notify-service-by-email',
+$ng_host_notification_commands = 'notify-host-by-email',
+$ng_object_register = '0',
) {
diff --git a/templates/nagios/templates_cfg_rule.erb b/templates/nagios/templates_cfg_rule.erb
index ece05d5..b5a213d 100644
--- a/templates/nagios/templates_cfg_rule.erb
+++ b/templates/nagios/templates_cfg_rule.erb
@@ -1,9 +1,15 @@
<% if @ng_template_object == 'contact' -%>
define <%= @ng_template_object %>{
- name <%= @ng_template_object_name %>;
-
- }
+ name <%= @ng_template_object_name %> ;
+ service_notification_period <%= @ng_svc_notification_period %> ;
+ host_notification_period <%= @ng_host_notification_period %> ;
+ service_notification_options <%= @ng_service_notification_options %> ;
+ host_notification_options <%= @ng_host_notification_options %> ;
+ service_notification_commands <%= @ng_service_notification_commands %> ;
+ host_notification_commands <%= @ng_host_notification_commands %> ;
+ register <%= @ng_object_register %> ;
+ }
<% elsif @ng_template_object == 'host' -%>
<% elsif @ng_template_object == 'service' -%>
From cc2d2cbf2968ccecb7576b9312a9ec8cdf726f4d Mon Sep 17 00:00:00 2001
From: Jenkins Server
Date: Tue, 25 Jul 2017 17:57:28 +0200
Subject: [PATCH 7/7] recommit for updates in build 90
---
CHANGELOG.md | 10 +
REPOSTRUCTURE.md | 12 +-
doc/_index.html | 12 +-
doc/file.README.html | 2 +-
doc/index.html | 2 +-
doc/puppet_class_list.html | 17 +-
doc/puppet_classes/cd_nagios.html | 2 +-
.../cd_nagios_3A_3Acertbot_3A_3Acerts.html | 2 +-
.../cd_nagios_3A_3Aclient_3A_3Atarget.html | 2 +-
...cd_nagios_3A_3Afirewall_3A_3Aiptables.html | 2 +-
.../cd_nagios_3A_3Amain_3A_3Aconfig.html | 2 +-
.../cd_nagios_3A_3Amain_3A_3Adirs.html | 2 +-
.../cd_nagios_3A_3Amain_3A_3Ainstall.html | 2 +-
.../cd_nagios_3A_3Amain_3A_3Auser.html | 2 +-
...A_3Anagios_3A_3Aobjects_3A_3Acommands.html | 11 +-
...gios_3A_3Aobjects_3A_3Atemplate_rules.html | 219 ++++++++++++
doc/puppet_classes/cd_nagios_3A_3Aparams.html | 10 +-
.../cd_nagios_3A_3Aselinux_3A_3Aconfig.html | 2 +-
..._nagios_3A_3Aserver_3A_3Aaccess_rules.html | 2 +-
.../cd_nagios_3A_3Aserver_3A_3Afiles.html | 2 +-
.../cd_nagios_3A_3Aserver_3A_3Aservice.html | 8 +-
doc/puppet_defined_type_list.html | 9 +-
..._3Anagios_3A_3Aobjects_3A_3Atemplates.html | 316 ++++++++++++++++++
.../cd_nagios_3A_3Aserver_3A_3Aaccess.html | 2 +-
doc/top-level-namespace.html | 2 +-
25 files changed, 619 insertions(+), 35 deletions(-)
create mode 100644 doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplate_rules.html
create mode 100644 doc/puppet_defined_types/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Atemplates.html
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 68b6dc2..2a1a4c2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,16 @@ Changelog of Git Changelog.
diff --git a/doc/puppet_classes/cd_nagios.html b/doc/puppet_classes/cd_nagios.html
index f1c943f..7448d1d 100644
--- a/doc/puppet_classes/cd_nagios.html
+++ b/doc/puppet_classes/cd_nagios.html
@@ -139,7 +139,7 @@ class cd_nagios {
diff --git a/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html b/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html
index c035721..18a63c9 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Acertbot_3A_3Acerts.html
@@ -230,7 +230,7 @@ class cd_nagios::certbot::certs (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html b/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html
index 27890a0..113dbd5 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Aclient_3A_3Atarget.html
@@ -368,7 +368,7 @@ class cd_nagios::client::target (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html b/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html
index f1ad5b9..b619962 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Afirewall_3A_3Aiptables.html
@@ -207,7 +207,7 @@ class cd_nagios::firewall::iptables (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html
index 30e3a93..15ce4a4 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Aconfig.html
@@ -195,7 +195,7 @@ class cd_nagios::main::config (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html
index 110c7f2..5f43310 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Adirs.html
@@ -468,7 +468,7 @@ class cd_nagios::main::dirs (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html
index 0a24015..2797401 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Ainstall.html
@@ -235,7 +235,7 @@ class cd_nagios::main::install (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html
index 7899f32..3ff3271 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Amain_3A_3Auser.html
@@ -200,7 +200,7 @@ class cd_nagios::main::user (
diff --git a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html
index bc907ec..c7368ea 100644
--- a/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html
+++ b/doc/puppet_classes/cd_nagios_3A_3Anagios_3A_3Aobjects_3A_3Acommands.html
@@ -77,7 +77,8 @@
Summary
- Class manages all configuration files required for cd_nagios.
+ Class manages all commands known to NAGIOS through Puppet exports,
+and populates /etc/nagios/conf.d/nagios_commands.cfg.
+ Class manages /etc/nagios/conf.d/templates.cfg through concat.
+
+
Overview
+
+
+
+
cd_nagios::nagios::objects::template_rules.pp
+Module name:
+cd_nagios
+Author: Arne Teuke (arne_teuke@ConfDroid.com)
+
+
License:
+
+
This file is part of cd_nagios.
+
+
cd_nagios is used for providing automatic configuration of Nagios
+
+Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com)
+ This program is
+free software: you can redistribute it and/or modify
+ it under the terms of
+the GNU General Public License as published by
+ the Free Software
+Foundation, either version 3 of the License, or
+ (at your option) any later
+version.
+
+
This program is distributed in the hope that it will be useful,
+ but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License
+for more details.
+
+
You should have received a copy of the GNU General Public License
+ along
+with this program. If not, see www.gnu.org/licenses/.
+ }
cd_nagios is used for providing automatic configuration of Nagios
+
+Copyright (C) 2016 ConfDroid (copyright@ConfDroid.com)
+ This program is
+free software: you can redistribute it and/or modify
+ it under the terms of
+the GNU General Public License as published by
+ the Free Software
+Foundation, either version 3 of the License, or
+ (at your option) any later
+version.
+
+
This program is distributed in the hope that it will be useful,
+ but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License
+for more details.
+
+
You should have received a copy of the GNU General Public License
+ along
+with this program. If not, see www.gnu.org/licenses/.