==== each node
node "dev1.me.net" {
        Nagios_host{
                notification_period => allhours,
                contact_groups => "sysadmin",
                parents => "xen3.me.net",
                require => [ Nagios_timeperiod['allhours'], Nagios_contactgroup["sysadmin"] ]
        }

        include nagios_host_definition
        include common::linux
}
====


==== Nagios server
node "nagios.me.net" {
       include nagios_monitored_hosts
}
====

class nagios_host_definition {
        @@nagios_host{"nagios-host-$fqdn":
                host_name => $fqdn,
                address => $ipaddress,
                alias => $fqdn,
                max_check_attempts => 5,
                check_command => check-host-alive,
                notification_interval => 120,
                notification_options => "d,r",
        }
}
class nagios_monitored_hosts {
        Nagios_host{
                target => "/etc/nagios/hosts/puppet_hosts.cfg"
        }

        Nagios_hostextinfo{
                target => "/etc/nagios/hosts/puppet_hostextinfo.cfg"
        }

        Nagios_host <<| |>>
        Nagios_hostextinfo <<| |>>
}