{
    "title": "FileOrderSource configuration",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.inventory.fileordersource.FileOrderSourcePublish",
    "type": "object",
    "extends": {
        "javaType": "com.sos.joc.model.publish.ControllerObject"
    },
    "properties": {
        "content": {
            "javaType": "com.sos.sign.model.fileordersource.FileOrderSource",
            "type": "object",
            "javaInterfaces": [
                "com.sos.joc.model.common.IDeployObject"
            ],
            "required": [
                "TYPE",
                "path",
                "workflowPath",
                "agentPath",
                "directory"
            ],
            "propertyOrder": [
                "TYPE",
                "path",
                "workflowPath",
                "agentPath",
                "pattern",
                "orderIdExpression",
                "delay"
            ],
            "description": "deploy object with fixed property 'TYPE':'FileWatch'",
            "properties": {
                "TYPE": {
                    "javaType": "com.sos.inventory.model.deploy.DeployType",
                    "type": "string",
                    "enum": [
                        "Workflow",
                        "JobClass",
                        "Lock",
                        "FileWatch",
                        "JobResource",
                        "Board"
                    ],
                    "javaEnumNames": [
                        "Workflow",
                        "JobClass",
                        "Lock",
                        "FileWatch",
                        "JobResource",
                        "Board"
                    ],
                    "default": "Workflow"
                },
                "path": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "workflowPath": {
                    "alias": "workflowName",
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "agentPath": {
                    "alias": "agentId,agentName",
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "directory": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "minLength": 1
                },
                "pattern": {
                    "type": "string"
                },
                "timeZone": {
                    "type": "string",
                    "pattern": "^[^<>]*$",
                    "maxLength": 255,
                    "default": "Etc/UTC"
                },
                "orderIdExpression": {
                    "description": "'#' ++ now(format='yyyy-MM-dd', timezone='Antarctica/Troll') ++ \"#F$epochSecond-$orderWatchId:$1\"",
                    "type": "string"
                },
                "delay": {
                    "type": "integer",
                    "format": "utc-millisec",
                    "minimum": 1,
                    "maximum": 9999
                }
            },
            "additionalProperties": false
        }
    }
}