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


class CloudapiExtnetGetResultModel(_base.BaseAPIResultModel):
    check_ips: list[str]
    default_qos: _nested.QOSAPIResultNM
    default: bool
    description: str
    dhcp_excluded_reservations: list[_nested.DHCPReservationAPIResultNM]
    dhcp_reservations: list[_nested.DHCPReservationAPIResultNM]
    dns_servers: list[str]
    free_ip_count: int
    gateway: str
    grid_id: int
    guid: int
    id: int
    ip_cidr: str
    milestones: int
    mtu: int
    name: str
    net_ip: str
    net_prefix: int
    network_ids: _nested.NetworkIDsAPIResultNM
    ntp_servers: list[str]
    ovs_bridge: str
    pre_reservation_count: int
    pre_reservations: list[_nested.DHCPReservationAPIResultNM]
    primary_vnfdev_id: int
    redundant: bool
    secondary_vnfdev_id: int
    security_group_mode: bool
    shared_with: list[int]
    status: _nested.ExtNetStatus
    vlan_id: int
    vnf_ids_by_type: dict[str, int]
    zone_id: int


class CloudapiExtnetGetProtocol(_base.BasePostAPIFunctionProtocol):
    def get(
        self,
        *,
        ext_net_id: int,
    ) -> CloudapiExtnetGetResultModel:
        ...
