json.schema.api.data.createTopic.json Maven / Gradle / Ivy
The 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.catalog.api.data.CreateTopic",
"javaInterfaces": ["org.openmetadata.core.entity.interfaces.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": "Link to the messaging service where this topic is hosted in",
"$ref": "../../type/entityReference.json"
},
"schemaText": {
"description": "Schema used for message serialization. Optional as some topics may not have associated schemas.",
"type": "string"
},
"schemaType": {
"description": "Schema used for message serialization.",
"$ref": "../../entity/data/topic.json#/definitions/schemaType"
},
"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"
},
"owner": {
"description": "Owner of this topic",
"$ref": "../../type/entityReference.json"
},
"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"
}
},
"required": ["name", "service", "partitions"],
"additionalProperties": false
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy