Merge branch 'feature/object_defined_types' into develop
This commit is contained in:
commit
8054821d60
3 changed files with 91 additions and 0 deletions
11
manifests/objects.pp
Normal file
11
manifests/objects.pp
Normal 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
29
manifests/objects/host.pp
Normal 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'],
|
||||
}
|
||||
|
||||
}
|
51
templates/object_host.conf.erb
Normal file
51
templates/object_host.conf.erb
Normal 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 -%>
|
||||
}
|
Loading…
Reference in a new issue