diff options
Diffstat (limited to 'puppet/modules/site_nagios/manifests/add_host.pp')
-rw-r--r-- | puppet/modules/site_nagios/manifests/add_host.pp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/puppet/modules/site_nagios/manifests/add_host.pp b/puppet/modules/site_nagios/manifests/add_host.pp new file mode 100644 index 00000000..d5aac67c --- /dev/null +++ b/puppet/modules/site_nagios/manifests/add_host.pp @@ -0,0 +1,29 @@ +define site_nagios::add_host { + $nagios_host = $name + $nagios_hostname = $name['domain_full'] + $nagios_ip = $name['ip_address'] + $nagios_services = $name['services'] + + # Add Nagios host + nagios_host { $nagios_hostname: + address => $nagios_ip, + use => 'generic-host', + } + + # Add Nagios service + + # First, we need to turn the serice array into hash, using a "hash template" + # see https://github.com/ashak/puppet-resource-looping + $nagios_service_hashpart = { + 'hostname' => $nagios_hostname, + 'ip_address' => $nagios_ip, + } + $dynamic_parameters = { + 'service' => '%s' + } + $nagios_servicename = "${nagios_hostname}_%s" + + $nagios_service_hash = create_resources_hash_from($nagios_servicename, $nagios_services, $nagios_service_hashpart, $dynamic_parameters) + + create_resources ( site_nagios::add_service, $nagios_service_hash ) +} |