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

from __future__ import annotations

from enum import Enum

from pydantic import BaseModel, Field, RootModel


class ProcessingStatus(Enum):
    COMPLETED = 'COMPLETED'
    PENDING = 'PENDING'
    FAILED = 'FAILED'


class Kind(RootModel[str]):
    root: str


class ExtendedProcessingTask1(BaseModel):
    comment: str | None = None


class ProcessingStatusUnion(BaseModel):
    id: int | None = None
    description: str | None = None


class ProcessingTask(BaseModel):
    processing_status_union: (
        ProcessingStatusUnion | ExtendedProcessingTask | ProcessingStatus | None
    ) = Field('COMPLETED', validate_default=True)
    processing_status: ProcessingStatus | None = 'COMPLETED'
    name: str | None = None
    kind: Kind | None = None


class Model(RootModel[list[ProcessingTask]]):
    root: list[ProcessingTask]


class ExtendedProcessingTask(RootModel[Model | ExtendedProcessingTask1]):
    root: Model | ExtendedProcessingTask1


class ExtendedProcessingTasks(RootModel[list[ExtendedProcessingTask]]):
    root: list[ExtendedProcessingTask]


ProcessingTask.model_rebuild()
