1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
# generated by datamodel-codegen:
# filename: enum_models.yaml
# timestamp: 2019-07-26T00:00:00+00:00
from __future__ import annotations
from typing import List, Literal, Optional, Union
from pydantic import BaseModel, Field
class Pet(BaseModel):
id: int
name: str
tag: Optional[str] = None
kind: Optional[Literal['dog', 'cat']] = None
type: Optional[Literal['animal']] = None
number: Literal[1]
boolean: Literal[True]
class Pets(BaseModel):
__root__: List[Pet]
class Animal(BaseModel):
kind: Optional[Literal['snake', 'rabbit']] = None
class Error(BaseModel):
code: int
message: str
class EnumObject(BaseModel):
type: Optional[Literal['a', 'b']] = None
class EnumRoot(BaseModel):
__root__: Literal['a', 'b']
class IntEnum(BaseModel):
__root__: Literal[1, 2]
class AliasEnum(BaseModel):
__root__: Literal[1, 2, 3]
class MultipleTypeEnum(BaseModel):
__root__: Literal['red', 'amber', 'green', 42]
class SingleEnum(BaseModel):
__root__: Literal['pet']
class ArrayEnum(BaseModel):
__root__: List[Union[Literal['cat'], Literal['dog']]]
class NestedNullableEnum(BaseModel):
nested_version: Optional[
Literal['RC1', 'RC1N', 'RC2', 'RC2N', 'RC3', 'RC4']
] = Field('RC1', description='nullable enum', example='RC2')
class Version(BaseModel):
__root__: Optional[Literal['RC1', 'RC1N', 'RC2', 'RC2N', 'RC3', 'RC4']] = Field(
'RC1', description='nullable enum', example='RC2'
)
|