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

83 lines
2.9 KiB
ObjectPascal
Raw Normal View History

2017-07-25 16:30:03 +01:00
## 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.
2017-07-25 18:56:18 +01:00
# @example cd_nagios::nagios::objects::templates { 'generic contact':
# ng_template_object => 'contact',
2025-05-12 15:56:17 +02:00
# ng_template_object_name => 'generic-contact',
2017-07-25 16:39:28 +01:00
# }
2017-07-25 16:30:03 +01:00
################################################################################
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:
2025-05-12 15:56:17 +02:00
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],
2017-07-25 16:30:03 +01:00
}
2017-07-25 16:39:28 +01:00
2017-07-26 12:30:34 +01:00
concat::fragment { 'template_header':
2025-05-12 15:56:17 +02:00
target => $ng_target_templates,
content => template($ng_templates_head_erb),
order => '000',
2017-07-25 19:01:03 +01:00
}
2017-07-25 18:56:18 +01:00
# basic templates
cd_nagios::nagios::objects::templates { 'generic contact':
2017-07-25 17:13:25 +01:00
ng_template_object => 'contact',
2025-05-12 15:56:17 +02:00
ng_template_object_name => 'generic-contact',
2017-07-25 16:39:28 +01:00
}
2017-07-25 18:56:18 +01:00
cd_nagios::nagios::objects::templates { 'generic-host':
2025-05-12 15:56:17 +02:00
ng_template_object => 'host',
ng_template_object_name => 'generic-host',
2017-07-25 18:56:18 +01:00
}
cd_nagios::nagios::objects::templates { 'linux-server':
2025-05-12 15:56:17 +02:00
ng_template_object => 'host',
ng_template_object_name => 'linux-server',
ng_template_object_use => 'generic-host',
ng_notification_options => 'd,u,r',
2017-07-25 18:56:18 +01:00
}
cd_nagios::nagios::objects::templates { 'windows-server':
2025-05-12 15:56:17 +02:00
ng_template_object => 'host',
ng_template_object_name => 'windows-server',
ng_template_object_use => 'generic-host',
ng_notification_options => 'd,u,r',
2017-07-25 18:56:18 +01:00
}
2017-07-25 19:02:29 +01:00
cd_nagios::nagios::objects::templates { 'generic-switch':
2025-05-12 15:56:17 +02:00
ng_template_object => 'host',
ng_template_object_name => 'generic-switch',
ng_template_object_use => 'generic-host',
ng_notification_options => 'd,u,r',
2017-07-25 19:02:29 +01:00
}
cd_nagios::nagios::objects::templates { 'generic-printer':
2025-05-12 15:56:17 +02:00
ng_template_object => 'host',
ng_template_object_name => 'generic-printer',
ng_template_object_use => 'generic-host',
ng_notification_options => 'd,u,r',
2017-07-25 19:02:29 +01:00
}
2017-07-25 18:56:18 +01:00
cd_nagios::nagios::objects::templates { 'generic-service':
2025-05-12 15:56:17 +02:00
ng_template_object => 'service',
ng_template_object_name => 'generic-service',
ng_max_check_attempts => '3',
ng_notification_options => 'w,u,c,r',
2017-07-25 18:56:18 +01:00
}
cd_nagios::nagios::objects::templates { 'local-service':
2025-05-12 15:56:17 +02:00
ng_template_object => 'service',
ng_template_object_name => 'local-service',
ng_max_check_attempts => '4',
ng_template_object_use => 'generic-service',
2017-07-25 18:56:18 +01:00
}
2017-07-25 16:30:03 +01:00
}
}