{
    "additionalProperties": false,
    "properties": {
        "data": {
            "additionalProperties": false,
            "properties": {
                "name": {
                    "type": "string"
                },
                "tasks": {
                    "items": {
                        "additionalProperties": false,
                        "properties": {
                            "arguments": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "command": {
                                "type": "string"
                            },
                            "dependsOn": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "executor": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "onResult": {
                                "additionalProperties": false,
                                "properties": {
                                    "continueJob": {
                                        "items": {
                                            "maximum": 32767,
                                            "minimum": 0,
                                            "type": "integer"
                                        },
                                        "type": "array"
                                    },
                                    "terminateJobWithSuccess": {
                                        "items": {
                                            "maximum": 32767,
                                            "minimum": 0,
                                            "type": "integer"
                                        },
                                        "type": "array"
                                    }
                                },
                                "required": [
                                    "terminateJobWithSuccess",
                                    "continueJob"
                                ],
                                "type": "object"
                            }
                        },
                        "required": [
                            "executor",
                            "dependsOn",
                            "command",
                            "arguments",
                            "name",
                            "onResult"
                        ],
                        "type": "object"
                    },
                    "type": "array"
                }
            },
            "required": [
                "name",
                "tasks"
            ],
            "type": "object"
        },
        "schema": {
            "pattern": "^iglu:[a-zA-Z0-9-_.]+/[a-zA-Z0-9-_]+/[a-zA-Z0-9-_]+/[0-9]+-[0-9]+-[0-9]+$",
            "type": "string"
        }
    },
    "required": [
        "schema",
        "data"
    ],
    "self": {
        "format": "jsonschema",
        "name": "factfile",
        "vendor": "com.snowplowanalytics.factotum",
        "version": "1-0-0"
    },
    "type": "object"
}