adds resources
This commit is contained in:
67
manifests/nagios/resources/resource.pp
Normal file
67
manifests/nagios/resources/resource.pp
Normal file
@@ -0,0 +1,67 @@
|
||||
## cd_nagios::nagios::resources::resource.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 <http://www.gnu.org/licenses/>.
|
||||
# @summary Class manages the resource config file header.
|
||||
# @example concat::fragment { "user_rule_plugins":
|
||||
# ng_user_arg_name => "$user1$",
|
||||
# ng_user_arg_value => '/usr/lib64/nagios/plugins',
|
||||
# ng_user_arg_comment => "Sets $USER1$ to be the path to the plugins",
|
||||
# }
|
||||
#############################################################################
|
||||
class cd_nagios::nagios::resources::resource (
|
||||
|
||||
) inherits cd_nagios::params {
|
||||
|
||||
if $fqdn == $ng_nagios_server {
|
||||
|
||||
concat { $ng_resource_file:
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
group => $ng_user
|
||||
mode => '0640',
|
||||
selrange => s0,
|
||||
selrole => object_r,
|
||||
seltype => nagios_etc_t,
|
||||
seluser => system_u,
|
||||
notify => Service[$ng_service],
|
||||
}
|
||||
|
||||
concat::fragment { 'header':
|
||||
target => $ng_resource_file,
|
||||
content => template($ng_resource_erb),
|
||||
order => '000',
|
||||
}
|
||||
|
||||
# plugins rule
|
||||
|
||||
cd_nagios::nagios::resources::resource_df { 'user_rule_plugins':
|
||||
ng_user_arg_name => "$user1$",
|
||||
ng_user_arg_value => '/usr/lib64/nagios/plugins',
|
||||
ng_user_arg_comment => "Sets $USER1$ to be the path to the plugins",
|
||||
}
|
||||
|
||||
# eventhandlers rule
|
||||
cd_nagios::nagios::resources::resource_df { 'user_rule_eventhandlers':
|
||||
ng_user_arg_name => "$user2$",
|
||||
ng_user_arg_value => '/usr/lib64/nagios/plugins/eventhandlers',
|
||||
ng_user_arg_comment => "Sets $USER1$ to be the path to the plugins",
|
||||
}
|
||||
}
|
||||
}
|
||||
45
manifests/nagios/resources/resource_df.pp
Normal file
45
manifests/nagios/resources/resource_df.pp
Normal file
@@ -0,0 +1,45 @@
|
||||
## cd_nagios::nagios::resources::resource_df.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 <http://www.gnu.org/licenses/>.
|
||||
# @summary define manages the resources in/etc/nagios/private/resources.cfg
|
||||
# @param [string] ng_user_arg_name the name of the user argument i.e. $user1$
|
||||
#############################################################################
|
||||
define cd_nagios::nagios::resources::resource_df (
|
||||
|
||||
$ng_user_arg_name = undef,
|
||||
$ng_user_arg_value = undef,
|
||||
$ng_user_arg_comment = undef,
|
||||
$ng_resource_rule_erb = '/cd_nagios/nagios/resource_cfg_rule.erb',
|
||||
|
||||
) {
|
||||
|
||||
$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
|
||||
$ng_resource_file = $::cd_nagios::params::ng_resource_file
|
||||
|
||||
|
||||
if $fqdn == $ng_nagios_server {
|
||||
|
||||
concat::fragment { "rule_${name}":
|
||||
target => $ng_resource_file,
|
||||
content => template($ng_resource_rule_erb),
|
||||
order => '000',
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user