diff options
author | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-03-25 09:19:01 +0100 |
---|---|---|
committer | Piotr Jaszczyk <piotr.jaszczyk@nokia.com> | 2019-03-28 13:12:02 +0100 |
commit | 94b873f20f2f6af3c5284881cdd4d1d28b5cf15b (patch) | |
tree | 297141b36569ed5d1f438ac03f05d0222b0c7f11 /component-json-schemas/dcae-cli-v3-draft/dmaap-schema.json | |
parent | c40a403bd4fdd192b74e4cd970b3c94058a9e404 (diff) |
JSON Schema support for direct Kafka connections
A follow up of https://gerrit.onap.org/r/#/c/78906/
Change-Id: Iaa4f48963c335396c1f647b1071fbad3e5285245
Issue-ID: DCAEGEN2-1266
Signed-off-by: Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
Diffstat (limited to 'component-json-schemas/dcae-cli-v3-draft/dmaap-schema.json')
-rw-r--r-- | component-json-schemas/dcae-cli-v3-draft/dmaap-schema.json | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/component-json-schemas/dcae-cli-v3-draft/dmaap-schema.json b/component-json-schemas/dcae-cli-v3-draft/dmaap-schema.json new file mode 100644 index 0000000..1c36972 --- /dev/null +++ b/component-json-schemas/dcae-cli-v3-draft/dmaap-schema.json @@ -0,0 +1,149 @@ +{ + "$id": "http://onap.org/dcaegen2/platform/dmaap", + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Schema for dmaap inputs", + "type": "object", + + "oneOf": [ + { "$ref": "#/definitions/message_router" }, + { "$ref": "#/definitions/data_router" }, + { "$ref": "#/definitions/kafka" } + ], + + "definitions": { + + "message_router": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["message_router"] + }, + "aaf_credentials": { + "$ref": "#/definitions/aaf_credentials" + }, + "aaf_username": { + "description": "Used for backward compatibility. Use aaf_credentials object in new code.", + "type": "string" + }, + "aaf_password": { + "description": "Used for backward compatibility. Use aaf_credentials object in new code.", + "type": "string" + }, + "dmaap_info": { + "$ref":"#/definitions/dmaap_info" + } + }, + "required": [ + "type", + "dmaap_info" + ], + "additionalProperties": false + }, + + "data_router": { + "type": "object", + "$comment": "This is currently not specified in schema. However, it is specified in RTD documentation. TODO: specify schema for DMaaP DR", + "properties": { + "type": { + "type": "string", + "enum": ["data_router"] + } + }, + "required": [ + "type" + ], + "additionalProperties": true + }, + + "dmaap_info": { + "type": "object", + "properties": { + "client_role": { + "type": "string" + }, + "client_id": { + "type": "string" + }, + "location": { + "type": "string" + }, + "topic_url": { + "type": "string" + } + }, + "required": [ + "topic_url" + ], + "additionalProperties": false + }, + + "kafka": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["kafka"] + }, + "aaf_credentials": { + "$ref": "#/definitions/aaf_credentials" + }, + "kafka_info": { + "$ref": "#/definitions/kafka_info" + } + }, + "required": [ + "type", + "kafka_info" + ], + "additionalProperties": false + }, + + "kafka_info": { + "type": "object", + "description": "Defines Kafka-specific topid properties", + "properties": { + "client_role": { + "type": "string" + }, + "client_id": { + "type": "string" + }, + "bootstrap_servers": { + "description": "Comma separated list of Kafka bootstrap servers as defined in Kafka documentation", + "type": "string" + }, + "topic_name": { + "description": "Name of the topic", + "type": "string" + }, + "consumer_group_id": { + "description": "Can be specifed only for subscribers. More details in Kafka documentation on group.id property", + "type": "string" + }, + "max_payload_size_bytes": { + "description": "Maximum payload size in bytes. Can be used for validation or creating Kafka client properties.", + "type": "string" + } + }, + "required": [ + "bootstrap_servers", + "topic_name" + ], + "additionalProperties": false + }, + + "aaf_credentials": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "additionalProperties": false + } + } +} |