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

from __future__ import annotations
from .ipmi_commandpayload_packednetfn_logicalunitnumber import (
    IpmiCommandPayloadPackedNetFnLogicalUnitNumber,
    IpmiCommandPayloadPackedNetFnLogicalUnitNumberTypedDict,
)
from .ipmi_commandpayload_packednetfn_netfn import (
    IpmiCommandPayloadPackedNetFnNetFn,
    IpmiCommandPayloadPackedNetFnNetFnTypedDict,
)
from censys_platform.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class IpmiCommandPayloadPackedNetFnTypedDict(TypedDict):
    logical_unit_number: NotRequired[
        IpmiCommandPayloadPackedNetFnLogicalUnitNumberTypedDict
    ]
    net_fn: NotRequired[IpmiCommandPayloadPackedNetFnNetFnTypedDict]
    raw: NotRequired[int]
    r"""The raw value of the (NetFn << 2) | LUN"""


class IpmiCommandPayloadPackedNetFn(BaseModel):
    logical_unit_number: Optional[IpmiCommandPayloadPackedNetFnLogicalUnitNumber] = None

    net_fn: Optional[IpmiCommandPayloadPackedNetFnNetFn] = None

    raw: Optional[int] = None
    r"""The raw value of the (NetFn << 2) | LUN"""
