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

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel
from .enums import ProviderTypeEnum, RunOnEnum


class Providers(BaseModel):
    neops_task_provider: Optional["ProvidersNeopsTaskProvider"] = Field(
        alias="neopsTaskProvider"
    )


class ProvidersNeopsTaskProvider(BaseModel):
    results: Optional[List[Optional["ProvidersNeopsTaskProviderResults"]]]


class ProvidersNeopsTaskProviderResults(BaseModel):
    name: Optional[str]
    description: Optional[str]
    run_on: Optional[RunOnEnum] = Field(alias="runOn")
    run_on_strict: Optional[bool] = Field(alias="runOnStrict")
    run_on_all_if_empty: Optional[bool] = Field(alias="runOnAllIfEmpty")
    provider_type: Optional[ProviderTypeEnum] = Field(alias="providerType")
    full_qualified_name: Optional[str] = Field(alias="fullQualifiedName")
    json_schema: Optional[Any] = Field(alias="jsonSchema")
    module: Optional[str]
    short_description: Optional[str] = Field(alias="shortDescription")
    deprecated: Optional[bool]


Providers.model_rebuild()
ProvidersNeopsTaskProvider.model_rebuild()
