diff --git a/manifests/nagios/config.pp b/manifests/nagios/config.pp index 400431f..6ccffe9 100644 --- a/manifests/nagios/config.pp +++ b/manifests/nagios/config.pp @@ -13,7 +13,7 @@ class confdroid_nagios::nagios::config ( require confdroid_nagios::nagios::objects::add_contactgroups_rules require confdroid_nagios::nagios::objects::add_hostgroup_rules require confdroid_nagios::nagios::objects::add_servicegroup_rules - #require confdroid_nagios::nagios::objects::add_timeperiod_rules + require confdroid_nagios::nagios::objects::add_timeperiod_rules require confdroid_nagios::nagios::resources::resource } } diff --git a/manifests/nagios/objects/add_timeperiod_rules.pp b/manifests/nagios/objects/add_timeperiod_rules.pp new file mode 100644 index 0000000..1503d74 --- /dev/null +++ b/manifests/nagios/objects/add_timeperiod_rules.pp @@ -0,0 +1,45 @@ +# confdroid_nagios::nagios::objects::add_timeperiod_rules.pp +# Module name: confdroid_nagios +# Author: 12ww1160 (12ww1160@confdroid.com) +# @summary Class manages /etc/nagios_conf.d/nagios_timeperiods_add.cfg and +# add. hostgroups through external Puppet rules via define. +# @example confdroid_nagios::nagios::objects::add_timeperiods { 'example_timeperiod': +# ng_timep_name => 'example_timeperiod', +# ng_timep_alias => 'Example timeperiod', +# ng_timep_monday => '00:00-00:00', +# ng_timep_tuesday => '00:00-00:00', +# ng_timep_wednesday => '00:00-00:00', +# ng_timep_thursday => '00:00-00:00', +# ng_timep_friday => '00:00-00:00', +# ng_timep_saturday => '00:00-00:00', +# ng_timep_sunday => '00:00-00:00', +# } +################################################################################ +class confdroid_nagios::nagios::objects::add_timeperiod_rules ( + +) inherits confdroid_nagios::params { + if $ng_nagios_server == $fqdn { + # manage /etc/nagios/conf.d/nagios_timeperiods_add.cfg + + concat { $ng_tgt_timep_add: + ensure => present, + path => $ng_tgt_timep_add, + owner => $ng_user, + group => $ng_user, + mode => '0640', + selrange => s0, + selrole => object_r, + seltype => nagios_etc_t, + seluser => system_u, + notify => Service[$ng_service], + } + + # manage file header + + concat::fragment { 'timeperiods_header': + target => $ng_tgt_timep_add, + content => template($ng_tgt_timep_head_erb), + order => '000', + } + } +} diff --git a/manifests/nagios/objects/add_timeperiods.pp b/manifests/nagios/objects/add_timeperiods.pp new file mode 100644 index 0000000..b2773f7 --- /dev/null +++ b/manifests/nagios/objects/add_timeperiods.pp @@ -0,0 +1,51 @@ +## confdroid_nagios::nagios::objects::add_timeperiods.pp +# Module name: confdroid_nagios +# Author: 12ww160 (12ww160@confdroid.com) +# @summary define populates /etc/nagios/conf.d/nagios_timeperiods_add through +# external Puppet rules. +# @example +# confdroid_nagios::nagios::objects::add_timeperiods { 'example_timeperiod': +# ng_timeperiod_name => 'example_timeperiod', +# ng_timeperiod_alias => 'Example timeperiod', +# ng_timep_monday => '00:00-00:00', +# ng_timep_tuesday => '00:00-00:00', +# ng_timep_wednesday => '00:00-00:00', +# ng_timep_thursday => '00:00-00:00', +# ng_timep_friday => '00:00-00:00', +# ng_timep_saturday => '00:00-00:00', +# ng_timep_sunday => '00:00-00:00', +# } +# @param [string] ng_timep_name Specify the timeperiod short name. +# @param [string] ng_timep_alias Specify the timeperiod alias (long name) +# @param [string] ng_timep_monday Specify the desired hours for Monday +# @param [string] ng_timep_tuesday Specify the desired hours for Tuesday +# @param [string] ng_timep_wednesday Specify the desired hours for Wednesday. +# @param [string] ng_timep_thursday Specify the desired hours for Thursday +# @param [string] ng_timep_friday Specify the desired hours for Friday +# @param [string] ng_timep_saturday Specify the desired hours for Saturday +# @param [string] ng_timep_sunday Specify the desired hours for Sunday. +############################################################################### +define confdroid_nagios::nagios::objects::add_timeperiods ( + + Optional[String] $ng_timep_name = undef, + Optional[String] $ng_timep_alias = undef, + String $ng_timep_monday = '00:00-00:00', + String $ng_timep_tuesday = '00:00-00:00', + String $ng_timep_wednesday = '00:00-00:00', + String $ng_timep_thursday = '00:00-00:00', + String $ng_timep_friday = '00:00-00:00', + String $ng_timep_saturday = '00:00-00:00', + String $ng_timep_sunday = '00:00-00:00', + +) { + $ng_nagios_server = $confdroid_nagios::params::ng_nagios_server + $ng_tgt_timep_add = $confdroid_nagios::params::ng_tgt_timep_add + $ng_tgt_timep_rule_erb = $confdroid_nagios::params::ng_tgt_timep_rule_erb + + if $ng_nagios_server == $fqdn { + concat::fragment { $name: + target => $ng_tgt_timep_add, + content => template($ng_tgt_timep_rule_erb), + } + } +}