{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Internal", "oneOf": [ { "type": "object", "required": [ "typeProperty" ], "properties": { "typeProperty": { "type": "string", "enum": [ "UnitOne" ] } }, "additionalProperties": false }, { "type": "object", "required": [ "typeProperty" ], "properties": { "typeProperty": { "type": "string", "enum": [ "StringMap" ] } }, "additionalProperties": { "type": "string" } }, { "type": "object", "required": [ "typeProperty" ], "properties": { "typeProperty": { "type": "string", "enum": [ "UnitStructNewType" ] } }, "additionalProperties": false }, { "type": "object", "required": [ "bar", "foo", "typeProperty" ], "properties": { "bar": { "type": "boolean" }, "foo": { "type": "integer", "format": "int32" }, "typeProperty": { "type": "string", "enum": [ "StructNewType" ] } } }, { "type": "object", "required": [ "bar", "foo", "typeProperty" ], "properties": { "bar": { "type": "boolean" }, "foo": { "type": "integer", "format": "int32" }, "typeProperty": { "type": "string", "enum": [ "Struct" ] } }, "additionalProperties": false }, { "type": "object", "required": [ "typeProperty" ], "properties": { "typeProperty": { "type": "string", "enum": [ "UnitTwo" ] } }, "additionalProperties": false }, { "type": [ "object", "integer" ], "format": "int32", "required": [ "typeProperty" ], "properties": { "typeProperty": { "type": "string", "enum": [ "WithInt" ] } }, "additionalProperties": false } ] }