Update component-specification documentation
[dcaegen2.git] / docs / sections / design-components / component-specification / component-json-schema.rst
index d1d4ef4..a6a1ed4 100644 (file)
@@ -54,7 +54,8 @@ The same is provided below for documentation reference.
             "oneOf": [
               { "$ref": "#/definitions/publisher_http" },
               { "$ref": "#/definitions/publisher_message_router" },
-              { "$ref": "#/definitions/publisher_data_router" }
+              { "$ref": "#/definitions/publisher_data_router" },
+              { "$ref": "#/definitions/publisher_kafka" }
             ]
           }
         },
@@ -65,7 +66,8 @@ The same is provided below for documentation reference.
             "oneOf": [
               { "$ref": "#/definitions/subscriber_http" },
               { "$ref": "#/definitions/subscriber_message_router" },
-              { "$ref": "#/definitions/subscriber_data_router" }
+              { "$ref": "#/definitions/subscriber_data_router" },
+              { "$ref": "#/definitions/subscriber_kafka" }
             ]
           }
         }
@@ -484,6 +486,33 @@ The same is provided below for documentation reference.
         "type"
       ]
     },
+    "stream_kafka": {
+      "type": "object",
+      "properties": {
+        "format": {
+          "$ref": "#/definitions/name"
+        },
+        "version": {
+          "$ref": "#/definitions/version"
+        },
+        "config_key": {
+          "type": "string"
+        },
+        "type": {
+          "description": "Type of stream to be used",
+          "type": "string",
+          "enum": [
+            "kafka"
+          ]
+        }
+      },
+      "required": [
+        "format",
+        "version",
+        "config_key",
+        "type"
+      ]
+    },
     "publisher_http": {
       "type": "object",
       "properties": {
@@ -542,6 +571,9 @@ The same is provided below for documentation reference.
         "type"
       ]
     },
+    "publisher_kafka": {
+      "$ref": "#/definitions/stream_kafka"
+    },
     "subscriber_http": {
       "type": "object",
       "properties": {
@@ -605,6 +637,9 @@ The same is provided below for documentation reference.
         "config_key"
       ]
     },
+    "subscriber_kafka": {
+      "$ref": "#/definitions/stream_kafka"
+    },
     "provider" : {
       "oneOf" : [
         {"$ref": "#/definitions/docker-provider"},
@@ -853,17 +888,10 @@ The same is provided below for documentation reference.
           "type": "array",
           "items": {
             "type": "object",
-            "properties": {
-              "host":{
-                "type":"object",
-                "path": {"type": "string"}
-              },
-              "container":{
-                "type":"object",
-                "bind": { "type": "string"},
-                "mode": { "type": "string"}
-              }
-            }
+            "oneOf": [
+              { "$ref": "#/definitions/host_path_volume" },
+              { "$ref": "#/definitions/config_map_volume" }
+            ]
           }
         }
       },
@@ -872,6 +900,46 @@ The same is provided below for documentation reference.
       ],
       "additionalProperties": false
     },
+    "host_path_volume": {
+      "type": "object",
+      "properties": {
+        "host": {
+          "type": "object",
+          "path": {
+            "type": "string"
+          }
+        },
+        "container": {
+          "type": "object",
+          "bind": {
+            "type": "string"
+          },
+          "mode": {
+            "type": "string"
+          }
+        }
+      }
+    },
+    "config_map_volume": {
+      "type": "object",
+      "properties": {
+        "config_volume": {
+          "type": "object",
+          "name": {
+            "type": "string"
+          }
+        },
+        "container": {
+          "type": "object",
+          "bind": {
+            "type": "string"
+          },
+          "mode": {
+            "type": "string"
+          }
+        }
+      }
+    },
     "docker_healthcheck_http": {
       "properties": {
         "type": {