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

from __future__ import annotations

from typing import Dict, Optional, Union

from pydantic import BaseModel, Field


class Interval(BaseModel):
    start: Optional[int] = None
    end: Optional[int] = None


class Container(BaseModel):
    interval_or_string: Optional[Union[Interval, str]] = Field(
        default_factory=lambda: Interval.model_validate({'start': 2009, 'end': 2019})
    )
    string_or_interval: Optional[Union[Interval, str]] = 'some string value'
    dict_or_interval: Optional[Union[Dict[str, str], Interval]] = {'key': 'value'}
