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

from __future__ import annotations

from enum import Enum

from pydantic import BaseModel, Field


class CustomNested_object_result(BaseModel):
    status: int


class CustomNested_enum_result(Enum):
    red = 'red'
    green = 'green'


class CustomOne_of_result(BaseModel):
    description: str | None = None


class CustomAny_of_result(BaseModel):
    description: str | None = None


class CustomUser(BaseModel):
    name: str | None = None


class CustomAll_of_result(CustomUser):
    description: str | None = None


class CustomModel(BaseModel):
    test_id: str = Field(..., description='test ID')
    test_ip: str = Field(..., description='test IP')
    result: dict[str, int]
    nested_object_result: dict[str, CustomNested_object_result]
    nested_enum_result: dict[str, CustomNested_enum_result]
    all_of_result: dict[str, CustomAll_of_result] | None = None
    one_of_result: dict[str, CustomUser | CustomOne_of_result] | None = None
    any_of_result: dict[str, CustomUser | CustomAny_of_result] | None = None
    all_of_with_unknown_object: dict[str, CustomUser] | None = None
    objectRef: dict[str, CustomUser] | None = None
    deepNestedObjectRef: dict[str, dict[str, dict[str, CustomUser]]] | None = None
