import dynamix_sdk.base as _base
import dynamix_sdk.api._nested as _nested


class CloudapiZoneGetResultModel(_base.BaseAPIResultModel):
    account_ids: list[int]
    bservice_ids: list[int]
    created_timestamp: int
    deletable: bool
    description: str
    extnet_ids: list[int]
    grid_id: int
    guid: int
    id: int
    k8s_ids: list[int]
    lb_ids: list[int]
    name: str
    node_ids: list[int]
    status: _nested.ZoneStatus
    updated_timestamp: int
    vins_ids: list[int]
    vm_ids: list[int]

    @property
    def created_datetime(self):
        return self._get_datetime_from_timestamp(self.created_timestamp)

    @property
    def updated_datetime(self):
        return self._get_datetime_from_timestamp(self.updated_timestamp)


class CloudapiZoneGetProtocol(_base.BasePostAPIFunctionProtocol):
    def get(
        self,
        *,
        id: int,
    ) -> CloudapiZoneGetResultModel:
        ...
