###############################################################################
###############################################################################
#
# HOST TEMPLATES
#
###############################################################################
###############################################################################




# Generic host definition template - This is NOT a real host, just a template!
define host{
	name				generic-host
	alias				generic-host

	# Checking part
	# no check_command by default
	max_check_attempts		2
	check_interval			5

	active_checks_enabled		1
	check_period			24x7

	# Notification part
	contact_groups			admins
	notification_interval		1
	notification_period		24x7
	notification_options		d,u,r,f
	notifications_enabled		1

	# Advanced option. Look at the wiki for more informations
	event_handler_enabled		0
	flap_detection_enabled		1
	process_perf_data		1
	#poller_tag			 DMZ

	# This said that it's a template
	register			0
}


# windows template
define host{
   name		  windows
   use		  generic-host
   check_command  check_ping
   register	  0
}


# Linux one
define host{
   name				linux
   use				generic-host
   check_command           	check_tcp!22
   register			0		
}

# HPUX template
define host{
   name				hpux
   use				generic-host
   check_command           	check_ping
   register			0		
}


# VM template
define host{
   name           vmware-vm
   use            generic-host
   alias          vmware-vm
   register       0
}


# ESX one
define host{
   name           vmware-host
   use            generic-host
   alias          vmware-host
   register       0
}


# Routers
define host{
        name                            router
        use                             generic-host
        check_command                   check_ping
        register                        0
}

define printer{
       name                            printer
       use                             generic-host
       check_command                   check_ping
       register                        0
       notification_period     workhours
}




###############################################################################
###############################################################################
#
# SERVICE TEMPLATES
#
###############################################################################
###############################################################################


# Generic service definition template - This is NOT a real service, just a template!
define service{
        name                            generic-service 	; The 'name' of this service template
        active_checks_enabled           1       		; Active service checks are enabled
        passive_checks_enabled          1    		   	; Passive service checks are enabled/accepted

	# Check part
	# By default, there is no check_command here
	check_interval           5			; Check the service every 5 minutes in normal state
        retry_interval           1			; Re-check the service every one minutes until a hard state can be determined
        max_check_attempts       2			; Re-check the service up to 3 times in order to determine its final (hard) state
        check_period             24x7			; The service can be checked at any time of the day

	# Notification part
        notifications_enabled           1       		; Service notifications are enabled
	notification_options		w,u,c,r			; Send notifications about warning, unknown, critical, and recovery events
        notification_interval           1			; Re-notify about service problems every hour
	notification_period             24x7
	# If the contacts and contact_groups options are not set, it will notify host contacts instead
	# contact_groups                  admins
 
	# Advanced options. Change with care
	#event_handler_enabled           1
	# event_handler			super_event_kill_everyone!DIE
        flap_detection_enabled          1       		; Flap detection is enabled
	check_freshness                 0
	freshness_threshold		3600
	#stalking_options		 w,c
        obsess_over_service             0
	#escalations			ToLevel2
        process_perf_data               1       		; Process perf data, like for PNP
	is_volatile                     0       		; for log monitoring. See doc for more info about it


        register                        0
        }



#This one is a real one
define service{
	name				local-service 		; The name of this service template
	use				generic-service		; Inherit default values from the generic-service definition
        max_check_attempts              1			; directly go in hard state here
        register                        0       		; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
	}







###############################################################################
###############################################################################
#
# CONTACT TEMPLATES
#
###############################################################################
###############################################################################



####Contact definition
define contact{
        name                            generic-contact    	; The name of this contact template
        service_notification_period     24x7			; service notifications can be sent anytime
        host_notification_period        24x7			; host notifications can be sent anytime
        service_notification_options    c,w,r
        host_notification_options       d,u,r,f,s		; send notifications for all host states, flapping events, and scheduled downtime events
        service_notification_commands   notify-service-by-email	; send service notifications via email
        host_notification_commands      notify-host-by-email	; send host notifications via email
        register                        0       		; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
	host_notifications_enabled	1
	service_notifications_enabled	1
	host_notification_period		24x7
	service_notification_period		24x7
	email					shinken@localhost
	}