# PendingOperationType (Complex Type)

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

Description of an operation that is pending (in progress) or that was recently completed.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
type | property PendingOperationTypeType | [0,1] | Type of pending operation.
delta | property ObjectDeltaType | [0,1] | Operation delta.
requestTimestamp | property dateTime | [0,1] | The timestamp of operation request.
operationStartTimestamp | property dateTime | [0,1] | The timestamp of operation start.
lastAttemptTimestamp | property dateTime | [0,1] | The timestamp of last operation attempt (star of operation).
completionTimestamp | property dateTime | [0,1] | The timestamp of operation completion.
executionStatus | property PendingOperationExecutionStatusType | [0,1] | Execution status.
resultStatus | property OperationResultStatusType | [0,1] | Operation result status.
asynchronousOperationReference | property string | [0,1] | Reference to an asynchronous operation that can be used to refresh the status of the running operation.
attemptNumber | property int | [0,1] | Number of a current attempt at operation execution.

- ### Items

  - #### type

    Flags: RAM,runtime,AVals:3

    Multiplicity: [0,1]

    Type of pending operation. It tells whether this is asynchronous resource operation, manual operation, retried operation and so on. It is used mostly for diagnostic purposes. But it also has some meaning in the logic for some special cases.

  - #### delta

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Operation delta. This is the change that is executed by the operation.

  - #### requestTimestamp

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The timestamp of operation request. The point in time when the operation was recoded. It is set once and should never be changed.

  - #### operationStartTimestamp

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The timestamp of operation start. The point in time when the operation was initiated for the first time. It is set once and should never be changed.

  - #### lastAttemptTimestamp

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The timestamp of last operation attempt (star of operation). During normal (positive) flow it is the same as operationStartTimestamp. But this timestamp will change if the operation fails and it is re-tried.

  - #### completionTimestamp

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The timestamp of operation completion. The point in time when the operation was successful or when it has failed for the last time. No attempts to re-try the operation were done after this timestamp.

  - #### executionStatus

    Flags: RAM,runtime,AVals:4

    Multiplicity: [0,1]

    Execution status. This property indicates in which execution stage the operation is, e.g. whether it is requested, being executed, completed, and so on.

  - #### resultStatus

    Flags: RAM,runtime,AVals:8

    Multiplicity: [0,1]

    Operation result status. This property specifies result of operation execution. If execution status is present and set to anything else than "completed" then resultStatus may be empty. If result status is present in "executing" state then it means that execution was already attempted but it was not completed yet (e.g. there was an error and we will be retrying the operation).

    Legacy meaning: If no execution status is present then resultStatus defines the execution status (this is pre-3.7.1 behavior). If set to in_progress then the operation is still executing. If not present at all then the operation was not yet tried.

  - #### asynchronousOperationReference

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Reference to an asynchronous operation that can be used to refresh the status of the running operation.

  - #### attemptNumber

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Number of a current attempt at operation execution. Starts at 1. Null (in repository) means the operation is not retryable.