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

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class Scopes(BaseModel):
    scopes: Optional["ScopesScopes"]


class ScopesScopes(BaseModel):
    results: Optional[List[Optional["ScopesScopesResults"]]]


class ScopesScopesResults(BaseModel):
    id: str
    name: Optional[str]
    all_tasks: Optional[bool] = Field(alias="allTasks")
    description: Optional[str]
    groupfilter: Optional[str]
    devicefilter: Optional[str]
    interfacefilter: Optional[str]
    clientfilter: Optional[str]
    groupcolumns: Optional[str]
    devicecolumns: Optional[str]
    interfacecolumns: Optional[str]
    clientcolumns: Optional[str]
    show_clients: Optional[bool] = Field(alias="showClients")
    show_devices: Optional[bool] = Field(alias="showDevices")
    show_groups: Optional[bool] = Field(alias="showGroups")
    location_drill_down_attribute_schema: Optional[str] = Field(
        alias="locationDrillDownAttributeSchema"
    )
    show_interfaces: Optional[bool] = Field(alias="showInterfaces")
    show_topology: Optional[bool] = Field(alias="showTopology")
    dashboard_configuration: Optional[Any] = Field(alias="dashboardConfiguration")
    tasks: Optional[List[Optional["ScopesScopesResultsTasks"]]]


class ScopesScopesResultsTasks(BaseModel):
    id: str
    name: Optional[str]
    is_check: Optional[bool] = Field(alias="isCheck")
    is_task: Optional[bool] = Field(alias="isTask")


Scopes.model_rebuild()
ScopesScopes.model_rebuild()
ScopesScopesResults.model_rebuild()
