# TriggerCreationType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Deals with creation of recompute triggers for selected objects. These triggers can be created in "raw" way, simply by adding respective TriggerType objects. Or, they can be created in so called optimized way, where we look if a compatible trigger already exists and skip trigger creation in such case. This structure deals with recompute triggers for now. In might be generalized in the future.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
fireAfter | property duration | [0,1] | How long after current time the trigger should be fired.
safetyMargin | property duration | [0,1] | What is the safety margin, i.

- ### Items

  - #### fireAfter

    Flags: RAM,runtime

    Multiplicity: [0,1]

    How long after current time the trigger should be fired. When not specified, trigger is created unconditionally ("raw" way), with the fire time being equal to the current time. If specified, the trigger is created with the fire time in the future; skipping the creation if compatible trigger was created and still has not been fired.

  - #### safetyMargin

    Flags: RAM,runtime

    Multiplicity: [0,1]

    What is the safety margin, i.e. how many long before the trigger fire time we need to create a new trigger. This is to avoid (rare but in theory possible) race conditions where we skip creation of a trigger but it fires in the meanwhile.