Merge branch 'feature/object_defined_types' into develop

This commit is contained in:
Nick Chappell 2014-07-09 22:21:13 -07:00
commit 8054821d60
3 changed files with 91 additions and 0 deletions

11
manifests/objects.pp Normal file
View file

@ -0,0 +1,11 @@
# == Class: icinga2::params
#
# This class is purposefully empty. It just serves as a container class for other
# icinga2::objects:: classes.
#
# === Parameters
#
# See the inline comments.
#
class icinga2::objects { }

29
manifests/objects/host.pp Normal file
View file

@ -0,0 +1,29 @@
# == Defined type: icinga2::object::host
#
# This defined type
#
# === Parameters
#
# See the inline comments.
#
define icinga2::objects::host (
$ipv4_address = $ipaddress_eth0,
$ipv6_address = $ipaddress_eth0,
$object_hostname = $name,
$display_name = $fqdn,
$template_to_import = 'generic-host',
$target_dir = '/etc/icinga2/conf.d',
$target_file_name = "${fqdn}.conf",
) {
file {"${target_dir}/${target_file_name}":
ensure => file,
owner => 'root',
group => 'root',
mode => '644',
content => template('icinga2/object_host.conf.erb'),
notify => Service['icinga2'],
}
}

View file

@ -0,0 +1,51 @@
/**
* WARNING: This host definition is automatically generated by Puppet.
* ANY MANUAL CHANGES TO IT WILL GET OVERWRITTEN!
*/
/**
* A host definition. You can create your own configuration files
* in the conf.d directory (e.g. one per host). By default all *.conf
* files in this directory are included.
*
*/
//Parameters to include:
// * displayname
// * address
// * address6
// * groups
// * vars
// * check_command
// * max_check_attempts
// * check_period
// * check_interval
// * retry_interval
// * enable_notifications
// * enable_active_checks
// * enable_passive_checks
// * enable_event_handler
// * enable_flap_detection
// * enable_perfdata
// * event_command
// * flapping_threshold
// * volatile
// * notes
// * notes_url
// * action_url
// * icon_image
// * icon_image_alt
object Host "<%= @object_hostname %>" {
<%#- If any of the @ parameters are undefined, don't print anything for them: -%>
<%- if @template_to_import -%>
<%#- Otherwise, include the parameter: -%>
import "<%= @template_to_import -%>"
<%- end -%>
<%- if @display_name -%>
display_name = "<%= @display_name -%>"
<%- end -%>
<%- if @ipv4_address -%>
address = "<%= @ipv4_address -%>"
<%- end -%>
}