Files
confdroid_nagios/manifests/nagios/objects/template_rules.pp

84 lines
3.0 KiB
ObjectPascal
Raw Normal View History

2026-03-02 14:19:45 +01:00
## confdroid_nagios::nagios::objects::template_rules.pp
# Module name: confdroid_nagios
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages /etc/nagios/conf.d/nagios_templates.cfg through
# concat.
2026-03-02 15:01:55 +01:00
# @example
# confdroid_nagios::nagios::objects::templates { 'generic contact':
# ng_template_object => 'contact',
# ng_template_object_name => 'generic-contact',
2026-03-02 14:19:45 +01:00
# }
################################################################################
class confdroid_nagios::nagios::objects::template_rules (
) inherits confdroid_nagios::params {
if $ng_nagios_server == $fqdn {
# 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
confdroid_nagios::nagios::objects::templates { 'generic contact':
ng_template_object => 'contact',
ng_template_object_name => 'generic-contact',
}
confdroid_nagios::nagios::objects::templates { 'generic-host':
ng_template_object => 'host',
ng_template_object_name => 'generic-host',
}
confdroid_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',
}
confdroid_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',
}
2026-03-02 15:24:26 +01:00
confdroid_nagios::nagios::objects::templates { 'unix-server':
2026-03-02 14:19:45 +01:00
ng_template_object => 'host',
2026-03-02 15:24:26 +01:00
ng_template_object_name => 'unix-server',
2026-03-02 14:19:45 +01:00
ng_template_object_use => 'generic-host',
ng_notification_options => 'd,u,r',
}
2026-03-02 15:24:26 +01:00
confdroid_nagios::nagios::objects::templates { 'generic-printer':
2026-03-02 14:19:45 +01:00
ng_template_object => 'host',
2026-03-02 15:24:26 +01:00
ng_template_object_name => 'generic-printer',
2026-03-02 14:19:45 +01:00
ng_template_object_use => 'generic-host',
ng_notification_options => 'd,u,r',
}
confdroid_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',
}
confdroid_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',
}
}
}