Conditions are associated with entities. These conditions represent the state of the entity. Here are some examples of conditions:

Condition Description
CONDDEATH The entity has died.
CONDABNORMALDEATH The entity has died an abnormal death. This condition is triggered whenever an entity dies by a mechanism that results in the generation of a core file (see dumper in the Utilities Reference for details).
CONDDETACH The entity that was being monitored is detaching. This ends HAM's monitoring of that entity.
CONDATTACH An entity for whom a place holder was previously created (someone has subscribed to events relating to this entity), has joined the system. This is also the start of the monitoring of the entity by a HAM.
CONDHBEATMISSEDHIGH The entity missed sending a heartbeat message specified for a condition of "high" severity.
CONDHBEATMISSEDLOW The entity missed sending a heartbeat message specified for a condition of "low" severity.
CONDRESTART The entity was restarted. This condition is true after the entity is successfully restarted.
CONDRAISE An externally detected condition is reported to a HAM. Subscribers can associate actions with these externally detected conditions.
CONDSTATE An entity reports a state transition to a HAM. Subscribers can associate actions with specific state transitions.
CONDANY This condition type matches any condition type. It can be used to associate the same actions with one of many conditions.

The conditions described above with the exception of CONDSTATE, CONDRAISE and CONDANY are automatically detected and/or triggered by a HAM (i.e., the HAM is the publisher of the conditions). The CONDSTATE and CONDRAISE conditions are published to a HAM by external detectors. For all conditions, subscribers can associate with lists of actions that will be performed in sequence when the condition is triggered. Both the CONDSTATE and CONDRAISE conditions provide filtering capabilities so the subscribers can selectively associate actions with individual conditions, based on the information published.

Conditions are also associated with symbolic names, which also need to be unique within an entity.

Note: The HAM architecture is extensible. Several conditions are automatically detected by a HAM. Also, by using the Condition Raise mechanism other components in the system can notify a HAM of interesting events in the system. These conditions can be fully customized. Also, by studying the source code, it is possible to add the capability of detecting other conditions into the HAM (e.g., low memory, high CPU utilization, low disk space, etc.) to suit your HA application.