{
    "title": "Filter Deployables",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.inventory.deploy.DeployablesFilter",
    "type": "object",
    "required": [
        "folder"
    ],
    "properties": {
        "controllerId": {
            "type": "string",
            "pattern": "^[^/\\<>?!&:;()\"|*^]*$",
            "maxLength": 100
        },
        "folder": {
            "description": "absolute path of an object.",
            "type": "string",
            "pattern": "^(/|(/[^/\\\\<>?:\"|*]+)+)$",
            "maxLength": 255,
            "minLength": 1
        },
        "recursive": {
            "type": "boolean",
            "default": false
        },
        "objectTypes": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.inventory.common.ConfigurationType",
                "type": "string",
                "enum": [
                    "FOLDER",
                    "WORKFLOW",
                    "JOBCLASS",
                    "JOBRESOURCE",
                    "LOCK",
                    "NOTICEBOARD",
                    "FILEORDERSOURCE",
                    "WORKINGDAYSCALENDAR",
                    "NONWORKINGDAYSCALENDAR",
                    "SCHEDULE",
                    "INCLUDESCRIPT",
                    "JOBTEMPLATE",
                    "DEPLOYMENTDESCRIPTOR",
                    "DESCRIPTORFOLDER"
                ]
            }
        },
        "onlyValidObjects": {
            "type": "boolean",
            "default": false
        },
        "withRemovedObjects": {
            "type": "boolean",
            "default": false
        },
        "withoutDrafts": {
            "type": "boolean",
            "default": false
        },
        "withoutDeployed": {
            "type": "boolean",
            "default": false
        },
        "latest": {
            "description": "only relevant for deployed objects",
            "type": "boolean",
            "default": false
        }
    }
}