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

from __future__ import annotations
from .ipmi_commandpayload_commandnumber import (
    IpmiCommandPayloadCommandNumber,
    IpmiCommandPayloadCommandNumberTypedDict,
)
from .ipmi_commandpayload_packednetfn import (
    IpmiCommandPayloadPackedNetFn,
    IpmiCommandPayloadPackedNetFnTypedDict,
)
from censys_platform.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class IpmiCommandPayloadTypedDict(TypedDict):
    checksum_error: NotRequired[bool]
    r"""This is set to true if the values of chk1 / chk2 do not match the command data"""
    data: NotRequired[str]
    r"""The raw data. On success, this should be the value of the GetAuthenticationCapabilities resopnse"""
    ipmi_command_number: NotRequired[IpmiCommandPayloadCommandNumberTypedDict]
    network_function_code: NotRequired[IpmiCommandPayloadPackedNetFnTypedDict]
    requestor_sequence_number: NotRequired[int]
    r"""The request sequence number."""


class IpmiCommandPayload(BaseModel):
    checksum_error: Optional[bool] = None
    r"""This is set to true if the values of chk1 / chk2 do not match the command data"""

    data: Optional[str] = None
    r"""The raw data. On success, this should be the value of the GetAuthenticationCapabilities resopnse"""

    ipmi_command_number: Optional[IpmiCommandPayloadCommandNumber] = None

    network_function_code: Optional[IpmiCommandPayloadPackedNetFn] = None

    requestor_sequence_number: Optional[int] = None
    r"""The request sequence number."""
