{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$ref": "#/definitions/strmprivacy.api.entities.v1.Schema.SimpleSchemaDefinition",
  "definitions": {
    "strmprivacy.api.entities.v1.Schema.SimpleSchemaDefinition": {
      "type": "object",
      "properties": {
        "avroName": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.Schema.SimpleSchemaDefinition/definitions/avro_name"
        },
        "doc": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.Schema.SimpleSchemaDefinition/definitions/doc"
        },
        "name": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.Schema.SimpleSchemaDefinition/definitions/name"
        },
        "namespace": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.Schema.SimpleSchemaDefinition/definitions/namespace"
        },
        "nodes": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.Schema.SimpleSchemaDefinition/definitions/nodes"
        }
      },
      "patternProperties": {
        "^avro_name$": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.Schema.SimpleSchemaDefinition/definitions/avro_name"
        }
      },
      "additionalProperties": {
        "title": "Unknown field"
      },
      "definitions": {
        "avro_name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "string avro_name = 5;",
          "description": "avro compatible name set by creator OR derived from name (thus ignore_empty = true)",
          "default": ""
        },
        "doc": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "string doc = 3;",
          "default": ""
        },
        "name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "string name = 1;",
          "description": "constraints: printable characters",
          "default": ""
        },
        "namespace": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "string namespace = 2;",
          "description": "constraints:\ndot separated sequence of name constraints\nmust be Avro compatible. When absent becomes <handle>.<name>.v<version>",
          "default": ""
        },
        "nodes": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNode",
                "title": "strmprivacy.api.entities.v1.SimpleSchemaNode",
                "default": {
                  
                }
              }
            },
            {
              "type": "null"
            }
          ],
          "title": "repeated strmprivacy.api.entities.v1.SimpleSchemaNode nodes = 4;",
          "default": [
            {
              
            }
          ]
        }
      },
      "description": "constraints: overall size < 100000 TBD"
    },
    "strmprivacy.api.entities.v1.SimpleSchemaNode": {
      "type": "object",
      "properties": {
        "avroName": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNode/definitions/avro_name"
        },
        "doc": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNode/definitions/doc"
        },
        "name": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNode/definitions/name"
        },
        "nodes": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNode/definitions/nodes"
        },
        "repeated": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNode/definitions/repeated"
        },
        "required": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNode/definitions/required"
        },
        "type": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNode/definitions/type"
        }
      },
      "patternProperties": {
        "^avro_name$": {
          "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNode/definitions/avro_name"
        }
      },
      "additionalProperties": {
        "title": "Unknown field"
      },
      "definitions": {
        "avro_name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "string avro_name = 7;",
          "description": "avro compatible name set by creator OR derived from name",
          "default": ""
        },
        "doc": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "string doc = 6;",
          "description": "constraints:\nsize < 5000",
          "default": ""
        },
        "name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "string name = 2;",
          "description": "constraints: same as SimpleSchemaDefinition",
          "default": ""
        },
        "nodes": {
          "oneOf": [
            {
              "type": "array",
              "items": {
                "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNode",
                "title": "strmprivacy.api.entities.v1.SimpleSchemaNode",
                "default": {
                  
                }
              }
            },
            {
              "type": "null"
            }
          ],
          "title": "repeated strmprivacy.api.entities.v1.SimpleSchemaNode nodes = 5;",
          "default": [
            {
              
            }
          ]
        },
        "repeated": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "bool repeated = 3;",
          "default": false
        },
        "required": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "bool required = 4;",
          "default": false
        },
        "type": {
          "oneOf": [
            {
              "$ref": "#/definitions/strmprivacy.api.entities.v1.SimpleSchemaNodeType"
            },
            {
              "type": "null"
            }
          ],
          "title": "strmprivacy.api.entities.v1.SimpleSchemaNodeType type = 1;",
          "default": "SIMPLE_SCHEMA_NODE_TYPE_UNSPECIFIED"
        }
      }
    },
    "strmprivacy.api.entities.v1.SimpleSchemaNodeType": {
      "enum": [
        "SIMPLE_SCHEMA_NODE_TYPE_UNSPECIFIED",
        0,
        "STRING",
        1,
        "BOOLEAN",
        2,
        "FLOAT",
        3,
        "INTEGER",
        4,
        "LONG",
        5,
        "NODE",
        10
      ],
      "markdownEnumDescriptions": [
        "(or 0) ",
        "(or \"SIMPLE_SCHEMA_NODE_TYPE_UNSPECIFIED\") ",
        "(or 1) ",
        "(or \"STRING\") ",
        "(or 2) ",
        "(or \"BOOLEAN\") ",
        "(or 3) ",
        "(or \"FLOAT\") ",
        "(or 4) ",
        "(or \"INTEGER\") ",
        "(or 5) ",
        "(or \"LONG\") ",
        "(or 10) ",
        "(or \"NODE\") "
      ]
    }
  },
  "title": "strmprivacy.api.entities.v1.Schema.SimpleSchemaDefinition"
}