summaryrefslogtreecommitdiff
path: root/puppet/modules/site_nagios/manifests/add_host_services.pp
blob: 236702e2e1aacc4e27abcfe59f349d41c52856b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
define site_nagios::add_host_services (
  $domain_full_suffix,
  $domain_internal,
  $ip_address,
  $services,
  $ssh_port,
  $environment,
  $openvpn_gateway_address='',
  ) {

    $nagios_hostname = $domain_internal

    # 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'  => $ip_address,
      'openvpn_gw'  => $openvpn_gateway_address,
      'environment' => $environment
    }
    $dynamic_parameters = {
      'service' => '%s'
    }
    $nagios_servicename = "${nagios_hostname}_%s"

    $nagios_service_hash = create_resources_hash_from($nagios_servicename, $services, $nagios_service_hashpart, $dynamic_parameters)

    create_resources ( site_nagios::add_service, $nagios_service_hash )
}