apply Service "network_interfaces_traffic" {
        import "generic-service"
        check_interval = 5m
        retry_interval = 1m
	max_check_attempts = 3
        check_command = "check_net_int"
        vars.int_warn="925"
        vars.int_crit="950"
	enable_perfdata = true

        assign where host.vars.net_interfaces

        vars.notif_prio = "high"
}

apply Service "network_open_ports" {
        import "generic-service"
	max_check_attempts = 3
        check_interval = 5m
        retry_interval = 1m
        check_command = "check_open_ports"
        vars.ports=host.vars.open_ports
	vars.host=host.address
        assign where host.vars.open_ports

        vars.notif_prio = "high"
}

apply Service for (iface => config in host.vars.ifaces) {
	import "generic-service"
	display_name = "bandwidth_" + iface

	check_command = "check_bandwidth"

	vars += config
	# NB: you probably want to use another condition/hostgroup
	assign where "openwrt" in host.vars.groups
}

apply Service for (iface => config in host.vars.snmp_ifaces) {
	import "generic-service"
	display_name = "operstatus_" + iface

	check_command = "check_operstatus"

	vars.host = host.address
	vars += config
	# NB: you probably want to use another condition/hostgroup
	assign where "vocsw" in host.vars.groups
	assign where "ciscosw" in host.vars.groups
}

apply Service "uptime-tp" {
	display_name = "Uptime"
	import "generic-service"
	check_command = "snmp"
	vars.snmp_oid = "1.3.6.1.2.1.1.3.0"
	vars.snmp_community = "openfest"
	assign where "vocsw" in host.vars.groups && host.vars.snmp_uptime
}

apply Service "uptime-cisco" {
	display_name = "Uptime"
	import "generic-service"
	check_command = "snmp"
	vars.snmp_oid = "1.3.6.1.6.3.10.2.1.3.0"
	vars.snmp_community = "openfest"
	vars.snmp_miblist = "SNMP-FRAMEWORK-MIB"
	assign where "ciscosw" in host.vars.groups && host.vars.snmp_uptime
}

apply Service "poe-watts-remaining" {
	display_name = "POE - Watts Remaining"
	import "generic-service"
	check_command = "cisco-poe-check"
	assign where host.name == "coresw.openfest.org"
}

apply Service for (stream => config in host.vars.rtmp_check) {
	import "generic-service"
	display_name = "RTMP Check " + stream
	check_command = "rtmp-check"

	vars += config

###	assign where host.name == "vin-external.openfest.org"
	assign where host.vars.rtmp_check
}

apply Service "bird_bgp_sessions" {
	import "generic-service"
	max_check_attempts = 3
	check_interval = 5m
	retry_interval = 1m
	check_command = "bgp_sessions_check"
	vars.ASN = host.vars.ASN
	vars.sessions_down = host.vars.sessions_down
	assign where host.vars.ASN

        vars.notif_prio = "high"
}

apply Service "check_sensors" {
	import "generic-service"
	display_name = "Check LM Sensors "
	check_command = "check_sensors"
###	vars += config

	assign where host.name == "vin-external.openfest.org"
}

apply Service "check_unbound" {
	import "generic-service"
	display_name = "Check Unbound Status"
	check_command = "check_unbound"
	assign where host.name == "vin-external.openfest.org"
}

apply Service for (ups_check => config in host.vars.ups) {
	import "generic-service"
	display_name = "UPS " + ups_check
	check_command = "check_ups"

	vars.host = host.address
	vars += config

	assign where host.vars.ups
}

apply Service for (stream => config in host.vars.audiostream_check) {
	import "generic-service"
	display_name = "Stream check " + stream
	check_command = "check-audio-stream"
	vars += config

	assign where host.vars.audiostream_check
}