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

from __future__ import annotations
from censys_platform.types import BaseModel
from enum import Enum
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class HTTPRedirectChainLinkTransportProtocol(str, Enum):
    UNKNOWN = ""
    TCP = "tcp"
    UDP = "udp"
    ICMP = "icmp"
    QUIC = "quic"


class HTTPRedirectChainLinkTypedDict(TypedDict):
    hostname: NotRequired[str]
    path: NotRequired[str]
    port: NotRequired[int]
    reason: NotRequired[str]
    transport_protocol: NotRequired[HTTPRedirectChainLinkTransportProtocol]


class HTTPRedirectChainLink(BaseModel):
    hostname: Optional[str] = None

    path: Optional[str] = None

    port: Optional[int] = None

    reason: Optional[str] = None

    transport_protocol: Optional[HTTPRedirectChainLinkTransportProtocol] = None
