json.schema.entity.services.messagingService.json Maven / Gradle / Ivy
{
"$id": "https://open-metadata.org/schema/entity/services/messagingService.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Messaging Service",
"description": "This schema defines the Messaging Service entity, such as Kafka and Pulsar.",
"type": "object",
"javaType": "org.openmetadata.schema.entity.services.MessagingService",
"javaInterfaces": [
"org.openmetadata.schema.EntityInterface",
"org.openmetadata.schema.ServiceEntityInterface"
],
"definitions": {
"messagingServiceType": {
"description": "Type of messaging service - Kafka or Pulsar.",
"type": "string",
"javaInterfaces": ["org.openmetadata.schema.EnumInterface"],
"enum": ["Kafka", "Redpanda", "Kinesis", "CustomMessaging"],
"javaEnums": [
{
"name": "Kafka"
},
{
"name": "Redpanda"
},
{
"name": "Kinesis"
},
{
"name": "CustomMessaging"
}
]
},
"brokers": {
"description": "Multiple bootstrap addresses for Kafka. Single proxy address for Pulsar.",
"type": "array",
"items": {
"type": "string"
},
"default": null
},
"messagingConnection": {
"type": "object",
"javaType": "org.openmetadata.schema.type.MessagingConnection",
"description": "Dashboard Connection.",
"javaInterfaces": [
"org.openmetadata.schema.ServiceConnectionEntityInterface"
],
"properties": {
"config": {
"mask": true,
"oneOf": [
{
"$ref": "./connections/messaging/kafkaConnection.json"
},
{
"$ref": "./connections/messaging/redpandaConnection.json"
},
{
"$ref": "./connections/messaging/kinesisConnection.json"
},
{
"$ref": "connections/messaging/customMessagingConnection.json"
}
]
}
},
"additionalProperties": false
}
},
"properties": {
"id": {
"description": "Unique identifier of this messaging service instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
"description": "Name that identifies this messaging service.",
"$ref": "../../type/basic.json#/definitions/entityName"
},
"fullyQualifiedName": {
"description": "FullyQualifiedName same as `name`.",
"$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName"
},
"serviceType": {
"description": "Type of messaging service such as Kafka or Pulsar...",
"$ref": "#/definitions/messagingServiceType"
},
"description": {
"description": "Description of a messaging service instance.",
"$ref": "../../type/basic.json#/definitions/markdown"
},
"displayName": {
"description": "Display Name that identifies this messaging service. It could be title or label from the source services.",
"type": "string"
},
"connection": {
"$ref": "#/definitions/messagingConnection"
},
"pipelines": {
"description": "References to pipelines deployed for this messaging service to extract topic configs and schemas.",
"$ref": "../../type/entityReferenceList.json"
},
"testConnectionResult": {
"description": "Last test connection results for this service",
"$ref": "connections/testConnectionResult.json"
},
"tags": {
"description": "Tags for this Message Service.",
"type": "array",
"items": {
"$ref": "../../type/tagLabel.json"
},
"default": []
},
"version": {
"description": "Metadata version of the entity.",
"$ref": "../../type/entityHistory.json#/definitions/entityVersion"
},
"updatedAt": {
"description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.",
"$ref": "../../type/basic.json#/definitions/timestamp"
},
"updatedBy": {
"description": "User who made the update.",
"type": "string"
},
"owners": {
"description": "Owners of this messaging service.",
"$ref": "../../type/entityReferenceList.json"
},
"href": {
"description": "Link to the resource corresponding to this messaging service.",
"$ref": "../../type/basic.json#/definitions/href"
},
"changeDescription": {
"description": "Change that lead to this version of the entity.",
"$ref": "../../type/entityHistory.json#/definitions/changeDescription"
},
"deleted": {
"description": "When `true` indicates the entity has been soft deleted.",
"type": "boolean",
"default": false
},
"dataProducts" : {
"description": "List of data products this entity is part of.",
"$ref" : "../../type/entityReferenceList.json"
},
"domain" : {
"description": "Domain the Messaging service belongs to.",
"$ref": "../../type/entityReference.json"
}
},
"required": ["id", "name", "serviceType"],
"additionalProperties": false
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy