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

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


class IpmiCommandPayloadPackedNetFnNetFnTypedDict(TypedDict):
    is_request: NotRequired[bool]
    r"""True if the least-significant bit is zero"""
    is_response: NotRequired[bool]
    r"""True if the least-significant bit is one"""
    name: NotRequired[str]
    r"""The human-readable name of the NetFn"""
    raw: NotRequired[int]
    r"""The raw value of the NetFn (6 bits, least significant indicates request/response)"""
    value: NotRequired[int]
    r"""The normalized value of the NetFn (i.e. raw & 0xfe, so it is always even)"""


class IpmiCommandPayloadPackedNetFnNetFn(BaseModel):
    is_request: Optional[bool] = None
    r"""True if the least-significant bit is zero"""

    is_response: Optional[bool] = None
    r"""True if the least-significant bit is one"""

    name: Optional[str] = None
    r"""The human-readable name of the NetFn"""

    raw: Optional[int] = None
    r"""The raw value of the NetFn (6 bits, least significant indicates request/response)"""

    value: Optional[int] = None
    r"""The normalized value of the NetFn (i.e. raw & 0xfe, so it is always even)"""
