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

object CheckCommand "systemd" {
	command = [ PluginContribDir + "/check_systemd.py" ]

	arguments = {
		"--unit" = {
			value = "$systemd_unit$"
			description = "Name of the systemd unit that is being tested."
		}
		"--exclude" = {
			value = "$systemd_exclude_unit$"
			description = "Exclude a systemd unit from the checks. This option can be applied multiple times. Also supports regular expressions."
			repeat_key = true
		}
		"--no-startup-time" = {
			set_if = "$systemd_no_startup_time$"
			description = "Don’t check the startup time. Using this option the options `systemd_warning` and `systemd_critical` have no effect. (Default: `false`)"
		}
		"--warning" = {
			value = "$systemd_warning$"
			description = "Startup time in seconds to result in a warning status. (Default: `60s`)"
		}
		"--critical" = {
			value = "$systemd_critical$"
			description = "Startup time in seconds to result in a critical status. (Default: `120s`)"
		}
		"--dead-timers" = {
			set_if = "$systemd_dead_timers$"
			description = "Detect dead / inactive timers. (Default: `false`)"
		}
		"--dead-timers-warning" = {
			value = "$systemd_dead_timers_warning$"
			description = "Time ago in seconds for dead / inactive timers to trigger a warning state (by default 6 days)."
		}
		"--dead-timers-critical" = {
			value = "$systemd_dead_timers_critical$"
			description = "Time ago in seconds for dead / inactive timers to trigger a critical state (by default 7 days)."
		}
		"-v" = {
			set_if = {{ macro("$systemd_verbose_level$") == 1 }}
			description = "Increase verbosity level (Accepted values: `1`, `2` or `3`). Defaults to none."
		}
		"-vv" = {
			set_if = {{ macro("$systemd_verbose_level$") == 2 }}
		}
		"-vvv" = {
			set_if = {{ macro("$systemd_verbose_level$") == 3 }}
		}
	}
}
