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

from __future__ import annotations
from .ipmi_sessionheader_authtype import (
    IpmiSessionHeaderAuthType,
    IpmiSessionHeaderAuthTypeTypedDict,
)
from censys_platform.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class IpmiSessionHeaderTypedDict(TypedDict):
    auth_code: NotRequired[str]
    r"""The 16-byte authentication code; not present if auth_type is None."""
    auth_type: NotRequired[IpmiSessionHeaderAuthTypeTypedDict]
    session_id: NotRequired[int]
    r"""The ID of this sessiod."""
    session_sequence_number: NotRequired[int]
    r"""The session sequence number of this packet in the session"""


class IpmiSessionHeader(BaseModel):
    auth_code: Optional[str] = None
    r"""The 16-byte authentication code; not present if auth_type is None."""

    auth_type: Optional[IpmiSessionHeaderAuthType] = None

    session_id: Optional[int] = None
    r"""The ID of this sessiod."""

    session_sequence_number: Optional[int] = None
    r"""The session sequence number of this packet in the session"""
