conditions - sorengranfeldt/mre GitHub Wiki
With each rule, you can have conditions that must match in order for the action specified in the rule to be performed against the object in the connector space. All specified conditions must evaluate to true to have the action performed. If just one evaluates to false, no action is taken.
For provisioning rules, the conditions are only validated when no connected object exists in the connector space. This is similar to how join-rules are validated. The provisioning rule conditions are evaluated until a connection is established and thereafter the connection is locked. However, for Rename rules, the conditions are only validated if there is a connected object for the Management Agent specified.
<Conditions Operator="And">
<ConditionBase xsi:type="...">...</ConditionBase>
<ConditionBase xsi:type="...">...</ConditionBase>
<ConditionBase xsi:type="...">...</ConditionBase>
</Conditions>The overall Conditions element has an attribute called 'Operator' that can have the value of either 'And' (default) or 'Or'. This operator denotes what all the included conditions must evaluate to. If it is set to 'And' then all conditions must evaluate to true for the action to be performed and if it is set to 'Or' then just one or more conditions must evaluate to true for the action to be performed.
All Conditions are derived from a single base condition tag called ConditionBase and all contain a condition type specified by the xsi:type attribute. All conditions have an optional tag called Description that allows for a more elaborate description of what the condition means.