{
    "title": "notification object in monitoring notifications collection",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.monitoring.AgentsControllerItem",
    "type": "object",
    "required": [
        "controllerId",
        "agents"
    ],
    "properties": {
        "controllerId": {
            "type": "string",
            "pattern": "^[^/\\<>?:\"|*]*$",
            "maxLength": 100
        },
        "agents": {
            "type": "array",
            "items": {
                "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"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}