/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */

object CheckCommand "kdc" {
	import "ipv4-or-ipv6"

	command = [ PluginContribDir + "/check_kdc" ]

	arguments = {
		"-H" = {
			value = "$kdc_address$"
			description = "Name or IP address of KDC to check."
		}
		"-P" = {
			value = "$kdc_port$"
			description = "Port on which KDC runs (default 88)."
		}
		"-p" = {
			value = "$kdc_principal$"
			description = "Principal name to authenticate as (including realm)."
			required = true
		}
		"-k" = {
			value = "$kdc_keytab$"
			description = "Keytab file containing principal's key."
			required = true
		}
	}

	vars.kdc_address = "$check_address$"
}

object CheckCommand "rbl" {
	import "ipv4-or-ipv6"

	command = [ PluginContribDir + "/check_rbl" ]

	arguments = {
		"-H" = {
			value = "$rbl_hostname$"
			description = "Name or IP address of SMTP server to check."
		}
		"-s" = {
			value = "$rbl_server$"
			description = "List of RBL servers as an array."
			required = true
			repeat_key = true
		}
		"-w" = {
			value = "$rbl_warning$"
			description = "Number of blacklisting servers for a warning."
		}
		"-c" = {
			value = "$rbl_critical$"
			description = "Number of blacklisting servers for a critical."
		}
		"-t" = {
			value = "$rbl_timeout$"
			description = "Seconds before plugin times out (default: 15)."
		}
	}

	vars.rbl_hostname = "$check_address$"
	vars.rbl_timeout = 15
	vars.rbl_warning = 1
	vars.rbl_critical = 1
}

object CheckCommand "lsyncd" {
	import "plugin-check-command"
	command = [ PluginContribDir + "/check_lsyncd" ]

	arguments = {
		"-s" = {
			value = "$lsyncd_statfile$"
			description = "Set status file path (default: /var/run/lsyncd.status)."
		}
		"-w" = {
			value = "$lsyncd_warning$"
			description = "Warning if more than N delays (default: 10)."
		}
		"-c" = {
			value = "$lsyncd_critical$"
			description = "Critical if more then N delays (default: 100)."
		}
	}
}

object CheckCommand "fail2ban" {
	command = [ "sudo", PluginContribDir + "/check_fail2ban" ]

	arguments = {
		"-D" = {
			value = "$fail2ban_display$"
			description = "To modify the output display, default is 'CHECK FAIL2BAN ACTIVITY'"
		}
		"-P" = {
			value = "$fail2ban_path$"
			description = "Specify the path to the tw_cli binary, default value is /usr/bin/fail2ban-client"
		}
		"-w" = {
			value = "$fail2ban_warning$"
			description = "Specify a warning threshold, default is 1"
		}
		"-c" = {
			value = "$fail2ban_critical$"
			description = "Specify a critical threshold, default is 2"
		}
		"-s" = {
			value = "$fail2ban_socket$"
			description = "Specify a socket path, default is unset"
		}
		"-p" = {
			set_if = "$fail2ban_perfdata$"
			description = "If set to true, activate the perfdata output"
		}
		"-j" = {
			value = "$fail2ban_jail$"
			description = "Specify the name of the specific jail to monitor; omitted by default, i.e. all jails are being monitored"
		}
	}

	vars.fail2ban_perfdata = true
}