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

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


class CpeTypedDict(TypedDict):
    cpe: NotRequired[str]
    edition: NotRequired[str]
    life_cycle: NotRequired[CPELifeCycleTypedDict]
    part: NotRequired[str]
    product: NotRequired[str]
    update: NotRequired[str]
    vendor: NotRequired[str]
    version: NotRequired[str]


class Cpe(BaseModel):
    cpe: Optional[str] = None

    edition: Optional[str] = None

    life_cycle: Optional[CPELifeCycle] = None

    part: Optional[str] = None

    product: Optional[str] = None

    update: Optional[str] = None

    vendor: Optional[str] = None

    version: Optional[str] = None
