All Downloads are FREE. Search and download functionalities are using the official Maven repository.

json.schema.entity.services.messagingService.json Maven / Gradle / Ivy

There is a newer version: 1.6.0-rc1
Show newest version
{
  "$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