<term><varname>ConditionPathExists=</varname></term>
<term><varname>ConditionDirectoryNotEmpty=</varname></term>
<term><varname>ConditionKernelCommandLine=</varname></term>
+ <term><varname>ConditionVirtualization=</varname></term>
<term><varname>ConditionNull=</varname></term>
<listitem><para>Before starting a unit
assignment. In the latter case the
exact assignment is looked for with
right and left hand side
- matching. Finally,
+ matching. <varname>ConditionVirtualization=</varname>
+ may be used to check whether the
+ system is executed in a virtualized
+ environment and optionally test
+ whether it is a specific
+ implementation. Takes either boolean
+ value to check if being executed in
+ any virtual environment or one of the
+ <varname>qemu</varname>,
+ <varname>kvm</varname>,
+ <varname>vmware</varname>,
+ <varname>microsoft</varname>,
+ <varname>oracle</varname>,
+ <varname>xen</varname>,
+ <varname>openvz</varname> to test
+ against a specific implementation. The
+ test may be negated by prepending an
+ exclamation mark. Finally,
<varname>ConditionNull=</varname> may
be used to add a constant condition
check value to the unit. It takes a
<varname>false</varname> the condition
will always fail, otherwise
succeed. If multiple conditions are
- specified the unit will be executed
- if at least one of them applies
- (i.e. a logical OR is
- applied).</para></listitem>
+ specified the unit will be executed if
+ all of them apply (i.e. a logical AND
+ is applied). Condition checks can be
+ prefixed with a pipe symbol (|) in
+ which case a condition becomes a
+ triggering condition. If at least one
+ triggering condition is defined for a
+ unit then the unit will be executed if
+ at least one of the triggering
+ conditions apply and all of the
+ non-triggering conditions. If you
+ prefix an argument with the pipe
+ symbol and an exclamation mark the
+ pipe symbol must be passed first, the
+ exclamation second.</para></listitem>
</varlistentry>
</variablelist>