{
    "title": "order history log entry",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.history.order.OrderLogEntry",
    "type": "object",
    "required": [
        "controllerDatetime",
        "orderId",
        "logLevel",
        "logEvent",
        "position"
    ],
    "properties": {
        "controllerDatetime": {
            "type": "string"
        },
        "agentDatetime": {
            "type": "string"
        },
        "orderId": {
            "type": "string"
        },
        "logLevel": {
            "type": "string"
        },
        "logEvent": {
            "javaType": "com.sos.controller.model.event.EventType",
            "type": "string",
            "enum": [
                "VersionAdded",
                "FileBasedChanged",
                "ControllerReady",
                "AgentReady",
                "OrderAdded",
                "OrderAttachable",
                "OrderStarted",
                "OrderTransferredToAgent",
                "OrderProcessingStarted",
                "OrderStdoutWritten",
                "OrderStderrWritten",
                "OrderProcessed",
                "OrderResumed",
                "OrderResumeMarked",
                "OrderForked",
                "OrderJoined",
                "OrderOffered",
                "OrderRetrying",
                "OrderAwaiting",
                "OrderMoved",
                "OrderDetachable",
                "OrderDetached",
                "OrderFailed",
                "OrderCatched",
                "OrderAwoke",
                "OrderFailedinFork",
                "OrderSuspended",
                "OrderSuspendMarked",
                "OrderBroken",
                "OrderCancelled",
                "OrderFinished",
                "OrderLockAcquired",
                "OrderLockQueued",
                "OrderLockReleased"
            ],
            "javaEnumNames": [
                "VersionAdded",
                "FileBasedChanged",
                "ControllerReady",
                "AgentReady",
                "OrderAdded",
                "OrderAttachable",
                "OrderStarted",
                "OrderTransferredToAgent",
                "OrderProcessingStarted",
                "OrderStdoutWritten",
                "OrderStderrWritten",
                "OrderProcessed",
                "OrderResumed",
                "OrderResumeMarked",
                "OrderForked",
                "OrderJoined",
                "OrderOffered",
                "OrderRetrying",
                "OrderAwaiting",
                "OrderMoved",
                "OrderDetachable",
                "OrderDetached",
                "OrderFailed",
                "OrderCatched",
                "OrderAwoke",
                "OrderFailedinFork",
                "OrderSuspended",
                "OrderSuspendMarked",
                "OrderBroken",
                "OrderCancelled",
                "OrderFinished",
                "OrderLockAcquired",
                "OrderLockQueued",
                "OrderLockReleased"
            ]
        },
        "position": {
            "type": "string"
        },
        "agentId": {
            "alias": "agentPath",
            "type": "string"
        },
        "agentUrl": {
            "type": "string"
        },
        "job": {
            "type": "string"
        },
        "taskId": {
            "type": "number",
            "format": "utc-millisec",
            "minimum": 0
        },
        "returnCode": {
            "type": "number",
            "format": "utc-millisec"
        },
        "error": {
            "type": "object",
            "javaType": "com.sos.joc.model.history.order.Lock",
            "properties": {
                "errorState": {
                    "type": "string"
                },
                "errorReason": {
                    "type": "string"
                },
                "errorCode": {
                    "type": "string"
                },
                "errorText": {
                    "type": "string"
                }
            },
            "additionalProperties": false
        },
        "lock": {
            "type": "object",
            "required": [
                "lockName",
                "limit"
            ],
            "properties": {
                "lockName": {
                    "alias": "lockId,lockPath",
                    "type": "string",
                    "javaType": "com.sos.joc.model.history.order.Lock"
                },
                "limit": {
                    "type": "integer",
                    "minimum": 0,
                    "default": 1
                },
                "count": {
                    "type": "integer"
                },
                "lockState": {
                    "type": "object",
                    "javaType": "com.sos.joc.model.history.order.LockState",
                    "properties": {
                        "orderIds": {
                            "type": "string"
                        },
                        "queuedOrderIds": {
                            "type": "string"
                        }
                    },
                    "additionalProperties": false
                }
            },
            "additionalProperties": false
        }
    },
    "additionalProperties": false
}