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

from typing import Any, List, Optional

from pydantic import Field

from .base_model import BaseModel


class DeviceGroupElastic(BaseModel):
    groups_elastic: Optional["DeviceGroupElasticGroupsElastic"] = Field(
        alias="groupsElastic"
    )


class DeviceGroupElasticGroupsElastic(BaseModel):
    total_count: Optional[int] = Field(alias="totalCount")
    results: Optional[List[Optional["DeviceGroupElasticGroupsElasticResults"]]]


class DeviceGroupElasticGroupsElasticResults(BaseModel):
    id: str
    name: Optional[str]
    title: Optional[str]
    description: Optional[str]
    location: Optional["DeviceGroupElasticGroupsElasticResultsLocation"]
    device_count: Optional[int] = Field(alias="deviceCount")
    checks: Optional[Any]
    facts: Optional[Any]


class DeviceGroupElasticGroupsElasticResultsLocation(BaseModel):
    id: str
    address: Optional[str]
    city: Optional[str]
    zip_code: Optional[str] = Field(alias="zipCode")
    lon: Optional[float]
    lat: Optional[float]


DeviceGroupElastic.model_rebuild()
DeviceGroupElasticGroupsElastic.model_rebuild()
DeviceGroupElasticGroupsElasticResults.model_rebuild()
