mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-15 12:37:18 +00:00
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
# generated by datamodel-codegen:
|
|
# filename: schema/entity/services/messagingService.json
|
|
# timestamp: 2021-10-12T00:34:28+00:00
|
|
|
|
from __future__ import annotations
|
|
|
|
from enum import Enum
|
|
from typing import List, Optional
|
|
|
|
from pydantic import AnyUrl, BaseModel, Field, constr
|
|
|
|
from ...type import basic, schedule
|
|
|
|
|
|
class MessagingServiceType(Enum):
|
|
Kafka = 'Kafka'
|
|
Pulsar = 'Pulsar'
|
|
|
|
|
|
class Brokers(BaseModel):
|
|
__root__: List[str] = Field(
|
|
...,
|
|
description='Multiple bootstrap addresses for Kafka. Single proxy address for Pulsar.',
|
|
)
|
|
|
|
|
|
class MessagingService(BaseModel):
|
|
id: basic.Uuid = Field(
|
|
..., description='Unique identifier of this messaging service instance.'
|
|
)
|
|
name: constr(min_length=1, max_length=64) = Field(
|
|
..., description='Name that identifies this messaging service.'
|
|
)
|
|
serviceType: MessagingServiceType = Field(
|
|
..., description='Type of messaging service such as Kafka or Pulsar...'
|
|
)
|
|
description: Optional[str] = Field(
|
|
None, description='Description of a messaging service instance.'
|
|
)
|
|
brokers: Brokers = Field(
|
|
...,
|
|
description='Multiple bootstrap addresses for Kafka. Single proxy address for Pulsar.',
|
|
)
|
|
schemaRegistry: Optional[AnyUrl] = Field(None, description='Schema registry URL.')
|
|
ingestionSchedule: Optional[schedule.Schedule] = Field(
|
|
None, description='Schedule for running metadata ingestion jobs.'
|
|
)
|
|
href: Optional[basic.Href] = Field(
|
|
None,
|
|
description='Link to the resource corresponding to this messaging service.',
|
|
)
|