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

from typing import List, Optional

from pydantic import Field

from .base_model import BaseModel


class DeviceGroupUpsert(BaseModel):
    device_group_upsert: Optional["DeviceGroupUpsertDeviceGroupUpsert"] = Field(
        alias="deviceGroupUpsert"
    )


class DeviceGroupUpsertDeviceGroupUpsert(BaseModel):
    device_group: Optional["DeviceGroupUpsertDeviceGroupUpsertDeviceGroup"] = Field(
        alias="deviceGroup"
    )


class DeviceGroupUpsertDeviceGroupUpsertDeviceGroup(BaseModel):
    id: str
    name: Optional[str]
    description: Optional[str]
    title: Optional[str]
    devices: Optional[
        List[Optional["DeviceGroupUpsertDeviceGroupUpsertDeviceGroupDevices"]]
    ]


class DeviceGroupUpsertDeviceGroupUpsertDeviceGroupDevices(BaseModel):
    id: str
    hostname: Optional[str]
    ip: Optional[str]


DeviceGroupUpsert.model_rebuild()
DeviceGroupUpsertDeviceGroupUpsert.model_rebuild()
DeviceGroupUpsertDeviceGroupUpsertDeviceGroup.model_rebuild()
