"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .snmp_system_services import SnmpSystemServices, SnmpSystemServicesTypedDict
from censys_platform.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class SnmpSystemTypedDict(TypedDict):
    contact: NotRequired[str]
    r"""1.3.6.1.2.1.1.4 - Contact info"""
    desc: NotRequired[str]
    r"""1.3.6.1.2.1.1.1 - Description of entity"""
    init_time: NotRequired[int]
    r"""1.3.6.1.2.1.1.3 - 1/100ths of sec"""
    location: NotRequired[str]
    r"""1.3.6.1.2.1.1.6 - Physical location"""
    name: NotRequired[str]
    r"""1.3.6.1.2.1.1.5 - Name, usually FQDN"""
    object_id: NotRequired[str]
    r"""1.3.6.1.2.1.1.2 - Vendor ID"""
    services: NotRequired[SnmpSystemServicesTypedDict]


class SnmpSystem(BaseModel):
    contact: Optional[str] = None
    r"""1.3.6.1.2.1.1.4 - Contact info"""

    desc: Optional[str] = None
    r"""1.3.6.1.2.1.1.1 - Description of entity"""

    init_time: Optional[int] = None
    r"""1.3.6.1.2.1.1.3 - 1/100ths of sec"""

    location: Optional[str] = None
    r"""1.3.6.1.2.1.1.6 - Physical location"""

    name: Optional[str] = None
    r"""1.3.6.1.2.1.1.5 - Name, usually FQDN"""

    object_id: Optional[str] = None
    r"""1.3.6.1.2.1.1.2 - Vendor ID"""

    services: Optional[SnmpSystemServices] = None
