{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "The chunk processor description.",
    "type": "object",
    "additionalProperties": false,
    "required": [
        "keyHashFields",
        "keyHashName"
    ],
    "definitions": {
        "severity": {
            "type": "string",
            "enum": [
                "abort_file",
                "abort_scope",
                "skip_record",
                "skip_field"
            ]
        }
    },
    "properties": {
        "keyHashFields": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "string"
            },
            "_uniqueItems": true
        },
        "keyHashName": {
            "type": "string"
        },
        "contentHashFields": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "string"
            },
            "_uniqueItems": true
        },
        "contentHashName": {
            "type": "string"
        },
        "scopeHashFields": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "string"
            },
            "_uniqueItems": true
        },
        "scopeHashName": {
            "type": "string"
        },
        "multiRowFields": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "_uniqueItems": true
        },
        "checks": {
            "double_rows_same": {
                "$ref": "#/definitions/severity"
            },
            "double_rows_different": {
                "$ref": "#/definitions/severity"
            }
        }
    }
}