{
    "title": "edit monitor configuration",
    "id": "schemas/joe/job/monitorEdit",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.joe.job.MonitorEdit",
    "type": "object",
    "required": [
        "configuration"
    ],
    "extends": {
        "javaType": "com.sos.joc.model.joe.common.JSObjectEdit"
    },
    "properties": {
        "configuration": {
            "id": "schemas/joe/job/monitor",
            "javaType": "com.sos.joc.model.joe.job.Monitor",
            "type": "object",
            "javaInterfaces": [
                "com.sos.joc.model.joe.common.IJSObject"
            ],
            "properties": {
                "name": {
                    "description": "this field is only used for a monitor inside a job; not inside an external monitor file",
                    "type": "string"
                },
                "ordering": {
                    "id": "schemas/common/nonNegativeInteger",
                    "type": "integer",
                    "minimum": 0
                },
                "script": {
                    "id": "schemas/joe/job/script",
                    "javaType": "com.sos.joc.model.joe.job.Script",
                    "type": "object",
                    "properties": {
                        "language": {
                            "type": "string"
                        },
                        "javaClass": {
                            "type": "string"
                        },
                        "javaClassPath": {
                            "type": "string"
                        },
                        "dll": {
                            "type": "string"
                        },
                        "dotnetClass": {
                            "type": "string"
                        },
                        "comClass": {
                            "type": "string"
                        },
                        "includes": {
                            "id": "schemas/joe/common/includes",
                            "type": "array",
                            "xmlElement": "include",
                            "items": {
                                "id": "schemas/joe/common/include",
                                "javaType": "com.sos.joc.model.joe.common.Include",
                                "type": "object",
                                "description": "usage of file and liveFile are exclusive",
                                "properties": {
                                    "file": {
                                        "type": "string"
                                    },
                                    "liveFile": {
                                        "type": "string"
                                    }
                                }
                            }
                        },
                        "content": {
                            "description": "cdata embedded script, e.g. javascript",
                            "type": "string"
                        }
                    }
                }
            }
        }
    }
}