{
    "definitions": {
        "column": {
            "properties": {
                "elasticsearch_options": {
                    "type": "object"
                },
                "postgresql_options": {
                    "type": "object"
                },
                "type": {
                    "enum": [
                        "uuid",
                        "string",
                        "text",
                        "point",
                        "linestring",
                        "polygon",
                        "date",
                        "datetime",
                        "float",
                        "integer",
                        "boolean",
                        "json",
                        "uuid[]",
                        "string[]",
                        "text[]",
                        "point[]",
                        "linestring[]",
                        "polygon[]",
                        "date[]",
                        "datetime[]",
                        "float[]",
                        "integer[]",
                        "boolean[]",
                        "json[]"
                    ]
                },
                "validation": {
                    "type": "object"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        }
    },
    "description": "A blueprint as defined by dstore",
    "properties": {
        "columns": {
            "additionalProperties": {
                "$ref": "#/definitions/column"
            }
        },
        "elasticsearch": {
            "properties": {
                "type": {
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "leveldb": {
            "properties": {
                "type": {
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "postgresql": {
            "properties": {
                "table": {
                    "type": "string"
                }
            },
            "required": [
                "table"
            ],
            "type": "object"
        }
    },
    "required": [
        "elasticsearch",
        "postgresql",
        "leveldb",
        "columns"
    ],
    "type": "object"
}