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

json.schema.api.data.createTopic.json Maven / Gradle / Ivy

There is a newer version: 1.6.0-rc1
Show newest version
{
  "$id": "https://open-metadata.org/schema/api/data/createTopic.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "CreateTopicRequest",
  "description": "Create a topic entity request",
  "type": "object",
  "javaType": "org.openmetadata.schema.api.data.CreateTopic",
  "javaInterfaces": ["org.openmetadata.schema.CreateEntity"],

  "properties": {
    "name": {
      "description": "Name that identifies this topic instance uniquely.",
      "$ref": "../../type/basic.json#/definitions/entityName"
    },
    "displayName": {
      "description": "Display Name that identifies this topic.",
      "type": "string"
    },
    "description": {
      "description": "Description of the topic instance. What it has and how to use it.",
      "$ref": "../../type/basic.json#/definitions/markdown"
    },
    "service": {
      "description": "Fully qualified name of the messaging service where this topic is hosted in",
      "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName"
    },
    "messageSchema": {
      "$ref": "../../type/schema.json"
    },
    "partitions": {
      "description": "Number of partitions into which the topic is divided.",
      "type": "integer",
      "minimum": 1
    },
    "cleanupPolicies": {
      "description": "Topic clean up policy. For Kafka - `cleanup.policy` configuration.",
      "type": "array",
      "items": {
        "$ref": "../../entity/data/topic.json#/definitions/cleanupPolicy"
      }
    },
    "replicationFactor": {
      "description": "Replication Factor in integer (more than 1).",
      "type": "integer"
    },
    "retentionTime": {
      "description": "Retention time in milliseconds. For Kafka - `retention.ms` configuration.",
      "type": "number"
    },
    "maximumMessageSize": {
      "description": "Maximum message size in bytes. For Kafka - `max.message.bytes` configuration.",
      "type": "integer"
    },
    "minimumInSyncReplicas": {
      "description": "Minimum number replicas in sync to control durability. For Kafka - `min.insync.replicas` configuration.",
      "type": "integer"
    },
    "retentionSize": {
      "description": "Maximum size of a partition in bytes before old data is discarded. For Kafka - `retention.bytes` configuration.",
      "type": "number",
      "default": "-1"
    },
    "topicConfig": {
      "description": "Contains key/value pair of topic configuration.",
      "$ref": "../../entity/data/topic.json#/definitions/topicConfig"
    },
    "owners": {
      "description": "Owners of this topic",
      "$ref": "../../type/entityReferenceList.json",
      "default": null
    },
    "tags": {
      "description": "Tags for this topic",
      "type": "array",
      "items": {
        "$ref": "../../type/tagLabel.json"
      },
      "default": null
    },
    "extension": {
      "description": "Entity extension data with custom attributes added to the entity.",
      "$ref": "../../type/basic.json#/definitions/entityExtension"
    },
    "sourceUrl": {
      "description": "Source URL of topic.",
      "$ref": "../../type/basic.json#/definitions/sourceUrl"
    },
    "domain" : {
      "description": "Fully qualified name of the domain the Topic belongs to.",
      "type": "string",
      "$ref" : "../../type/basic.json#/definitions/fullyQualifiedEntityName"
    },
    "dataProducts" : {
      "description": "List of fully qualified names of data products this entity is part of.",
      "type": "array",
      "items" : {
        "$ref" : "../../type/basic.json#/definitions/fullyQualifiedEntityName"
      }
    },
    "lifeCycle": {
      "description": "Life Cycle of the entity",
      "$ref": "../../type/lifeCycle.json"
    },
    "sourceHash": {
      "description": "Source hash of the entity",
      "type": "string",
      "minLength": 1,
      "maxLength": 32
    }
  },
  "required": ["name", "service", "partitions"],
  "additionalProperties": false
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy