# ScriptExecutionPolicyActionType (Complex Type)

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

Supertype: PolicyActionType
TODO HIGHLY EXPERIMENTAL. Use at your own risk. No guarantees here.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property string | [0,1] | Name for the action.
description | property string | [0,1] | Free-form description (e.
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
condition | property ExpressionType | [0,1] | When should this action be applied?
object | container ScriptExecutionObjectType | [0,1] | Object(s) on which the script should be executed.
executeScript | property ExecuteScriptType | [0,-1] |
asynchronousExecution | container AsynchronousScriptExecutionType | [0,1] | Options for asynchronous script execution.
runAsRef | reference ObjectReferenceType | [0,1] | Reference to the user whose identity will be used to execute the script, including task submission in case of asynchronous execution.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Name for the action. It is used for logging and other diagnostic purposes.

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Free-form description (e.g. comments about the action purpose)

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Technical documentation for a particular object or construct.

    The purpose of this element is to document system configuration and behavior. The documentation will not be presented to end users. In fact, it will probably not be presented at all in midPoint user interface. This documentation element is supposed to be a part of the technical documentation of midPoint deployment. The tools than generate deployment configuration will look for these elements and combine them to compiled documentation document.

    AsciiDoc formatting is assumed for this element. Any leading or trailing whitespace is skipped. Indentation equivalent to he indentation of the first non-blank line of text is also skipped.

  - #### condition

    Flags: RAM,runtime

    Multiplicity: [0,1]

    When should this action be applied?

  - #### object

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Object(s) on which the script should be executed. (If not specified, current focus is assumed.)

  - #### executeScript

    Flags: RAM,runtime

    Multiplicity: [0,-1]

  - #### asynchronousExecution

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Options for asynchronous script execution.

  - #### runAsRef

    Flags: RAM

    Multiplicity: [0,1]

    Reference to the user whose identity will be used to execute the script, including task submission in case of asynchronous execution. (Note that search for relevant objects is currently done directly via repository, so it is not covered by authorizations.)

    The whole process will use authorizations that this user has. If the script triggers any change then the change will be audited under the identity of this user.

    If no user is specified then the identify of currently logged-in user or the owner of the task will be used.