# generated by datamodel-codegen:
#   filename:  schema.json
#   timestamp: 2019-07-26T00:00:00+00:00

from __future__ import annotations

from typing import Literal

from pydantic import BaseModel, Field


class Type1(BaseModel):
    type_: Literal['a'] = Field('a', title='Type ')


class Type2(BaseModel):
    type_: Literal['b'] = Field('b', title='Type ')
    ref_type: Type1 | None = Field(None, description='A referenced type.')


class Type4(BaseModel):
    type_: Literal['d'] = Field('d', title='Type ')


class Type5(BaseModel):
    type_: Literal['e'] = Field('e', title='Type ')


class Type3(BaseModel):
    type_: Literal['c'] = Field('c', title='Type ')


class Response(BaseModel):
    inner: Type1 | Type2 | Type3 | Type4 | Type5 = Field(
        ..., discriminator='type_', title='Inner'
    )
