# Generated by ariadne-codegen
# Source: ../graphql

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import NeopsTaskCronJobExecuteTypeEnum


class NeopsTaskCronjobs(BaseModel):
    neops_task_cronjob: Optional["NeopsTaskCronjobsNeopsTaskCronjob"] = Field(
        alias="neopsTaskCronjob"
    )


class NeopsTaskCronjobsNeopsTaskCronjob(BaseModel):
    results: Optional[List[Optional["NeopsTaskCronjobsNeopsTaskCronjobResults"]]]


class NeopsTaskCronjobsNeopsTaskCronjobResults(BaseModel):
    id: str
    name: Optional[str]
    description: Optional[str]
    created_at: Optional[Any] = Field(alias="createdAt")
    neops_task: Optional["NeopsTaskCronjobsNeopsTaskCronjobResultsNeopsTask"] = Field(
        alias="neopsTask"
    )
    neops_task_args: Optional[Any] = Field(alias="neopsTaskArgs")
    execute_type: Optional[NeopsTaskCronJobExecuteTypeEnum] = Field(alias="executeType")
    execute_times: Optional[Any] = Field(alias="executeTimes")
    element_filter: Optional[str] = Field(alias="elementFilter")


class NeopsTaskCronjobsNeopsTaskCronjobResultsNeopsTask(BaseModel):
    id: str
    name: Optional[str]
    task_run_input_schema: Optional[Any] = Field(alias="taskRunInputSchema")


NeopsTaskCronjobs.model_rebuild()
NeopsTaskCronjobsNeopsTaskCronjob.model_rebuild()
NeopsTaskCronjobsNeopsTaskCronjobResults.model_rebuild()
