Files
confdroid_nagios/manifests/nagios/objects/add_hostgroups.pp
2017-07-27 15:40:02 +01:00

53 lines
2.1 KiB
Puppet

## cd_nagios::nagios::objects::add_hostgroups.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 populates /etc/nagios/conf.d/nagios_hostgroups_add through
# extermal Puppet rules.
# @example
# cd_nagios::nagios::objects::add_hostgroups { 'example_hostgroup':
# ng_hostgroup_name => 'example_hostgroup',
# ng_hostgroup_alias => 'Example Hostgroup',
# }
# @param [string] ng_hostgroup_name Specify the hostgroup short name.
# @param [string] ng_hostgroup_alias Specify the hostgroup alias (long name).
# @param [string] ng_hostgroup_register Whether to register the hostgroup.
###############################################################################
define cd_nagios::nagios::objects::add_hostgroups (
$ng_hostgroup_name = undef,
$ng_hostgroup_alias = undef,
$ng_hostgroup_register = '1',
) {
$ng_nagios_server = $::cd_nagios::params::ng_nagios_server
$ng_tgt_hostgroup_add = $::cd_nagios::params::ng_tgt_hostgroup_add
$ng_tgt_hostgrp_rule_erb = $::cd_nagios::params::ng_tgt_hostgrp_rule_erb
if $::fqdn == $ng_nagios_server {
concat::fragment { $name:
target => $ng_tgt_hostgroup_add,
content => template($ng_tgt_hostgrp_rule_erb),
}
}
}