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

from __future__ import annotations
from enum import Enum
from outpost_sdk.types import BaseModel
from outpost_sdk.utils import FieldMetadata, PathParamMetadata
from typing_extensions import Annotated, TypedDict


class GetDestinationTypeSchemaType(str, Enum):
    r"""The type of the destination."""

    WEBHOOK = "webhook"
    AWS_SQS = "aws_sqs"
    RABBITMQ = "rabbitmq"
    HOOKDECK = "hookdeck"
    AWS_KINESIS = "aws_kinesis"
    AZURE_SERVICEBUS = "azure_servicebus"
    AWS_S3 = "aws_s3"
    GCP_PUBSUB = "gcp_pubsub"


class GetDestinationTypeSchemaRequestTypedDict(TypedDict):
    type: GetDestinationTypeSchemaType
    r"""The type of the destination."""


class GetDestinationTypeSchemaRequest(BaseModel):
    type: Annotated[
        GetDestinationTypeSchemaType,
        FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
    ]
    r"""The type of the destination."""
