## cd_nagios::nagios::objects::template_rules.pp # Module name: cd_nagios # Author: Arne Teuke (arne_teuke@ConfDroid.com) # @summary Class manages /etc/nagios/conf.d/nagios_templates.cfg through # concat. # @example cd_nagios::nagios::objects::templates { 'generic contact': # ng_template_object => 'contact', # ng_template_object_name => 'generic-contact', # } ################################################################################ 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, seltype => nagios_etc_t, seluser => system_u, notify => Service[$ng_service], } concat::fragment { 'template_header': target => $ng_target_templates, content => template($ng_templates_head_erb), order => '000', } # basic templates cd_nagios::nagios::objects::templates { 'generic contact': ng_template_object => 'contact', ng_template_object_name => 'generic-contact', } cd_nagios::nagios::objects::templates { 'generic-host': ng_template_object => 'host', ng_template_object_name => 'generic-host', } cd_nagios::nagios::objects::templates { 'linux-server': ng_template_object => 'host', ng_template_object_name => 'linux-server', ng_template_object_use => 'generic-host', ng_notification_options => 'd,u,r', } cd_nagios::nagios::objects::templates { 'windows-server': ng_template_object => 'host', ng_template_object_name => 'windows-server', ng_template_object_use => 'generic-host', ng_notification_options => 'd,u,r', } cd_nagios::nagios::objects::templates { 'generic-switch': ng_template_object => 'host', ng_template_object_name => 'generic-switch', ng_template_object_use => 'generic-host', ng_notification_options => 'd,u,r', } cd_nagios::nagios::objects::templates { 'generic-printer': ng_template_object => 'host', ng_template_object_name => 'generic-printer', ng_template_object_use => 'generic-host', ng_notification_options => 'd,u,r', } cd_nagios::nagios::objects::templates { 'generic-service': ng_template_object => 'service', ng_template_object_name => 'generic-service', ng_max_check_attempts => '3', ng_notification_options => 'w,u,c,r', } cd_nagios::nagios::objects::templates { 'local-service': ng_template_object => 'service', ng_template_object_name => 'local-service', ng_max_check_attempts => '4', ng_template_object_use => 'generic-service', } } }