Implement CLI and REST API for Xconnect

Deprecate the old way of configuring Xconnect via network config

Change-Id: I5b9ac7852517c25805bcbfc0e7b3bec3a52eed9f
diff --git a/apps/segmentrouting/web/src/main/resources/definitions/XconnectCreate.json b/apps/segmentrouting/web/src/main/resources/definitions/XconnectCreate.json
new file mode 100644
index 0000000..8d2099f
--- /dev/null
+++ b/apps/segmentrouting/web/src/main/resources/definitions/XconnectCreate.json
@@ -0,0 +1,29 @@
+{
+  "type": "object",
+  "title": "xconnect-creation",
+  "required": [
+    "deviceId",
+    "vlanId",
+    "ports"
+  ],
+  "properties": {
+    "deviceId": {
+      "type": "string",
+      "example": "of:0000000000000201",
+      "description": "Device ID"
+    },
+    "vlanId": {
+      "type": "string",
+      "example": "94",
+      "description": "VLAN ID"
+    },
+    "ports": {
+      "type": "array",
+      "items": {
+        "type": "int8",
+        "description": "Port number"
+      },
+      "example": [1, 2]
+    }
+  }
+}
\ No newline at end of file
diff --git a/apps/segmentrouting/web/src/main/resources/definitions/XconnectDelete.json b/apps/segmentrouting/web/src/main/resources/definitions/XconnectDelete.json
new file mode 100644
index 0000000..fcd5f66
--- /dev/null
+++ b/apps/segmentrouting/web/src/main/resources/definitions/XconnectDelete.json
@@ -0,0 +1,20 @@
+{
+  "type": "object",
+  "title": "xconnect-deletion",
+  "required": [
+    "deviceId",
+    "vlanId"
+  ],
+  "properties": {
+    "deviceId": {
+      "type": "string",
+      "example": "of:0000000000000201",
+      "description": "Device ID"
+    },
+    "vlanId": {
+      "type": "string",
+      "example": "94",
+      "description": "VLAN ID"
+    }
+  }
+}
\ No newline at end of file