# OperationProvisioningScriptType (Complex Type)

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

Supertype: ProvisioningScriptType
Specifies how and when a script is executed during provisioning.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
host | property ProvisioningScriptHostType | [0,1] | Defines where the script should be executed (connector or resource).
language | property anyURI | [1,1] | Specifies the language of the script.
argument | property ProvisioningScriptArgumentType | [0,-1] | Script arguments.
code | property string | [1,1] | Script code represented as string.
criticality | property CriticalityType | [0,1] | Defines where the script should be executed (connector or resource).
operation | property ProvisioningOperationTypeType | [0,-1] | Defines a set of operations for which the script should be executed.
kind | property ShadowKindType | [0,-1] | Constraints script execution only to resource objects of a specified kind.
intent | property string | [0,-1] | Constraints script execution only to resource objects with a specified intent.
order | property BeforeAfterType | [1,1] | Defines the order in which a script is executed.
condition | property ExpressionType | [0,1] | Defines the condition when to execute script.

- ### Items

  - #### host

    Flags: RAM,runtime,AVals:2

    Multiplicity: [0,1]

    Defines where the script should be executed (connector or resource). If no type is specified, it defaults to resource.

  - #### language

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Specifies the language of the script.

  - #### argument

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Script arguments. The arguments will passed to the script in any way suitable for the script. The argument name is "local" to the script (script-specific). Script name must be unique in the argument set. The order of arguments is not significant.

  - #### code

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Script code represented as string. The interpretation depends on script language. If XML elements are used inside, they should be properly escaped. (e.g. using CDATA).

  - #### criticality

    Flags: RAM,runtime,AVals:3

    Multiplicity: [0,1]

    Defines where the script should be executed (connector or resource). If no type is specified, it defaults to resource.

  - #### operation

    Flags: RAM,runtime,AVals:5

    Multiplicity: [0,-1]

    Defines a set of operations for which the script should be executed. If more than one operation is specified, the same script should be executed for each of them. If no operation is specified, the script will not be executed (this is meant as poor man's disable feature)

  - #### kind

    Flags: RAM,runtime,AVals:4

    Multiplicity: [0,-1]

    Constraints script execution only to resource objects of a specified kind. If not present then the script will be executed for objects of all kinds.

  - #### intent

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Constraints script execution only to resource objects with a specified intent. If not present then the scrip will be executed for objects with any intent.

  - #### order

    Flags: RAM,runtime,AVals:2

    Multiplicity: [1,1]

    Defines the order in which a script is executed. (before or after an operation).

  - #### condition

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Defines the condition when to execute script.