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

from __future__ import annotations

from typing import List, Optional, Union

from pydantic import BaseModel, Field, conint

from .definitions import food as food_1
from .definitions import friends as friends_1
from .definitions.drink import coffee, tea
from .definitions.machine import robot as robot_1
from .definitions.relative.animal.pet import pet


class Person(BaseModel):
    first_name: str = Field(..., description="The person's first name.")
    last_name: str = Field(..., description="The person's last name.")
    age: Optional[conint(ge=0)] = Field(None, description='Age in years.')
    pets: Optional[List[pet.Pet]] = None
    friends: Optional[friends_1.Friends] = None
    robot: Optional[robot_1.Robot] = None
    comment: None = None
    drink: Optional[List[Union[coffee.Coffee, tea.Tea]]] = None
    food: Optional[List[Union[food_1.Noodle, food_1.Soup]]] = None


Person.update_forward_refs()
