Implemented the following PW features and fixes:

   - PW support for H-AGG topologies. Support for leaf-spine-spine
     leaf-spine-spine-leaf pseudowires.
   - Renamed pw commands with sr-pw-* pattern and also removed redundant output
    from them.
   - Enabled bulk addition / removal of pws from the rest api.
   - Modified diagnostics tool with the updated command name.

Change-Id: I708db9281d0082b160cbd713910b420ef7df9da3
diff --git a/apps/segmentrouting/web/src/main/resources/definitions/PseudowireCreateBulk.json b/apps/segmentrouting/web/src/main/resources/definitions/PseudowireCreateBulk.json
new file mode 100644
index 0000000..44db619
--- /dev/null
+++ b/apps/segmentrouting/web/src/main/resources/definitions/PseudowireCreateBulk.json
@@ -0,0 +1,66 @@
+{
+  "type": "object",
+  "title": "pseudowire-creation-bulk",
+  "required": [
+    "pseudowires"
+  ],
+  "properties": {
+    "pseudowires": {
+      "type": "array",
+      "items": {
+        "properties": {
+          "pwId": {
+            "type": "string",
+            "example": "42",
+            "description": "Id of pseudowire to create."
+          },
+          "cP1": {
+            "type": "string",
+            "example": "of:0000000000000227/25",
+            "description": "Pseudowire connection point 1."
+          },
+          "cP2": {
+            "type": "string",
+            "example": "of:0000000000000226/25",
+            "description": "Pseudowire connection point 2."
+          },
+          "cP1InnerTag": {
+            "type": "string",
+            "example": "101",
+            "description": "Inner vlan for pseudowire connection point 1."
+          },
+          "cP1OuterTag": {
+            "type": "string",
+            "example": "",
+            "description": "Outer vlan for pseudowire connection point 1."
+          },
+          "cP2InnerTag": {
+            "type": "string",
+            "example": "101",
+            "description": "Inner vlan for pseudowire connection point 2."
+          },
+          "cP2OuterTag": {
+            "type": "string",
+            "example": "",
+            "description": "Outer vlan for pseudowire connection point 2."
+          },
+          "mode": {
+            "type": "string",
+            "example": "RAW",
+            "description": "Working mode of pseudowire."
+          },
+          "sDTag": {
+            "type": "string",
+            "example": "",
+            "description": "Service delimiting tag of the pseudowire"
+          },
+          "pwLabel": {
+            "type": "256",
+            "example": "",
+            "description": "Pseudowire label."
+          }
+        }
+      }
+    }
+  }
+}
\ No newline at end of file