{
    "title": "notification object in monitoring notifications collection",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.monitoring.AgentItem",
    "type": "object",
    "required": [
        "agentId",
        "url",
        "entries"
    ],
    "properties": {
        "agentId": {
            "type": "string",
            "pattern": "^[^<>]*$",
            "maxLength": 255,
            "minLength": 1
        },
        "url": {
            "type": "string",
            "pattern": "^[^<>]*$",
            "maxLength": 255,
            "minLength": 1
        },
        "previousEntry": {
            "javaType": "com.sos.joc.model.monitoring.AgentItemEntryItem",
            "type": "object",
            "required": [
                "totalRunningTime",
                "readyTime"
            ],
            "properties": {
                "totalRunningTime": {
                    "type": "number",
                    "format": "utc-millisec",
                    "minimum": 0
                },
                "readyTime": {
                    "description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
                    "type": "string",
                    "format": "date-time"
                },
                "lastKnownTime": {
                    "description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
                    "type": "string",
                    "format": "date-time"
                },
                "source": {
                    "javaType": "com.sos.joc.model.monitoring.AgentItemEntryItemSource",
                    "type": "object",
                    "properties": {
                        "item": {
                            "javaType": "com.sos.joc.model.monitoring.enums.EntryItemSource",
                            "type": "string",
                            "enum": [
                                "history",
                                "historyNotInInventory",
                                "inventory",
                                "webservice"
                            ],
                            "javaEnumNames": [
                                "history",
                                "historyNotInInventory",
                                "inventory",
                                "webservice"
                            ]
                        },
                        "totalRunningTime": {
                            "javaType": "com.sos.joc.model.monitoring.enums.TotalRunningTimeSource",
                            "type": "string",
                            "enum": [
                                "estimated",
                                "dateFrom",
                                "dateTo",
                                "nextReadyTime",
                                "now",
                                "shutdown"
                            ],
                            "javaEnumNames": [
                                "estimated",
                                "dateFrom",
                                "dateTo",
                                "nextReadyTime",
                                "now",
                                "shutdown"
                            ]
                        }
                    }
                }
            }
        },
        "entries": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.monitoring.AgentItemEntryItem",
                "type": "object",
                "required": [
                    "totalRunningTime",
                    "readyTime"
                ],
                "properties": {
                    "totalRunningTime": {
                        "type": "number",
                        "format": "utc-millisec",
                        "minimum": 0
                    },
                    "readyTime": {
                        "description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
                        "type": "string",
                        "format": "date-time"
                    },
                    "lastKnownTime": {
                        "description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
                        "type": "string",
                        "format": "date-time"
                    },
                    "source": {
                        "javaType": "com.sos.joc.model.monitoring.AgentItemEntryItemSource",
                        "type": "object",
                        "properties": {
                            "item": {
                                "javaType": "com.sos.joc.model.monitoring.enums.EntryItemSource",
                                "type": "string",
                                "enum": [
                                    "history",
                                    "historyNotInInventory",
                                    "inventory",
                                    "webservice"
                                ],
                                "javaEnumNames": [
                                    "history",
                                    "historyNotInInventory",
                                    "inventory",
                                    "webservice"
                                ]
                            },
                            "totalRunningTime": {
                                "javaType": "com.sos.joc.model.monitoring.enums.TotalRunningTimeSource",
                                "type": "string",
                                "enum": [
                                    "estimated",
                                    "dateFrom",
                                    "dateTo",
                                    "nextReadyTime",
                                    "now",
                                    "shutdown"
                                ],
                                "javaEnumNames": [
                                    "estimated",
                                    "dateFrom",
                                    "dateTo",
                                    "nextReadyTime",
                                    "now",
                                    "shutdown"
                                ]
                            }
                        }
                    }
                }
            }
        }
    }
}