{
    "title": "job return code meaning",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.inventory.model.job.JobReturnCode",
    "type": "object",
    "extends": {
        "javaType": "com.sos.inventory.model.job.JobReturnCodeWarning",
        "type": "object",
        "properties": {
            "warning": {
                "oneOf": [
                    {
                        "type": "array",
                        "minItems": 1,
                        "items": {
                            "type": "integer"
                        }
                    },
                    {
                        "type": "string",
                        "pattern": "^-?[0-9]+(\\.\\.-?[0-9]+)?(, *-?[0-9]+(\\.\\.-?[0-9]+)?)*$"
                    }
                ]
            }
        },
        "additionalProperties": false
    },
    "anyOf": [
        {
            "required": [
                "success"
            ]
        },
        {
            "required": [
                "failure"
            ]
        },
        {
            "required": [
                "warning"
            ]
        }
    ],
    "properties": {
        "success": {
            "oneOf": [
                {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer"
                    }
                },
                {
                    "type": "string",
                    "pattern": "^-?[0-9]+(\\.\\.-?[0-9]+)?(, *-?[0-9]+(\\.\\.-?[0-9]+)?)*$"
                }
            ]
        },
        "failure": {
            "oneOf": [
                {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "type": "integer"
                    }
                },
                {
                    "type": "string",
                    "pattern": "^-?[0-9]+(\\.\\.-?[0-9]+)?(, *-?[0-9]+(\\.\\.-?[0-9]+)?)*$"
                }
            ]
        }
    },
    "additionalProperties": false
}