{
    "title": "JobResource configuration",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.inventory.jobresource.JobResourcePublish",
    "type": "object",
    "extends": {
        "javaType": "com.sos.joc.model.publish.ControllerObject"
    },
    "properties": {
        "content": {
            "javaType": "com.sos.sign.model.jobresource.JobResource",
            "type": "object",
            "javaInterfaces": [
                "com.sos.joc.model.common.IDeployObject"
            ],
            "required": [
                "TYPE",
                "path"
            ],
            "propertyOrder": [
                "TYPE",
                "path",
                "variables",
                "env"
            ],
            "description": "deploy object with fixed property 'TYPE':'JobResource'",
            "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
                },
                "variables": {
                    "alias": "arguments,settings",
                    "description": "a map for arbitrary key-value pairs",
                    "javaType": "com.sos.inventory.model.job.Environment",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "env": {
                    "description": "a map for arbitrary key-value pairs",
                    "javaType": "com.sos.inventory.model.job.Environment",
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            },
            "additionalProperties": false
        }
    }
}