{
    "title": "joe folder",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.tree.JoeTree",
    "type": "object",
    "extends": {
        "javaType": "com.sos.joc.model.tree.Tree",
        "type": "object",
        "properties": {
            "path": {
                "description": "absolute path based on live folder of a JobScheduler object.",
                "type": "string",
                "pattern": "^(/|(/[^/\\<>?:\"|*]+)+)$",
                "maxLength": 255
            },
            "name": {
                "type": "string"
            },
            "deleted": {
                "type": "boolean"
            },
            "lockedBy": {
                "type": "string"
            },
            "lockedSince": {
                "description": "Value is UTC timestamp in ISO 8601 YYYY-MM-DDThh:mm:ss.sZ or empty",
                "type": "string",
                "format": "date-time"
            },
            "folders": {
                "type": "array",
                "items": {
                    "description": "tree-schema.json"
                }
            }
        },
        "required": [
            "path",
            "name"
        ]
    },
    "properties": {
        "jobs": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.joe.other.FolderItem",
                "type": "object",
                "required": [
                    "name",
                    "deployed",
                    "deleted"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean",
                        "default": false
                    },
                    "deleted": {
                        "type": "boolean",
                        "default": false
                    },
                    "title": {
                        "type": "string"
                    },
                    "processClass": {
                        "description": "for jobs and job chains",
                        "type": "string"
                    },
                    "isOrderJob": {
                        "description": "for jobs",
                        "type": "boolean"
                    },
                    "priority": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "initialState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "endState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "maxProcesses": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "maxNonExclusive": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "validFrom": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "validTo": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "substitute": {
                        "description": "for schedule: path to another schedule",
                        "type": "string"
                    }
                }
            },
            "uniqueItems": true
        },
        "jobChains": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.joe.other.FolderItem",
                "type": "object",
                "required": [
                    "name",
                    "deployed",
                    "deleted"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean",
                        "default": false
                    },
                    "deleted": {
                        "type": "boolean",
                        "default": false
                    },
                    "title": {
                        "type": "string"
                    },
                    "processClass": {
                        "description": "for jobs and job chains",
                        "type": "string"
                    },
                    "isOrderJob": {
                        "description": "for jobs",
                        "type": "boolean"
                    },
                    "priority": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "initialState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "endState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "maxProcesses": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "maxNonExclusive": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "validFrom": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "validTo": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "substitute": {
                        "description": "for schedule: path to another schedule",
                        "type": "string"
                    }
                }
            },
            "uniqueItems": true
        },
        "orders": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.joe.other.FolderItem",
                "type": "object",
                "required": [
                    "name",
                    "deployed",
                    "deleted"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean",
                        "default": false
                    },
                    "deleted": {
                        "type": "boolean",
                        "default": false
                    },
                    "title": {
                        "type": "string"
                    },
                    "processClass": {
                        "description": "for jobs and job chains",
                        "type": "string"
                    },
                    "isOrderJob": {
                        "description": "for jobs",
                        "type": "boolean"
                    },
                    "priority": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "initialState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "endState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "maxProcesses": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "maxNonExclusive": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "validFrom": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "validTo": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "substitute": {
                        "description": "for schedule: path to another schedule",
                        "type": "string"
                    }
                }
            },
            "uniqueItems": true
        },
        "agentClusters": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.joe.other.FolderItem",
                "type": "object",
                "required": [
                    "name",
                    "deployed",
                    "deleted"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean",
                        "default": false
                    },
                    "deleted": {
                        "type": "boolean",
                        "default": false
                    },
                    "title": {
                        "type": "string"
                    },
                    "processClass": {
                        "description": "for jobs and job chains",
                        "type": "string"
                    },
                    "isOrderJob": {
                        "description": "for jobs",
                        "type": "boolean"
                    },
                    "priority": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "initialState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "endState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "maxProcesses": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "maxNonExclusive": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "validFrom": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "validTo": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "substitute": {
                        "description": "for schedule: path to another schedule",
                        "type": "string"
                    }
                }
            },
            "uniqueItems": true
        },
        "processClasses": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.joe.other.FolderItem",
                "type": "object",
                "required": [
                    "name",
                    "deployed",
                    "deleted"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean",
                        "default": false
                    },
                    "deleted": {
                        "type": "boolean",
                        "default": false
                    },
                    "title": {
                        "type": "string"
                    },
                    "processClass": {
                        "description": "for jobs and job chains",
                        "type": "string"
                    },
                    "isOrderJob": {
                        "description": "for jobs",
                        "type": "boolean"
                    },
                    "priority": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "initialState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "endState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "maxProcesses": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "maxNonExclusive": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "validFrom": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "validTo": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "substitute": {
                        "description": "for schedule: path to another schedule",
                        "type": "string"
                    }
                }
            },
            "uniqueItems": true
        },
        "locks": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.joe.other.FolderItem",
                "type": "object",
                "required": [
                    "name",
                    "deployed",
                    "deleted"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean",
                        "default": false
                    },
                    "deleted": {
                        "type": "boolean",
                        "default": false
                    },
                    "title": {
                        "type": "string"
                    },
                    "processClass": {
                        "description": "for jobs and job chains",
                        "type": "string"
                    },
                    "isOrderJob": {
                        "description": "for jobs",
                        "type": "boolean"
                    },
                    "priority": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "initialState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "endState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "maxProcesses": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "maxNonExclusive": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "validFrom": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "validTo": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "substitute": {
                        "description": "for schedule: path to another schedule",
                        "type": "string"
                    }
                }
            },
            "uniqueItems": true
        },
        "schedules": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.joe.other.FolderItem",
                "type": "object",
                "required": [
                    "name",
                    "deployed",
                    "deleted"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean",
                        "default": false
                    },
                    "deleted": {
                        "type": "boolean",
                        "default": false
                    },
                    "title": {
                        "type": "string"
                    },
                    "processClass": {
                        "description": "for jobs and job chains",
                        "type": "string"
                    },
                    "isOrderJob": {
                        "description": "for jobs",
                        "type": "boolean"
                    },
                    "priority": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "initialState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "endState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "maxProcesses": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "maxNonExclusive": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "validFrom": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "validTo": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "substitute": {
                        "description": "for schedule: path to another schedule",
                        "type": "string"
                    }
                }
            },
            "uniqueItems": true
        },
        "monitors": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.joe.other.FolderItem",
                "type": "object",
                "required": [
                    "name",
                    "deployed",
                    "deleted"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean",
                        "default": false
                    },
                    "deleted": {
                        "type": "boolean",
                        "default": false
                    },
                    "title": {
                        "type": "string"
                    },
                    "processClass": {
                        "description": "for jobs and job chains",
                        "type": "string"
                    },
                    "isOrderJob": {
                        "description": "for jobs",
                        "type": "boolean"
                    },
                    "priority": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "initialState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "endState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "maxProcesses": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "maxNonExclusive": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "validFrom": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "validTo": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "substitute": {
                        "description": "for schedule: path to another schedule",
                        "type": "string"
                    }
                }
            },
            "uniqueItems": true
        },
        "nodeParams": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.joe.other.FolderItem",
                "type": "object",
                "required": [
                    "name",
                    "deployed",
                    "deleted"
                ],
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "deployed": {
                        "type": "boolean",
                        "default": false
                    },
                    "deleted": {
                        "type": "boolean",
                        "default": false
                    },
                    "title": {
                        "type": "string"
                    },
                    "processClass": {
                        "description": "for jobs and job chains",
                        "type": "string"
                    },
                    "isOrderJob": {
                        "description": "for jobs",
                        "type": "boolean"
                    },
                    "priority": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "initialState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "endState": {
                        "description": "for orders",
                        "type": "string"
                    },
                    "maxProcesses": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "maxNonExclusive": {
                        "type": "integer",
                        "minimum": 0
                    },
                    "validFrom": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "validTo": {
                        "description": "for schedule: yyyy-mm-dd HH:MM[:SS]",
                        "type": "string"
                    },
                    "substitute": {
                        "description": "for schedule: path to another schedule",
                        "type": "string"
                    }
                }
            },
            "uniqueItems": true
        }
    }
}