"""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 IpmiCapabilitiesSupportedAuthTypesTypedDict(TypedDict):
    extended: NotRequired[bool]
    r"""If true, the extended capabilities are present."""
    md2: NotRequired[bool]
    r"""True if the MD2 AuthType is supported."""
    md5: NotRequired[bool]
    r"""True if the MD5 AuthType is supported."""
    none: NotRequired[bool]
    r"""True if the None AuthType is supported."""
    oem_proprietary: NotRequired[bool]
    r"""True if the OEM Proprietary AuthType is supported"""
    password: NotRequired[bool]
    r"""True if the Password AuthType is supported."""
    raw: NotRequired[int]
    r"""The raw byte, with the bit mask etc"""


class IpmiCapabilitiesSupportedAuthTypes(BaseModel):
    extended: Optional[bool] = None
    r"""If true, the extended capabilities are present."""

    md2: Optional[bool] = None
    r"""True if the MD2 AuthType is supported."""

    md5: Optional[bool] = None
    r"""True if the MD5 AuthType is supported."""

    none: Optional[bool] = None
    r"""True if the None AuthType is supported."""

    oem_proprietary: Optional[bool] = None
    r"""True if the OEM Proprietary AuthType is supported"""

    password: Optional[bool] = None
    r"""True if the Password AuthType is supported."""

    raw: Optional[int] = None
    r"""The raw byte, with the bit mask etc"""
