{
    "additionalProperties": false,
    "description": "Schema for an Iglu resolver's configuration",
    "properties": {
        "cacheSize": {
            "type": "number"
        },
        "cacheTtl": {
            "minimum": 1,
            "type": [
                "integer",
                "null"
            ]
        },
        "repositories": {
            "items": {
                "additionalProperties": false,
                "properties": {
                    "connection": {
                        "oneOf": [
                            {
                                "additionalProperties": false,
                                "properties": {
                                    "embedded": {
                                        "additionalProperties": false,
                                        "properties": {
                                            "path": {
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "path"
                                        ],
                                        "type": "object"
                                    }
                                },
                                "required": [
                                    "embedded"
                                ]
                            },
                            {
                                "additionalProperties": false,
                                "properties": {
                                    "http": {
                                        "additionalProperties": false,
                                        "properties": {
                                            "apikey": {
                                                "type": [
                                                    "string",
                                                    "null"
                                                ]
                                            },
                                            "uri": {
                                                "_format": "uri",
                                                "type": "string"
                                            }
                                        },
                                        "required": [
                                            "uri"
                                        ],
                                        "type": "object"
                                    }
                                },
                                "required": [
                                    "http"
                                ]
                            }
                        ],
                        "type": "object"
                    },
                    "name": {
                        "type": "string"
                    },
                    "priority": {
                        "type": "number"
                    },
                    "vendorPrefixes": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    }
                },
                "required": [
                    "name",
                    "priority",
                    "vendorPrefixes",
                    "connection"
                ],
                "type": "object"
            },
            "type": "array"
        }
    },
    "required": [
        "cacheSize",
        "repositories"
    ],
    "self": {
        "format": "jsonschema",
        "name": "resolver-config",
        "vendor": "com.snowplowanalytics.iglu",
        "version": "1-0-2"
    },
    "type": "object"
}