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

from __future__ import annotations
from .ipmi_capabilities import IpmiCapabilities, IpmiCapabilitiesTypedDict
from .ipmi_commandpayload import IpmiCommandPayload, IpmiCommandPayloadTypedDict
from .ipmi_rmcpheader import IpmiRMCPHeader, IpmiRMCPHeaderTypedDict
from .ipmi_sessionheader import IpmiSessionHeader, IpmiSessionHeaderTypedDict
from censys_platform.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class IpmiTypedDict(TypedDict):
    capabilities: NotRequired[IpmiCapabilitiesTypedDict]
    command_payload: NotRequired[IpmiCommandPayloadTypedDict]
    raw: NotRequired[str]
    r"""The raw data returned by the server"""
    rmcp_header: NotRequired[IpmiRMCPHeaderTypedDict]
    session_header: NotRequired[IpmiSessionHeaderTypedDict]


class Ipmi(BaseModel):
    capabilities: Optional[IpmiCapabilities] = None

    command_payload: Optional[IpmiCommandPayload] = None

    raw: Optional[str] = None
    r"""The raw data returned by the server"""

    rmcp_header: Optional[IpmiRMCPHeader] = None

    session_header: Optional[IpmiSessionHeader] = None
