## Object Types
-### Host
+### <a id="objecttype-host"></a> Host
A host.
services |**Optional.** Inline definition of services. Each dictionary item specifies a service.<br /><br />The `templates` attribute can be used to specify an array of templates that should be inherited by the service.<br /><br />The new service's name is "hostname:service" - where "service" is the dictionary key in the services dictionary.<br /><br />The dictionary key is used as the service's short name.
macros |**Optional.** A dictionary containing macros that are specific to this host.
-### HostGroup
+### <a id="objecttype-hostgroup"></a> HostGroup
A group of hosts.
----------------|----------------
display_name |**Optional.** A short description of the host group.
-### Service
+### <a id="objecttype-service"></a> Service
Service objects describe network services and how they should be checked
by Icinga 2.
groups |**Optional.** The service groups this service belongs to.
notifications |**Optional.** Inline definition of notifications. Each dictionary item specifies a notification.<br /><br />The `templates` attribute can be used to specify an array of templates that should be inherited by the notification object.<br /><br />The new notification object's name is "hostname:service:notification" - where "notification" is the dictionary key in the notifications dictionary.
-### ServiceGroup
+### <a id="objecttype-servicegroup"></a> ServiceGroup
A group of services.
----------------|----------------
display_name |**Optional.** A short description of the service group.
-### Notification
+### <a id="objecttype-notification"></a> Notification
Notification objects are used to specify how users should be notified in case
of service state changes and other events.
notification_type_filter|TODO
notification_state_filter|TODO
-### User
+### <a id="objecttype-user"></a> User
A user.
notification_type_filter|TODO
notification_state_filter|TODO
-### UserGroup
+### <a id="objecttype-usergroup"></a> UserGroup
A user group.
----------------|----------------
display_name |**Optional.** A short description of the user group.
-### TimePeriod
+### <a id="objecttype-timeperiod"></a> TimePeriod
Time periods can be used to specify when services should be checked or to limit
when notifications should be sent out.
methods |**Required.** The "update" script method takes care of updating the internal representation of the time period. In virtually all cases you should just inherit from the "legacy-timeperiod" template to take care of this setting.
ranges |TODO
-### ConsoleLogger
+### <a id="objecttype-consolelogger"></a> ConsoleLogger
Specifies Icinga 2 logging to the console.
----------------|----------------
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "information".
-### FileLogger
+### <a id="objecttype-filelogger"></a> FileLogger
Specifies Icinga 2 logging to a file.
path |**Required.** The log path.
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "information".
-### SyslogLogger
+### <a id="objecttype-sysloglogger"></a> SyslogLogger
Specifies Icinga 2 logging to syslog.
----------------|----------------
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "information".
-### CheckCommand
+### <a id="objecttype-checkcommand"></a> CheckCommand
A check command definition. Additional default command macros can be
defined here.
macros |**Optional.** A dictionary containing macros that are specific to this command.
timeout |**Optional.** The command timeout in seconds. Defaults to 5 minutes.
-### NotificationCommand
+### <a id="objecttype-notificationcommand"></a> NotificationCommand
A notification command definition.
macros |**Optional.** A dictionary containing macros that are specific to this command.
timeout |**Optional.** The command timeout in seconds. Defaults to 5 minutes.
-### EventCommand
+### <a id="objecttype-eventcommand"></a> EventCommand
An event command definition.
macros |**Optional.** A dictionary containing macros that are specific to this command.
timeout |**Optional.** The command timeout in seconds. Defaults to 5 minutes.
-### PerfdataWriter
+### <a id="objecttype-perfdatawriter"></a> PerfdataWriter
Writes check result performance data to a defined path using macro
pattern.
> When rotating the performance data file the current UNIX timestamp is appended to the path specified
> in `perfdata\_path` to generate a unique filename.
-### IdoMySqlConnection
+### <a id="objecttype-idomysqlconnection"></a> IdoMySqlConnection
IDO DB schema compatible output into MySQL database.
servicechecks_age |**Optional.** Max age for servicechecks table rows (start_time). Defaults to 0 (never).
systemcommands_age |**Optional.** Max age for systemcommands table rows (start_time). Defaults to 0 (never).
-### LiveStatusListener
+### <a id="objecttype-livestatuslistener"></a> LiveStatusListener
Livestatus API interface available as TCP or UNIX socket.
>
> UNIX sockets are not supported on Windows.
-### StatusDataWriter
+### <a id="objecttype-statusdatawriter"></a> StatusDataWriter
Periodically writes status data files which are used by the Classic UI and other third-party tools.
status\_path |**Optional.** Path to the status.dat file. Defaults to IcingaLocalStateDir + "/cache/icinga2/status.dat".
objects\_path |**Optional.** Path to the objects.cache file. Defaults to IcingaLocalStateDir + "/cache/icinga2/objects.cache".
-### ExternalCommandListener
+### <a id="objecttype-externalcommandlistener"></a> ExternalCommandListener
Implements the Icinga 1.x command pipe which can be used to send commands to Icinga.
----------------|----------------
command\_path |**Optional.** Path to the command pipe. Defaults to IcingaLocalStateDir + "/run/icinga2/cmd/icinga2.cmd".
-### CompatLogger
+### <a id="objecttype-compatlogger"></a> CompatLogger
Writes log files in a format that's compatible with Icinga 1.x.
log\_dir |**Optional.** Path to the compat log directory. Defaults to IcingaLocalStateDir + "/log/icinga2/compat".
rotation\_method|**Optional.** Specifies when to rotate log files. Can be one of "HOURLY", "DAILY", "WEEKLY" or "MONTHLY". Defaults to "HOURLY".
-### CheckResultReader
+### <a id="objecttype-checkresultreader"></a> CheckResultReader
Reads Icinga 1.x check results from a directory. This functionality is provided
to help existing Icinga 1.x users and might be useful for certain cluster
----------------|----------------
spool\_dir |**Optional.** The directory which contains the check result files. Defaults to IcingaLocalStateDir + "/lib/icinga2/spool/checkresults/".
-### CheckerComponent
+### <a id="objecttype-checkcomponent"></a> CheckerComponent
The checker component is responsible for scheduling active checks. There are no configurable options.
object CheckerComponent "checker" { }
-### NotificationComponent
+### <a id="objecttype-notificationcomponent"></a> NotificationComponent
The notification component is responsible for sending notifications. There are no configurable options.
object NotificationComponent "notification" { }
-### ClusterListener
+### <a id="objecttype-clusterlistener"></a> ClusterListener
TODO
bind\_port |TODO
peers |TODO
-### Endpoint
+### <a id="objecttype-endpoint"></a> Endpoint
Endpoint objects are used to specify connection information for remote
Icinga 2 instances.
config\_files |TODO
accept\_config |**Optional.** A list of endpoint names from which this endpoint accepts configuration files.
-### Domain
+### <a id="objecttype-domain"></a> Domain
TODO