{
    "title": "Answer for Deploy",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.joe.common.DeployAnswer",
    "type": "object",
    "description": "",
    "required": [
        "jobschedulerId",
        "path"
    ],
    "properties": {
        "jobschedulerId": {
            "type": "string"
        },
        "folder": {
            "description": "absolute path based on live folder of a JobScheduler object.",
            "type": "string",
            "pattern": "^(/|(/[^/\\<>?:\"|*]+)+)$",
            "maxLength": 255
        },
        "recursive": {
            "type": "boolean"
        },
        "objectName": {
            "type": "string"
        },
        "objectType": {
            "javaType": "com.sos.joc.model.common.JobSchedulerObjectType",
            "type": "string",
            "enum": [
                "JOB",
                "JOBCHAIN",
                "ORDER",
                "PROCESSCLASS",
                "AGENTCLUSTER",
                "LOCK",
                "SCHEDULE",
                "WORKINGDAYSCALENDAR",
                "NONWORKINGDAYSCALENDAR",
                "FOLDER",
                "JOBSCHEDULER",
                "DOCUMENTATION",
                "MONITOR",
                "NODEPARAMS",
                "HOLIDAYS",
                "JOE",
                "OTHER"
            ]
        },
        "report": {
            "type": "array",
            "items": {
                "javaType": "com.sos.joc.model.joe.common.DeployMessage",
                "type": "object",
                "required": [
                    "action",
                    "path",
                    "objectType"
                ],
                "properties": {
                    "action": {
                        "javaType": "com.sos.joc.model.joe.common.DeployActionType",
                        "type": "string",
                        "enum": [
                            "DEPLOYED",
                            "DELETED",
                            "SKIPPED"
                        ]
                    },
                    "path": {
                        "description": "absolute path based on live folder of a JobScheduler object.",
                        "type": "string",
                        "pattern": "^(/|(/[^/\\<>?:\"|*]+)+)$",
                        "maxLength": 255
                    },
                    "objectType": {
                        "javaType": "com.sos.joc.model.common.JobSchedulerObjectType",
                        "type": "string",
                        "enum": [
                            "JOB",
                            "JOBCHAIN",
                            "ORDER",
                            "PROCESSCLASS",
                            "AGENTCLUSTER",
                            "LOCK",
                            "SCHEDULE",
                            "WORKINGDAYSCALENDAR",
                            "NONWORKINGDAYSCALENDAR",
                            "FOLDER",
                            "JOBSCHEDULER",
                            "DOCUMENTATION",
                            "MONITOR",
                            "NODEPARAMS",
                            "HOLIDAYS",
                            "JOE",
                            "OTHER"
                        ]
                    },
                    "failReason": {
                        "type": "object",
                        "javaType": "com.sos.joc.model.joe.common.DeployFailReason",
                        "required": [
                            "_key"
                        ],
                        "properties": {
                            "_key": {
                                "javaType": "com.sos.joc.model.joe.common.DeployFailReasonType",
                                "type": "string",
                                "enum": [
                                    "WRONG_OWNERSHIP",
                                    "MISSING_OBJECT_PERMISSIONS",
                                    "MISSING_FOLDER_PERMISSIONS",
                                    "INCOMPLETE_CONFIGURATION"
                                ]
                            },
                            "message": {
                                "type": "string"
                            },
                            "owner": {
                                "description": "useful to substitute in the WRONG_OWNERSHIP message",
                                "type": "string"
                            }
                        }
                    }
                }
            }
        }
    }
}