Adding rest API for new Mcast app

Change-Id: I8879879f0406295b61db11b9a66efef4acc0b0c1
diff --git a/apps/mcast/web/src/main/resources/definitions/McastHostSinksAdd.json b/apps/mcast/web/src/main/resources/definitions/McastHostSinksAdd.json
new file mode 100644
index 0000000..6f03797
--- /dev/null
+++ b/apps/mcast/web/src/main/resources/definitions/McastHostSinksAdd.json
@@ -0,0 +1,22 @@
+{
+  "type": "object",
+  "title": "sinks",
+  "required": [
+    "sinks"
+  ],
+  "properties": {
+    "sinks": {
+      "type": "array",
+      "xml": {
+        "name": "sinks",
+        "wrapped": true
+      },
+      "items": {
+        "type": "string",
+        "example": "of:0000000000000206/8",
+        "description": "A sink connect point for a host in the route"
+      },
+      "description": "Sink connect points for a host in the route"
+    }
+  }
+}
\ No newline at end of file
diff --git a/apps/mcast/web/src/main/resources/definitions/McastRoute.json b/apps/mcast/web/src/main/resources/definitions/McastRoute.json
new file mode 100644
index 0000000..006ed70
--- /dev/null
+++ b/apps/mcast/web/src/main/resources/definitions/McastRoute.json
@@ -0,0 +1,50 @@
+{
+  "type": "object",
+  "title": "multicast-route-creation",
+  "required": [
+    "group",
+    "source"
+  ],
+  "optional": [
+    "sources",
+    "sinks"
+  ],
+  "properties": {
+    "group": {
+      "type": "string",
+      "example": "224.0.1.1",
+      "description": "Multicast Route Group IP Address"
+    },
+    "source": {
+      "type": "string",
+      "example": "10.0.1.1",
+      "description": "Multicast Route Source IP Address"
+    },
+    "sources": {
+      "type": "array",
+      "xml": {
+        "name": "sources",
+        "wrapped": true
+      },
+      "items": {
+        "type": "string",
+        "example": "of:0000000000000206/8",
+        "description": "A source connect point for the route"
+      },
+      "description": "Source connect points for the route"
+    },
+    "sinks": {
+      "type": "array",
+      "xml": {
+        "name": "sinks",
+        "wrapped": true
+      },
+      "items": {
+        "type": "string",
+        "example": "00:CC:00:00:00:01/None",
+        "description": "A host sink for the route"
+      },
+      "description": "Host sinks for the route"
+    }
+  }
+}
\ No newline at end of file
diff --git a/apps/mcast/web/src/main/resources/definitions/McastRouteBulk.json b/apps/mcast/web/src/main/resources/definitions/McastRouteBulk.json
new file mode 100644
index 0000000..e3efdb7
--- /dev/null
+++ b/apps/mcast/web/src/main/resources/definitions/McastRouteBulk.json
@@ -0,0 +1,53 @@
+{
+  "type": "object",
+  "title": "multicast-routes-creation-bulk",
+  "required": [
+    "routes"
+  ],
+  "properties": {
+    "routes": {
+      "type": "array",
+      "items": {
+        "properties": {
+          "group": {
+            "type": "string",
+            "example": "224.0.1.1",
+            "description": "Multicast Route Group IP Address"
+          },
+          "source": {
+            "type": "string",
+            "example": "10.0.1.1",
+            "description": "Multicast Route Source IP Address"
+          },
+          "sources": {
+            "type": "array",
+            "xml": {
+              "name": "sources",
+              "wrapped": true
+            },
+            "items": {
+              "type": "string",
+              "example": "of:0000000000000206/8",
+              "description": "A source connect point for the route"
+            },
+            "description": "Source connect points for the route"
+          },
+          "sinks": {
+            "type": "array",
+            "xml": {
+              "name": "sinks",
+              "wrapped": true
+            },
+            "items": {
+              "type": "string",
+              "example": "00:CC:00:00:00:01/None",
+              "description": "A host sink for the route"
+            },
+            "description": "Host sinks for the route"
+          }
+        }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/apps/mcast/web/src/main/resources/definitions/McastSinksAdd.json b/apps/mcast/web/src/main/resources/definitions/McastSinksAdd.json
new file mode 100644
index 0000000..eecf0d8
--- /dev/null
+++ b/apps/mcast/web/src/main/resources/definitions/McastSinksAdd.json
@@ -0,0 +1,22 @@
+{
+  "type": "object",
+  "title": "sinks",
+  "required": [
+    "sinks"
+  ],
+  "properties": {
+    "sinks": {
+      "type": "array",
+      "xml": {
+        "name": "sinks",
+        "wrapped": true
+      },
+      "items": {
+        "type": "string",
+        "example": "00:CC:00:00:00:01/None",
+        "description": "A host sink for the route"
+      },
+      "description": "Host sinks for the route"
+    }
+  }
+}
\ No newline at end of file
diff --git a/apps/mcast/web/src/main/resources/definitions/McastSourcesAdd.json b/apps/mcast/web/src/main/resources/definitions/McastSourcesAdd.json
new file mode 100644
index 0000000..72910a9
--- /dev/null
+++ b/apps/mcast/web/src/main/resources/definitions/McastSourcesAdd.json
@@ -0,0 +1,22 @@
+{
+  "type": "object",
+  "title": "sources",
+  "required": [
+    "sources"
+  ],
+  "properties": {
+    "sources": {
+      "type": "array",
+      "xml": {
+        "name": "sources",
+        "wrapped": true
+      },
+      "items": {
+        "type": "string",
+        "example": "of:0000000000000206/8",
+        "description": "A source connect point for the route"
+      },
+      "description": "Source connect points for the route"
+    }
+  }
+}
\ No newline at end of file