# ModelExecuteOptionsType (Complex Type)

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

Options for execution of Model operations. These options influence the way how the operations are executed. The options are not mandatory. All options have reasonable default values. They may not be specified at all.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
extension | container ExtensionType | [0,1] | Extension container used to provide deployment-specific execution options.
force | property boolean | [0,1] | Force the operation even if it would otherwise fail due to external failure.
pushChanges | property boolean | [0,1] | "Pushes" changes even if they are phantom.
raw | property boolean | [0,1] | Avoid any smart processing of the data except for schema application.
noCrypt | property boolean | [0,1] | Avoid encryption of any cleartext data on write.
reconcile | property boolean | [0,1] | Option to reconcile focus and all projections while executing changes.
cachedShadowsUse | property CachedShadowsUseType | [0,1] | How should we use cached shadows during this operation?
reconcileFocus | property boolean | [0,1] | Option to reconcile focus while executing changes.
reconcileAffected | property boolean | [0,1] | Option to reconcile affected objects after executing changes.
executeImmediatelyAfterApproval | property boolean | [0,1] | Option to execute changes as soon as they are approved.
overwrite | property boolean | [0,1] | Option to user overwrite flag.
isImport | property boolean | [0,1] | Option to simulate import operation.
limitPropagation | property boolean | [0,1] | Option to limit change computation and execution only for the source resource.
reevaluateSearchFilters | property boolean | [0,1] | Causes reevaluation of search filters.
requestBusinessContext | property OperationBusinessContextType | [0,1] | Business context that describes this request.
partialProcessing | container PartialProcessingOptionsType | [0,1] | Options that control selective execution of model logic.
initialPartialProcessing | container PartialProcessingOptionsType | [0,1] | Partial processing for initial clockwork stage.
firstClickOnly | property boolean | [0,1] | If true, only the first clockwork click (presumably, in the INITIAL state) is executed.
focusConflictResolution | container ConflictResolutionType | [0,1] | A method to resolve conflicts on focus objects.
ignoreAssignmentPruning | property boolean | [0,1] | If true, assignments are not pruned even if "prune" policy action is triggered.
previewPolicyRulesEnforcement | property boolean | [0,1] | If true, "enforcement" action in policy rules is previewed only, not enforced.

- ### Items

  - #### extension

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Extension container used to provide deployment-specific execution options.

  - #### force

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Force the operation even if it would otherwise fail due to external failure. E.g. attempt to delete an account that no longer exists on resource may fail without a FORCE option. If FORCE option is used then the operation is finished even if the account does not exist (e.g. at least shadow is removed from midPoint repository).

  - #### pushChanges

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    "Pushes" changes even if they are phantom. For example, when disabling already disabled user with this option, all related administrativeStatus-sourced mappings are evaluated even if they would be normally skipped. This restores behavior of midPoint before 4.2.

  - #### raw

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Avoid any smart processing of the data except for schema application. Do not synchronize the data, do not apply any expressions, etc.

  - #### noCrypt

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Avoid encryption of any cleartext data on write. Applies only to the encrypted data formats (ProtectedString, ProtectedByteArray). It is not recommended to use in production environment. This option is provided only for diagnostic purposes to be used in development environments.

  - #### reconcile

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Option to reconcile focus and all projections while executing changes. (implies reconcileFocus) An exception to this meaning is when this flag is used during synchronization process (like in import, reconciliation, or live sync task). In this case, setting reconcile = true sets the reconciliation only for the projection being synchronized. Other projections are not affected. This "conditional" meaning may change in the future.

  - #### cachedShadowsUse

    Flags: RAM,runtime,AVals:4

    Multiplicity: [0,1]

    Display order:

    How should we use cached shadows during this operation?

  - #### reconcileFocus

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Option to reconcile focus while executing changes. If this option is set and the reconcile option is not set then the projections reconciliation will not be forced (but it may still happen if other configuration loads full projection).

  - #### reconcileAffected

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Option to reconcile affected objects after executing changes. Typical use: after a role is changed, all users that have been assigned this role would be reconciled. Because it is difficult to determine all affected objects (e.g. users that have indirectly assigned a role), midPoint does a reasonable attempt to determine and reconcile them. E.g. it may be limited to a direct assignees. Also, because of time complexity, the reconciliation may be executed in a separate background task. Support was removed in 4.2. It is replaced by new "Linked objects" functionality.

  - #### executeImmediatelyAfterApproval

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Option to execute changes as soon as they are approved. (For the primary stage approvals, the default behavior is to wait until all changes are approved/rejected and then execute the operation as a whole.)

  - #### overwrite

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Option to user overwrite flag. It can be used from web service, if we want to re-import some object

  - #### isImport

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Option to simulate import operation. E.g. search filters will be resolved.

  - #### limitPropagation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Option to limit change computation and execution only for the source resource.

  - #### reevaluateSearchFilters

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Causes reevaluation of search filters.

  - #### requestBusinessContext

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Business context that describes this request.

  - #### partialProcessing

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Options that control selective execution of model logic. Use with extreme care. Some combinations may be dangerous.

  - #### initialPartialProcessing

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Partial processing for initial clockwork stage. Used primarily for eliminating overhead when starting operations that are expected to result in (background) approval processing. Note that if this option is used and if the clockwork proceeds to PRIMARY phase (e.g. because there are no approvals), the context will be rotten after INITIAL phase. This presents some overhead. So please use this option only if there is reasonable assumption that the request will stop after INITIAL phase.

  - #### firstClickOnly

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    If true, only the first clockwork click (presumably, in the INITIAL state) is executed. This is to provide the behavior similar to previewChanges() in the modern, simulation-based, implementation present in 4.9+. (Although the legacy functionality tried to project other waves as well, this flag provides the best aligned behavior to appropriate use cases: computing indirect assignments, and evaluating policy rules for the access request.) To be used for simulations (or preview changes) only! Experimental. Only for midPoint internal use.

  - #### focusConflictResolution

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    A method to resolve conflicts on focus objects. This specifies how will the processors handle optimistic locking conflicts - and whether they even try to detect them. The default value is null, which means that there is no reaction to conflicts and that the conflicts are not even detected. Note that different default conflict resolution may be specified in system configuration.

  - #### ignoreAssignmentPruning

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    If true, assignments are not pruned even if "prune" policy action is triggered. To be used when previewing changes only! Main reason is the shopping cart, when we are interested in assignments conflicts - and if the assignments are pruned, the conflicts disappear. See e.g. MID-8243. Experimental. Only for midPoint internal use.

  - #### previewPolicyRulesEnforcement

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    If true, "enforcement" action in policy rules is previewed only, not enforced. This is to provide legacy previewChanges() behavior in the modern, simulation-based, implementation present in 4.9+. To be used for simulations (or preview changes) only! Experimental. Only for midPoint internal use.