# generated by datamodel-codegen:
#   filename:  entity/services/connections/messaging/customMessagingConnection.json
#   timestamp: 2022-10-03T15:16:21+00:00

from __future__ import annotations

from enum import Enum
from typing import Optional

from pydantic import BaseModel, Extra, Field

from .. import connectionBasicType


class CustomMessagingType(Enum):
    CustomMessaging = 'CustomMessaging'


class CustomMessagingConnection(BaseModel):
    class Config:
        extra = Extra.forbid

    type: CustomMessagingType = Field(
        ..., description='Custom messaging service type', title='Service Type'
    )
    sourcePythonClass: str = Field(
        ...,
        description='Source Python Class Name to instantiated by the ingestion workflow',
        title='Source Python Class Name',
    )
    connectionOptions: Optional[connectionBasicType.ConnectionOptions] = Field(
        None, title='Connection Options'
    )
