diff --git a/docs/swagger/swagger.json b/docs/swagger/swagger.json
index 0738c6f..32113cc 100644
--- a/docs/swagger/swagger.json
+++ b/docs/swagger/swagger.json
@@ -1,16 +1,16 @@
 {
   "swagger" : "2.0",
   "info" : {
-    "version" : "4.1.2-SNAPSHOT",
+    "version" : "4.2.0-SNAPSHOT",
     "title" : "Clamp Rest API"
   },
-  "host" : "localhost:34219",
+  "host" : "localhost:33953",
   "basePath" : "/restservices/clds/",
   "schemes" : [ "http" ],
   "paths" : {
     "/v2/loop/{loopName}" : {
       "get" : {
-        "operationId" : "route3",
+        "operationId" : "route20",
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "loopName",
@@ -26,13 +26,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route3"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route20"
       }
     },
     "/v2/loop/delete/{loopName}" : {
       "put" : {
-        "operationId" : "route13",
+        "operationId" : "route30",
         "parameters" : [ {
           "name" : "loopName",
           "in" : "path",
@@ -42,13 +42,13 @@
         "responses" : {
           "200" : { }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route13"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route30"
       }
     },
     "/v2/loop/deploy/{loopName}" : {
       "put" : {
-        "operationId" : "route8",
+        "operationId" : "route25",
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "loopName",
@@ -64,13 +64,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route8"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route25"
       }
     },
     "/v2/loop/getAllNames" : {
       "get" : {
-        "operationId" : "route2",
+        "operationId" : "route19",
         "produces" : [ "application/json" ],
         "responses" : {
           "200" : {
@@ -83,13 +83,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route2"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route19"
       }
     },
     "/v2/loop/getstatus/{loopName}" : {
       "get" : {
-        "operationId" : "route14",
+        "operationId" : "route31",
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "loopName",
@@ -105,13 +105,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route14"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route31"
       }
     },
     "/v2/loop/restart/{loopName}" : {
       "put" : {
-        "operationId" : "route11",
+        "operationId" : "route28",
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "loopName",
@@ -127,13 +127,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route11"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route28"
       }
     },
     "/v2/loop/stop/{loopName}" : {
       "put" : {
-        "operationId" : "route10",
+        "operationId" : "route27",
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "loopName",
@@ -149,13 +149,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route10"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route27"
       }
     },
     "/v2/loop/submit/{loopName}" : {
       "put" : {
-        "operationId" : "route12",
+        "operationId" : "route29",
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "loopName",
@@ -171,13 +171,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route12"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route29"
       }
     },
     "/v2/loop/svgRepresentation/{loopName}" : {
       "get" : {
-        "operationId" : "route4",
+        "operationId" : "route21",
         "produces" : [ "application/xml" ],
         "parameters" : [ {
           "name" : "loopName",
@@ -193,13 +193,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route4"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route21"
       }
     },
     "/v2/loop/undeploy/{loopName}" : {
       "put" : {
-        "operationId" : "route9",
+        "operationId" : "route26",
         "produces" : [ "application/json" ],
         "parameters" : [ {
           "name" : "loopName",
@@ -215,13 +215,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route9"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route26"
       }
     },
     "/v2/loop/updateGlobalProperties/{loopName}" : {
       "post" : {
-        "operationId" : "route5",
+        "operationId" : "route22",
         "consumes" : [ "application/json" ],
         "produces" : [ "application/json" ],
         "parameters" : [ {
@@ -245,13 +245,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route5"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route22"
       }
     },
     "/v2/loop/updateMicroservicePolicy/{loopName}" : {
       "post" : {
-        "operationId" : "route7",
+        "operationId" : "route24",
         "consumes" : [ "application/json" ],
         "produces" : [ "application/json" ],
         "parameters" : [ {
@@ -275,13 +275,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route7"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route24"
       }
     },
     "/v2/loop/updateOperationalPolicies/{loopName}" : {
       "post" : {
-        "operationId" : "route6",
+        "operationId" : "route23",
         "consumes" : [ "application/json" ],
         "produces" : [ "application/json" ],
         "parameters" : [ {
@@ -305,13 +305,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route6"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route23"
       }
     },
     "/v1/clds/cldsInfo" : {
       "get" : {
-        "operationId" : "route15",
+        "operationId" : "route32",
         "produces" : [ "application/json" ],
         "responses" : {
           "200" : {
@@ -321,13 +321,13 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route15"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route32"
       }
     },
     "/v1/healthcheck" : {
       "get" : {
-        "operationId" : "route16",
+        "operationId" : "route33",
         "produces" : [ "application/json" ],
         "responses" : {
           "200" : {
@@ -337,19 +337,19 @@
             }
           }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route16"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route33"
       }
     },
     "/v1/user/getUser" : {
       "get" : {
-        "operationId" : "route17",
+        "operationId" : "route34",
         "produces" : [ "text/plain" ],
         "responses" : {
           "200" : { }
         },
-        "x-camelContextId" : "camel-1",
-        "x-routeId" : "route17"
+        "x-camelContextId" : "camel-2",
+        "x-routeId" : "route34"
       }
     }
   },
@@ -357,6 +357,20 @@
     "Loop" : {
       "type" : "object",
       "properties" : {
+        "createdDate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "updatedDate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "updatedBy" : {
+          "type" : "string"
+        },
+        "createdBy" : {
+          "type" : "string"
+        },
         "name" : {
           "type" : "string"
         },
@@ -375,8 +389,8 @@
         "globalPropertiesJson" : {
           "$ref" : "#/definitions/JsonObject"
         },
-        "modelPropertiesJson" : {
-          "$ref" : "#/definitions/JsonObject"
+        "modelService" : {
+          "$ref" : "#/definitions/Service"
         },
         "blueprint" : {
           "type" : "string"
@@ -411,6 +425,9 @@
           "items" : {
             "$ref" : "#/definitions/LoopLog"
           }
+        },
+        "loopTemplate" : {
+          "$ref" : "#/definitions/LoopTemplate"
         }
       },
       "x-className" : {
@@ -418,128 +435,62 @@
         "format" : "org.onap.clamp.loop.Loop"
       }
     },
-    "JsonArray" : {
+    "MicroServiceModel" : {
+      "type" : "object",
+      "properties" : {
+        "createdDate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "updatedDate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "updatedBy" : {
+          "type" : "string"
+        },
+        "createdBy" : {
+          "type" : "string"
+        },
+        "name" : {
+          "type" : "string"
+        },
+        "policyType" : {
+          "type" : "string"
+        },
+        "blueprint" : {
+          "type" : "string"
+        },
+        "policyModel" : {
+          "$ref" : "#/definitions/PolicyModel"
+        },
+        "usedByLoopTemplates" : {
+          "type" : "array",
+          "uniqueItems" : true,
+          "items" : {
+            "$ref" : "#/definitions/TemplateMicroServiceModel"
+          }
+        }
+      }
+    },
+    "JsonPrimitive" : {
       "type" : "object",
       "properties" : {
         "asBoolean" : {
           "type" : "boolean"
         },
-        "asNumber" : {
-          "$ref" : "#/definitions/Number"
-        },
-        "asString" : {
-          "type" : "string"
-        },
-        "asDouble" : {
-          "type" : "number",
-          "format" : "double"
-        },
-        "asFloat" : {
-          "type" : "number",
-          "format" : "float"
-        },
-        "asLong" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "asInt" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "asByte" : {
-          "type" : "string",
-          "format" : "byte"
-        },
-        "asCharacter" : {
-          "type" : "string"
-        },
-        "asBigDecimal" : {
-          "type" : "number"
-        },
-        "asBigInteger" : {
-          "type" : "integer"
-        },
-        "asShort" : {
-          "type" : "integer",
-          "format" : "int32"
-        },
-        "asJsonPrimitive" : {
-          "$ref" : "#/definitions/JsonPrimitive"
-        },
-        "asJsonNull" : {
-          "$ref" : "#/definitions/JsonNull"
-        },
-        "jsonArray" : {
-          "type" : "boolean"
-        },
-        "jsonObject" : {
-          "type" : "boolean"
-        },
-        "jsonNull" : {
-          "type" : "boolean"
-        },
-        "jsonPrimitive" : {
-          "type" : "boolean"
-        },
-        "asJsonObject" : {
-          "$ref" : "#/definitions/JsonObject"
-        },
-        "asJsonArray" : {
-          "$ref" : "#/definitions/JsonArray"
-        }
-      },
-      "x-className" : {
-        "type" : "string",
-        "format" : "com.google.gson.JsonArray"
-      }
-    },
-    "LoopLog" : {
-      "type" : "object",
-      "properties" : {
-        "id" : {
-          "type" : "integer",
-          "format" : "int64"
-        },
-        "logType" : {
-          "type" : "string",
-          "enum" : [ "INFO", "WARNING", "ERROR" ]
-        },
-        "logComponent" : {
-          "type" : "string"
-        },
-        "message" : {
-          "type" : "string"
-        },
-        "loop" : {
-          "$ref" : "#/definitions/Loop"
-        },
-        "logInstant" : {
-          "type" : "integer",
-          "format" : "int64"
-        }
-      }
-    },
-    "Number" : {
-      "type" : "object"
-    },
-    "JsonPrimitive" : {
-      "type" : "object",
-      "properties" : {
         "boolean" : {
           "type" : "boolean"
         },
         "number" : {
           "type" : "boolean"
         },
-        "asBoolean" : {
-          "type" : "boolean"
+        "asString" : {
+          "type" : "string"
         },
         "asNumber" : {
           "$ref" : "#/definitions/Number"
         },
-        "asString" : {
-          "type" : "string"
-        },
         "asDouble" : {
           "type" : "number",
           "format" : "double"
@@ -576,41 +527,61 @@
         "string" : {
           "type" : "boolean"
         },
+        "asJsonObject" : {
+          "$ref" : "#/definitions/JsonObject"
+        },
+        "asJsonArray" : {
+          "$ref" : "#/definitions/JsonArray"
+        },
         "asJsonPrimitive" : {
           "$ref" : "#/definitions/JsonPrimitive"
         },
-        "asJsonNull" : {
-          "$ref" : "#/definitions/JsonNull"
-        },
         "jsonArray" : {
           "type" : "boolean"
         },
         "jsonObject" : {
           "type" : "boolean"
         },
-        "jsonNull" : {
-          "type" : "boolean"
-        },
         "jsonPrimitive" : {
           "type" : "boolean"
         },
-        "asJsonObject" : {
-          "$ref" : "#/definitions/JsonObject"
+        "jsonNull" : {
+          "type" : "boolean"
         },
-        "asJsonArray" : {
-          "$ref" : "#/definitions/JsonArray"
+        "asJsonNull" : {
+          "$ref" : "#/definitions/JsonNull"
         }
       }
     },
     "MicroServicePolicy" : {
       "type" : "object",
       "properties" : {
+        "createdDate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "updatedDate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "updatedBy" : {
+          "type" : "string"
+        },
+        "createdBy" : {
+          "type" : "string"
+        },
         "name" : {
           "type" : "string"
         },
         "modelType" : {
           "type" : "string"
         },
+        "context" : {
+          "type" : "string"
+        },
+        "deviceTypeScope" : {
+          "type" : "string"
+        },
         "properties" : {
           "$ref" : "#/definitions/JsonObject"
         },
@@ -629,6 +600,9 @@
           "items" : {
             "$ref" : "#/definitions/Loop"
           }
+        },
+        "microServiceModel" : {
+          "$ref" : "#/definitions/MicroServiceModel"
         }
       },
       "x-className" : {
@@ -639,21 +613,39 @@
     "JsonObject" : {
       "type" : "object",
       "properties" : {
+        "asBoolean" : {
+          "type" : "boolean"
+        },
+        "asJsonObject" : {
+          "$ref" : "#/definitions/JsonObject"
+        },
+        "asString" : {
+          "type" : "string"
+        },
+        "asJsonArray" : {
+          "$ref" : "#/definitions/JsonArray"
+        },
         "asJsonPrimitive" : {
           "$ref" : "#/definitions/JsonPrimitive"
         },
+        "jsonArray" : {
+          "type" : "boolean"
+        },
+        "jsonObject" : {
+          "type" : "boolean"
+        },
+        "jsonPrimitive" : {
+          "type" : "boolean"
+        },
+        "jsonNull" : {
+          "type" : "boolean"
+        },
         "asJsonNull" : {
           "$ref" : "#/definitions/JsonNull"
         },
-        "asBoolean" : {
-          "type" : "boolean"
-        },
         "asNumber" : {
           "$ref" : "#/definitions/Number"
         },
-        "asString" : {
-          "type" : "string"
-        },
         "asDouble" : {
           "type" : "number",
           "format" : "double"
@@ -686,24 +678,6 @@
         "asShort" : {
           "type" : "integer",
           "format" : "int32"
-        },
-        "jsonArray" : {
-          "type" : "boolean"
-        },
-        "jsonObject" : {
-          "type" : "boolean"
-        },
-        "jsonNull" : {
-          "type" : "boolean"
-        },
-        "jsonPrimitive" : {
-          "type" : "boolean"
-        },
-        "asJsonObject" : {
-          "$ref" : "#/definitions/JsonObject"
-        },
-        "asJsonArray" : {
-          "$ref" : "#/definitions/JsonArray"
         }
       },
       "x-className" : {
@@ -711,14 +685,51 @@
         "format" : "com.google.gson.JsonObject"
       }
     },
-    "ExternalComponent" : {
+    "PolicyModel" : {
       "type" : "object",
       "properties" : {
-        "state" : {
-          "$ref" : "#/definitions/ExternalComponentState"
+        "createdDate" : {
+          "type" : "integer",
+          "format" : "int64"
         },
-        "componentName" : {
+        "updatedDate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "updatedBy" : {
           "type" : "string"
+        },
+        "createdBy" : {
+          "type" : "string"
+        },
+        "policyModelType" : {
+          "type" : "string"
+        },
+        "version" : {
+          "type" : "string"
+        },
+        "policyModelTosca" : {
+          "type" : "string"
+        },
+        "policyAcronym" : {
+          "type" : "string"
+        },
+        "policyVariant" : {
+          "type" : "string"
+        }
+      }
+    },
+    "Service" : {
+      "type" : "object",
+      "properties" : {
+        "serviceUuid" : {
+          "type" : "string"
+        },
+        "serviceDetails" : {
+          "$ref" : "#/definitions/JsonObject"
+        },
+        "resourceDetails" : {
+          "$ref" : "#/definitions/JsonObject"
         }
       }
     },
@@ -734,44 +745,97 @@
         "loop" : {
           "$ref" : "#/definitions/Loop"
         },
+        "policyModel" : {
+          "$ref" : "#/definitions/PolicyModel"
+        },
         "jsonRepresentation" : {
           "$ref" : "#/definitions/JsonObject"
         }
       }
     },
-    "ExternalComponentState" : {
-      "type" : "object",
-      "properties" : {
-        "stateName" : {
-          "type" : "string"
-        },
-        "description" : {
-          "type" : "string"
-        },
-        "level" : {
-          "type" : "integer",
-          "format" : "int32"
-        }
-      }
-    },
     "JsonNull" : {
       "type" : "object",
       "properties" : {
+        "asBoolean" : {
+          "type" : "boolean"
+        },
+        "asJsonObject" : {
+          "$ref" : "#/definitions/JsonObject"
+        },
+        "asString" : {
+          "type" : "string"
+        },
+        "asJsonArray" : {
+          "$ref" : "#/definitions/JsonArray"
+        },
         "asJsonPrimitive" : {
           "$ref" : "#/definitions/JsonPrimitive"
         },
+        "jsonArray" : {
+          "type" : "boolean"
+        },
+        "jsonObject" : {
+          "type" : "boolean"
+        },
+        "jsonPrimitive" : {
+          "type" : "boolean"
+        },
+        "jsonNull" : {
+          "type" : "boolean"
+        },
         "asJsonNull" : {
           "$ref" : "#/definitions/JsonNull"
         },
-        "asBoolean" : {
-          "type" : "boolean"
-        },
         "asNumber" : {
           "$ref" : "#/definitions/Number"
         },
+        "asDouble" : {
+          "type" : "number",
+          "format" : "double"
+        },
+        "asFloat" : {
+          "type" : "number",
+          "format" : "float"
+        },
+        "asLong" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "asInt" : {
+          "type" : "integer",
+          "format" : "int32"
+        },
+        "asByte" : {
+          "type" : "string",
+          "format" : "byte"
+        },
+        "asCharacter" : {
+          "type" : "string"
+        },
+        "asBigDecimal" : {
+          "type" : "number"
+        },
+        "asBigInteger" : {
+          "type" : "integer"
+        },
+        "asShort" : {
+          "type" : "integer",
+          "format" : "int32"
+        }
+      }
+    },
+    "JsonArray" : {
+      "type" : "object",
+      "properties" : {
+        "asBoolean" : {
+          "type" : "boolean"
+        },
         "asString" : {
           "type" : "string"
         },
+        "asNumber" : {
+          "$ref" : "#/definitions/Number"
+        },
         "asDouble" : {
           "type" : "number",
           "format" : "double"
@@ -805,23 +869,145 @@
           "type" : "integer",
           "format" : "int32"
         },
+        "asJsonObject" : {
+          "$ref" : "#/definitions/JsonObject"
+        },
+        "asJsonArray" : {
+          "$ref" : "#/definitions/JsonArray"
+        },
+        "asJsonPrimitive" : {
+          "$ref" : "#/definitions/JsonPrimitive"
+        },
         "jsonArray" : {
           "type" : "boolean"
         },
         "jsonObject" : {
           "type" : "boolean"
         },
-        "jsonNull" : {
-          "type" : "boolean"
-        },
         "jsonPrimitive" : {
           "type" : "boolean"
         },
-        "asJsonObject" : {
-          "$ref" : "#/definitions/JsonObject"
+        "jsonNull" : {
+          "type" : "boolean"
         },
-        "asJsonArray" : {
-          "$ref" : "#/definitions/JsonArray"
+        "asJsonNull" : {
+          "$ref" : "#/definitions/JsonNull"
+        }
+      },
+      "x-className" : {
+        "type" : "string",
+        "format" : "com.google.gson.JsonArray"
+      }
+    },
+    "LoopLog" : {
+      "type" : "object",
+      "properties" : {
+        "id" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "logType" : {
+          "type" : "string",
+          "enum" : [ "INFO", "WARNING", "ERROR" ]
+        },
+        "logComponent" : {
+          "type" : "string"
+        },
+        "message" : {
+          "type" : "string"
+        },
+        "loop" : {
+          "$ref" : "#/definitions/Loop"
+        },
+        "logInstant" : {
+          "type" : "integer",
+          "format" : "int64"
+        }
+      }
+    },
+    "TemplateMicroServiceModel" : {
+      "type" : "object",
+      "properties" : {
+        "loopTemplate" : {
+          "$ref" : "#/definitions/LoopTemplate"
+        },
+        "microServiceModel" : {
+          "$ref" : "#/definitions/MicroServiceModel"
+        },
+        "flowOrder" : {
+          "type" : "integer",
+          "format" : "int32"
+        }
+      }
+    },
+    "Number" : {
+      "type" : "object"
+    },
+    "ExternalComponent" : {
+      "type" : "object",
+      "properties" : {
+        "state" : {
+          "$ref" : "#/definitions/ExternalComponentState"
+        },
+        "componentName" : {
+          "type" : "string"
+        }
+      }
+    },
+    "LoopTemplate" : {
+      "type" : "object",
+      "properties" : {
+        "createdDate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "updatedDate" : {
+          "type" : "integer",
+          "format" : "int64"
+        },
+        "updatedBy" : {
+          "type" : "string"
+        },
+        "createdBy" : {
+          "type" : "string"
+        },
+        "name" : {
+          "type" : "string"
+        },
+        "blueprint" : {
+          "type" : "string"
+        },
+        "svgRepresentation" : {
+          "type" : "string"
+        },
+        "microServiceModelUsed" : {
+          "type" : "array",
+          "uniqueItems" : true,
+          "items" : {
+            "$ref" : "#/definitions/TemplateMicroServiceModel"
+          }
+        },
+        "modelService" : {
+          "$ref" : "#/definitions/Service"
+        },
+        "maximumInstancesAllowed" : {
+          "type" : "integer",
+          "format" : "int32"
+        }
+      }
+    },
+    "ExternalComponentState" : {
+      "type" : "object",
+      "properties" : {
+        "stateName" : {
+          "type" : "string"
+        },
+        "description" : {
+          "type" : "string"
+        },
+        "level" : {
+          "type" : "integer",
+          "format" : "int32"
         }
       }
     },
diff --git a/docs/swagger/swagger.pdf b/docs/swagger/swagger.pdf
index 2997589..8a34cb5 100644
--- a/docs/swagger/swagger.pdf
+++ b/docs/swagger/swagger.pdf
Binary files differ
diff --git a/extra/sql/bulkload/create-tables.sql b/extra/sql/bulkload/create-tables.sql
index 6e9ff7c..c5b52d7 100644
--- a/extra/sql/bulkload/create-tables.sql
+++ b/extra/sql/bulkload/create-tables.sql
@@ -1,4 +1,29 @@
 
+    create table dictionary (
+       name varchar(255) not null,
+        created_by varchar(255),
+        created_timestamp datetime(6) not null,
+        updated_by varchar(255),
+        updated_timestamp datetime(6) not null,
+        dictionary_second_level integer,
+        dictionary_type varchar(255),
+        primary key (name)
+    ) engine=InnoDB;
+
+    create table dictionary_elements (
+       name varchar(255) not null,
+        created_by varchar(255),
+        created_timestamp datetime(6) not null,
+        updated_by varchar(255),
+        updated_timestamp datetime(6) not null,
+        description varchar(255),
+        short_name varchar(255) not null,
+        subdictionary_id varchar(255) not null,
+        type varchar(255) not null,
+        dictionary_id varchar(255),
+        primary key (name)
+    ) engine=InnoDB;
+
     create table hibernate_sequence (
        next_val bigint
     ) engine=InnoDB;
@@ -15,8 +40,25 @@
         primary key (id)
     ) engine=InnoDB;
 
+    create table loop_templates (
+       name varchar(255) not null,
+        created_by varchar(255),
+        created_timestamp datetime(6) not null,
+        updated_by varchar(255),
+        updated_timestamp datetime(6) not null,
+        blueprint_yaml MEDIUMTEXT not null,
+        maximum_instances_allowed integer,
+        svg_representation MEDIUMTEXT,
+        service_uuid varchar(255),
+        primary key (name)
+    ) engine=InnoDB;
+
     create table loops (
        name varchar(255) not null,
+        created_by varchar(255),
+        created_timestamp datetime(6) not null,
+        updated_by varchar(255),
+        updated_timestamp datetime(6) not null,
         blueprint_yaml MEDIUMTEXT not null,
         dcae_blueprint_id varchar(255),
         dcae_deployment_id varchar(255),
@@ -24,6 +66,7 @@
         global_properties_json json,
         last_computed_state varchar(255) not null,
         svg_representation MEDIUMTEXT,
+        loop_template_name varchar(255),
         service_uuid varchar(255),
         primary key (name)
     ) engine=InnoDB;
@@ -34,13 +77,33 @@
         primary key (loop_id, microservicepolicy_id)
     ) engine=InnoDB;
 
+    create table micro_service_models (
+       name varchar(255) not null,
+        created_by varchar(255),
+        created_timestamp datetime(6) not null,
+        updated_by varchar(255),
+        updated_timestamp datetime(6) not null,
+        blueprint_yaml varchar(255) not null,
+        policy_type varchar(255) not null,
+        policy_model_type varchar(255),
+        policy_model_version varchar(255),
+        primary key (name)
+    ) engine=InnoDB;
+
     create table micro_service_policies (
        name varchar(255) not null,
+        created_by varchar(255),
+        created_timestamp datetime(6) not null,
+        updated_by varchar(255),
+        updated_timestamp datetime(6) not null,
+        context varchar(255),
+        device_type_scope varchar(255),
         json_representation json not null,
-        model_type varchar(255) not null,
+        policy_model_type varchar(255) not null,
         policy_tosca MEDIUMTEXT not null,
         properties json,
         shared bit not null,
+        micro_service_model_id varchar(255),
         primary key (name)
     ) engine=InnoDB;
 
@@ -49,9 +112,24 @@
         configurations_json json,
         json_representation json not null,
         loop_id varchar(255) not null,
+        policy_model_type varchar(255),
+        policy_model_version varchar(255),
         primary key (name)
     ) engine=InnoDB;
 
+    create table policy_models (
+       policy_model_type varchar(255) not null,
+        version varchar(255) not null,
+        created_by varchar(255),
+        created_timestamp datetime(6) not null,
+        updated_by varchar(255),
+        updated_timestamp datetime(6) not null,
+        policy_acronym varchar(255),
+        policy_tosca MEDIUMTEXT,
+        policy_variant varchar(255),
+        primary key (policy_model_type, version)
+    ) engine=InnoDB;
+
     create table services (
        service_uuid varchar(255) not null,
         name varchar(255) not null,
@@ -61,11 +139,36 @@
         primary key (service_uuid)
     ) engine=InnoDB;
 
+    create table templates_microservicemodels (
+       loop_template_name varchar(255) not null,
+        micro_service_model_name varchar(255) not null,
+        flow_order integer not null,
+        primary key (loop_template_name, micro_service_model_name)
+    ) engine=InnoDB;
+
+    alter table dictionary_elements 
+       add constraint UK_qxkrvsrhp26m60apfvxphpl3d unique (short_name);
+
+    alter table dictionary_elements 
+       add constraint FKn87bpgpm9i56w7uko585rbkgn 
+       foreign key (dictionary_id) 
+       references dictionary (name);
+
     alter table loop_logs 
        add constraint FK1j0cda46aickcaoxqoo34khg2 
        foreign key (loop_id) 
        references loops (name);
 
+    alter table loop_templates 
+       add constraint FKn692dk6281wvp1o95074uacn6 
+       foreign key (service_uuid) 
+       references services (service_uuid);
+
+    alter table loops 
+       add constraint FK844uwy82wt0l66jljkjqembpj 
+       foreign key (loop_template_name) 
+       references loop_templates (name);
+
     alter table loops 
        add constraint FK4b9wnqopxogwek014i1shqw7w 
        foreign key (service_uuid) 
@@ -81,7 +184,32 @@
        foreign key (loop_id) 
        references loops (name);
 
+    alter table micro_service_models 
+       add constraint FKlkcffpnuavcg65u5o4tr66902 
+       foreign key (policy_model_type, policy_model_version) 
+       references policy_models (policy_model_type, version);
+
+    alter table micro_service_policies 
+       add constraint FK5p7lipy9m2v7d4n3fvlclwse 
+       foreign key (micro_service_model_id) 
+       references micro_service_models (name);
+
     alter table operational_policies 
        add constraint FK1ddoggk9ni2bnqighv6ecmuwu 
        foreign key (loop_id) 
        references loops (name);
+
+    alter table operational_policies 
+       add constraint FKlsyhfkoqvkwj78ofepxhoctip 
+       foreign key (policy_model_type, policy_model_version) 
+       references policy_models (policy_model_type, version);
+
+    alter table templates_microservicemodels 
+       add constraint FKq2gqg5q9jrkx8voosn7x5plqo 
+       foreign key (loop_template_name) 
+       references loop_templates (name);
+
+    alter table templates_microservicemodels 
+       add constraint FKphn3m81suxavmj9c4u06cchju 
+       foreign key (micro_service_model_name) 
+       references micro_service_models (name);
diff --git a/extra/sql/dump/test-data.sql b/extra/sql/dump/test-data.sql
index a68914f..e3f5072 100644
--- a/extra/sql/dump/test-data.sql
+++ b/extra/sql/dump/test-data.sql
@@ -21,12 +21,30 @@
 USE `cldsdb4`;
 
 --
+-- Dumping data for table `dictionary`
+--
+
+LOCK TABLES `dictionary` WRITE;
+/*!40000 ALTER TABLE `dictionary` DISABLE KEYS */;
+/*!40000 ALTER TABLE `dictionary` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Dumping data for table `dictionary_elements`
+--
+
+LOCK TABLES `dictionary_elements` WRITE;
+/*!40000 ALTER TABLE `dictionary_elements` DISABLE KEYS */;
+/*!40000 ALTER TABLE `dictionary_elements` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
 -- Dumping data for table `hibernate_sequence`
 --
 
 LOCK TABLES `hibernate_sequence` WRITE;
 /*!40000 ALTER TABLE `hibernate_sequence` DISABLE KEYS */;
-INSERT INTO `hibernate_sequence` VALUES (3);
+INSERT INTO `hibernate_sequence` VALUES (4);
 /*!40000 ALTER TABLE `hibernate_sequence` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -40,14 +58,23 @@
 UNLOCK TABLES;
 
 --
+-- Dumping data for table `loop_templates`
+--
+
+LOCK TABLES `loop_templates` WRITE;
+/*!40000 ALTER TABLE `loop_templates` DISABLE KEYS */;
+/*!40000 ALTER TABLE `loop_templates` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
 -- Dumping data for table `loops`
 --
 
 LOCK TABLES `loops` WRITE;
 /*!40000 ALTER TABLE `loops` DISABLE KEYS */;
-INSERT INTO `loops` VALUES ('LOOP_yHsgu_v1_0_ResourceInstanceName1_tca','tosca_definitions_version: cloudify_dsl_1_3\nimports:\n- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/docker/2.2.0/node-type.yaml\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/relationship/1.0.0/node-type.yaml\n- http://onap.org:8081/repository/solutioning01-mte2-raw/type_files/dmaap/dmaap_mr.yaml\ninputs:\n  location_id:\n    type: string\n  service_id:\n    type: string\n  policy_id:\n    type: string\nnode_templates:\n  policy_0:\n    type: dcae.nodes.policy\n    properties:\n      policy_id: \n        get_input: policy_id\n      policy_model_id: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\n  cdap_host_host:\n    type: dcae.nodes.StreamingAnalytics.SelectedCDAPInfrastructure\n    properties:\n      location_id:\n        get_input: location_id\n      scn_override: cdap_broker.solutioning-central.dcae.onap.org\n    interfaces:\n      cloudify.interfaces.lifecycle: {\n        }\n  tca_tca:\n    type: dcae.nodes.MicroService.cdap\n    properties:\n      app_config:\n        appDescription: DCAE Analytics Threshold Crossing Alert Application\n        appName: dcae-tca\n        tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n        tcaVESAlertsTableName: TCAVESAlertsTable\n        tcaVESAlertsTableTTLSeconds: \'1728000\'\n        tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n        tcaVESMessageStatusTableTTLSeconds: \'86400\'\n        thresholdCalculatorFlowletInstances: \'2\'\n      app_preferences:\n        publisherContentType: application/json\n        publisherHostName: mrlocal-mtnjftle01.onap.org\n        publisherHostPort: \'3905\'\n        publisherMaxBatchSize: \'10\'\n        publisherMaxRecoveryQueueSize: \'100000\'\n        publisherPollingInterval: \'20000\'\n        publisherProtocol: https\n        publisherTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESPub\n        publisherUserName: test@tca.af.dcae.onap.org\n        publisherUserPassword: password\n        subscriberConsumerGroup: OpenDCAE-c12\n        subscriberConsumerId: c12\n        subscriberContentType: application/json\n        subscriberHostName: mrlocal-mtnjftle01.onap.org\n        subscriberHostPort: \'3905\'\n        subscriberMessageLimit: \'-1\'\n        subscriberPollingInterval: \'20000\'\n        subscriberProtocol: https\n        subscriberTimeoutMS: \'-1\'\n        subscriberTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESSub\n        subscriberUserName: test@tca.af.dcae.onap.org\n        subscriberUserPassword: password\n        tca_policy: null\n      artifact_name: dcae-analytics-tca\n      artifact_version: 1.0.0\n      connections:\n        streams_publishes: [\n          ]\n        streams_subscribes: [\n          ]\n      jar_url: http://somejar\n      location_id:\n        get_input: location_id\n      namespace: cdap_tca_hi_lo\n      programs:\n      - program_id: TCAVESCollectorFlow\n        program_type: flows\n      - program_id: TCADMaaPMRSubscriberWorker\n        program_type: workers\n      - program_id: TCADMaaPMRPublisherWorker\n        program_type: workers\n      service_component_type: cdap_app_tca\n      service_id:\n        get_input: service_id\n      streamname: TCASubscriberOutputStream\n    relationships:\n    - target: topic0\n      type: dcae.relationships.subscribe_to_events\n    - target: topic1\n      type: dcae.relationships.publish_events\n    - target: cdap_host_host\n      type: dcae.relationships.component_contained_in\n    - target: policy_0\n      type: dcae.relationships.depends_on\n  topic0:\n    type: dcae.nodes.Topic\n    properties:\n      topic_name: \'\'\n  topic1:\n    type: dcae.nodes.Topic\n    properties:\n      topic_name: \'\'\n      \n','typeId-cea8ab39-c2a6-467c-8392-f5940cb06903',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"location_id\": \"\",\n    \"service_id\": \"\",\n    \"policy_id\": \"TCA_yHsgu_v1_0_ResourceInstanceName1_tca\"\n  }\n}','DESIGN','{\n  \"serviceDetails\": {\n    \"serviceType\": \"\",\n    \"namingPolicy\": \"\",\n    \"environmentContext\": \"General_Revenue-Bearing\",\n    \"serviceEcompNaming\": \"true\",\n    \"serviceRole\": \"\",\n    \"name\": \"vLoadBalancerMS\",\n    \"description\": \"vLBMS\",\n    \"invariantUUID\": \"30ec5b59-4799-48d8-ac5f-1058a6b0e48f\",\n    \"ecompGeneratedNaming\": \"true\",\n    \"category\": \"Network L4+\",\n    \"type\": \"Service\",\n    \"UUID\": \"63cac700-ab9a-4115-a74f-7eac85e3fce0\",\n    \"instantiationType\": \"A-la-carte\"\n  },\n  \"resourceDetails\": {\n    \"CP\": {},\n    \"VL\": {},\n    \"VF\": {\n      \"vLoadBalancerMS 0\": {\n        \"resourceVendor\": \"Test\",\n        \"resourceVendorModelNumber\": \"\",\n        \"name\": \"vLoadBalancerMS\",\n        \"description\": \"vLBMS\",\n        \"invariantUUID\": \"1a31b9f2-e50d-43b7-89b3-a040250cf506\",\n        \"subcategory\": \"Load Balancer\",\n        \"category\": \"Application L4+\",\n        \"type\": \"VF\",\n        \"UUID\": \"b4c4f3d7-929e-4b6d-a1cd-57e952ddc3e6\",\n        \"version\": \"1.0\",\n        \"resourceVendorRelease\": \"1.0\",\n        \"customizationUUID\": \"465246dc-7748-45f4-a013-308d92922552\"\n      }\n    },\n    \"CR\": {},\n    \"VFC\": {},\n    \"PNF\": {},\n    \"Service\": {},\n    \"CVFC\": {},\n    \"Service Proxy\": {},\n    \"Configuration\": {},\n    \"AllottedResource\": {},\n    \"VFModule\": {\n      \"Vloadbalancerms..vpkg..module-1\": {\n        \"vfModuleModelInvariantUUID\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..vpkg..module-1\",\n        \"vfModuleModelUUID\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n        \"vfModuleModelCustomizationUUID\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n        \"min_vf_module_instances\": 0,\n        \"vf_module_label\": \"vpkg\",\n        \"max_vf_module_instances\": 1,\n        \"vf_module_type\": \"Expansion\",\n        \"isBase\": false,\n        \"initial_count\": 0,\n        \"volume_group\": false\n      },\n      \"Vloadbalancerms..vdns..module-3\": {\n        \"vfModuleModelInvariantUUID\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..vdns..module-3\",\n        \"vfModuleModelUUID\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n        \"vfModuleModelCustomizationUUID\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n        \"min_vf_module_instances\": 0,\n        \"vf_module_label\": \"vdns\",\n        \"max_vf_module_instances\": 50,\n        \"vf_module_type\": \"Expansion\",\n        \"isBase\": false,\n        \"initial_count\": 0,\n        \"volume_group\": false\n      },\n      \"Vloadbalancerms..base_template..module-0\": {\n        \"vfModuleModelInvariantUUID\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..base_template..module-0\",\n        \"vfModuleModelUUID\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n        \"vfModuleModelCustomizationUUID\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n        \"min_vf_module_instances\": 1,\n        \"vf_module_label\": \"base_template\",\n        \"max_vf_module_instances\": 1,\n        \"vf_module_type\": \"Base\",\n        \"isBase\": true,\n        \"initial_count\": 1,\n        \"volume_group\": false\n      },\n      \"Vloadbalancerms..vlb..module-2\": {\n        \"vfModuleModelInvariantUUID\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..vlb..module-2\",\n        \"vfModuleModelUUID\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n        \"vfModuleModelCustomizationUUID\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n        \"min_vf_module_instances\": 0,\n        \"vf_module_label\": \"vlb\",\n        \"max_vf_module_instances\": 1,\n        \"vf_module_type\": \"Expansion\",\n        \"isBase\": false,\n        \"initial_count\": 0,\n        \"volume_group\": false\n      }\n    }\n  }\n}','{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs\",\n    \"type\": \"array\",\n    \"minItems\": 1,\n    \"maxItems\": 1,\n    \"title\": \"Operational policies\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"Operational Policy Item\",\n      \"id\": \"operational_policy_item\",\n      \"headerTemplate\": \"{{self.name}}\",\n      \"required\": [\n        \"name\",\n        \"configurationsJson\"\n      ],\n      \"properties\": {\n        \"name\": {\n          \"type\": \"string\",\n          \"title\": \"Operational policy name\",\n          \"readOnly\": \"True\"\n        },\n        \"configurationsJson\": {\n          \"type\": \"object\",\n          \"title\": \"Configuration\",\n          \"required\": [\n            \"operational_policy\",\n            \"guard_policies\"\n          ],\n          \"properties\": {\n            \"operational_policy\": {\n              \"type\": \"object\",\n              \"title\": \"Related Parameters\",\n              \"required\": [\n                \"controlLoop\",\n                \"policies\"\n              ],\n              \"properties\": {\n                \"controlLoop\": {\n                  \"type\": \"object\",\n                  \"title\": \"Control Loop details\",\n                  \"required\": [\n                    \"timeout\",\n                    \"abatement\",\n                    \"trigger_policy\",\n                    \"controlLoopName\"\n                  ],\n                  \"properties\": {\n                    \"timeout\": {\n                      \"type\": \"string\",\n                      \"title\": \"Overall Time Limit\",\n                      \"default\": \"0\",\n                      \"format\": \"number\"\n                    },\n                    \"abatement\": {\n                      \"type\": \"string\",\n                      \"title\": \"Abatement\",\n                      \"enum\": [\n                        \"True\",\n                        \"False\"\n                      ]\n                    },\n                    \"trigger_policy\": {\n                      \"type\": \"string\",\n                      \"title\": \"Policy Decision Entry\"\n                    },\n                    \"controlLoopName\": {\n                      \"type\": \"string\",\n                      \"title\": \"Control loop name\",\n                      \"readOnly\": \"True\"\n                    }\n                  }\n                },\n                \"policies\": {\n                  \"uniqueItems\": \"true\",\n                  \"id\": \"policies_array\",\n                  \"type\": \"array\",\n                  \"title\": \"Policy Decision Tree\",\n                  \"format\": \"tabs-top\",\n                  \"items\": {\n                    \"title\": \"Policy Decision\",\n                    \"type\": \"object\",\n                    \"id\": \"policy_item\",\n                    \"headerTemplate\": \"{{self.id}} - {{self.recipe}}\",\n                    \"format\": \"categories\",\n                    \"basicCategoryTitle\": \"recipe\",\n                    \"required\": [\n                      \"id\",\n                      \"recipe\",\n                      \"retry\",\n                      \"timeout\",\n                      \"actor\",\n                      \"success\",\n                      \"failure\",\n                      \"failure_timeout\",\n                      \"failure_retries\",\n                      \"failure_exception\",\n                      \"failure_guard\",\n                      \"target\"\n                    ],\n                    \"properties\": {\n                      \"id\": {\n                        \"default\": \"Policy 1\",\n                        \"title\": \"Policy ID\",\n                        \"type\": \"string\"\n                      },\n                      \"recipe\": {\n                        \"title\": \"Recipe\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"Restart\",\n                          \"Rebuild\",\n                          \"Migrate\",\n                          \"Health-Check\",\n                          \"ModifyConfig\",\n                          \"VF Module Create\",\n                          \"VF Module Delete\",\n                          \"Reroute\"\n                        ]\n                      },\n                      \"retry\": {\n                        \"default\": \"0\",\n                        \"title\": \"Number of Retry\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"timeout\": {\n                        \"default\": \"0\",\n                        \"title\": \"Timeout\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"actor\": {\n                        \"title\": \"Actor\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"APPC\",\n                          \"SO\",\n                          \"VFC\",\n                          \"SDNC\",\n                          \"SDNR\"\n                        ]\n                      },\n                      \"payload\": {\n                        \"title\": \"Payload (YAML)\",\n                        \"type\": \"string\",\n                        \"format\": \"textarea\"\n                      },\n                      \"success\": {\n                        \"default\": \"final_success\",\n                        \"title\": \"When Success\",\n                        \"type\": \"string\"\n                      },\n                      \"failure\": {\n                        \"default\": \"final_failure\",\n                        \"title\": \"When Failure\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_timeout\": {\n                        \"default\": \"final_failure_timeout\",\n                        \"title\": \"When Failure Timeout\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_retries\": {\n                        \"default\": \"final_failure_retries\",\n                        \"title\": \"When Failure Retries\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_exception\": {\n                        \"default\": \"final_failure_exception\",\n                        \"title\": \"When Failure Exception\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_guard\": {\n                        \"default\": \"final_failure_guard\",\n                        \"title\": \"When Failure Guard\",\n                        \"type\": \"string\"\n                      },\n                      \"target\": {\n                        \"type\": \"object\",\n                        \"required\": [\n                          \"type\",\n                          \"resourceID\"\n                        ],\n                        \"anyOf\": [\n                          {\n                            \"title\": \"User Defined\",\n                            \"additionalProperties\": \"True\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\",\n                                \"enum\": [\n                                  \"VNF\",\n                                  \"VFMODULE\",\n                                  \"VM\"\n                                ]\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VNF-vLoadBalancerMS 0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VNF\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"vLoadBalancerMS\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vpkg..module-1\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vdns..module-3\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..base_template..module-0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vlb..module-2\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          }\n                        ]\n                      }\n                    }\n                  }\n                }\n              }\n            },\n            \"guard_policies\": {\n              \"type\": \"array\",\n              \"format\": \"tabs-top\",\n              \"title\": \"Associated Guard policies\",\n              \"items\": {\n                \"headerTemplate\": \"{{self.policy-id}} - {{self.content.recipe}}\",\n                \"anyOf\": [\n                  {\n                    \"title\": \"Guard MinMax\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.minmax.new\",\n                        \"pattern\": \"^(guard.minmax\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"min\": {\n                            \"type\": \"string\",\n                            \"default\": \"0\"\n                          },\n                          \"max\": {\n                            \"type\": \"string\",\n                            \"default\": \"1\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"title\": \"Guard Frequency\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.frequency.new\",\n                        \"pattern\": \"^(guard.frequency\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"limit\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeWindow\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeUnits\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"minute\",\n                              \"hour\",\n                              \"day\",\n                              \"week\",\n                              \"month\",\n                              \"year\"\n                            ]\n                          }\n                        }\n                      }\n                    }\n                  }\n                ]\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"18\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-714265dd-ecd5-4898-842c-d276a9bf18eb\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"35\" x2=\"123\" y1=\"41\"/><polygon fill=\"none\" points=\" 121 39 121 43 125 41\"/><polygon points=\" 121 39 121 43 125 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"127\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"127\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"176.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"147\" x2=\"147\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-5c38d9f9-6640-448d-978a-da41e6085f95\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"250\" x2=\"338\" y1=\"41\"/><polygon fill=\"none\" points=\" 336 39 336 43 340 41\"/><polygon points=\" 336 39 336 43 340 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"TCA_yHsgu_v1_0_ResourceInstanceName1_tca\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"342\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"342\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"392\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">TCA</text><line y2=\"61\" fill=\"none\" x1=\"342\" x2=\"465\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-3d999b13-01f2-4544-a7f9-b20b39f01e9b\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"465\" x2=\"553\" y1=\"41\"/><polygon fill=\"none\" points=\" 551 39 551 43 555 41\"/><polygon points=\" 551 39 551 43 555 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"OperationalPolicy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"557\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"557\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"564.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">OperationalPolicy</text><line y2=\"1\" fill=\"none\" x1=\"557\" x2=\"618\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-3c3a2521-6755-49f7-bd88-bd9278ce59e2\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"680\" x2=\"768\" y1=\"41\"/><polygon fill=\"none\" points=\" 766 39 766 43 770 41\"/><polygon points=\" 766 39 766 43 770 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"4\"><circle fill=\"none\" r=\"17\" cx=\"789\" cy=\"41\"/></g></g></g></svg>');
-INSERT INTO `loops` VALUES ('LOOP_yHsgu_v1_0_ResourceInstanceName1_tca_3','tosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n  This blueprint deploys/manages the TCA module as a Docker container\n\nimports:\n  - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.12/k8splugin_types.yaml\n  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml\ninputs:\n  aaiEnrichmentHost:\n    type: string\n    default: \"aai.onap.svc.cluster.local\"\n  aaiEnrichmentPort:\n    type: string\n    default: \"8443\"\n  enableAAIEnrichment:\n    type: string\n    default: true\n  dmaap_host:\n    type: string\n    default: message-router.onap.svc.cluster.local\n  dmaap_port:\n    type: string\n    default: \"3904\"\n  enableRedisCaching:\n    type: string\n    default: false\n  redisHosts:\n    type: string\n    default: dcae-redis.onap.svc.cluster.local:6379\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0-STAGING-latest\"\n  consul_host:\n    type: string\n    default: consul-server.onap.svc.cluster.local\n  consul_port:\n    type: string\n    default: \"8500\"\n  cbs_host:\n    type: string\n    default: \"config-binding-service.dcae.svc.cluster.local\"\n  cbs_port:\n    type: string\n    default: \"10000\"\n  policy_id:\n    type: string\n    default: \"none\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which CDAPgui is exposed\n    default: \"32012\"\n  policy_model_id:\n    type: string\n    default: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\n\nnode_templates:\n  tca_k8s:\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n      - target: tca_policy\n        type: cloudify.relationships.depends_on\n    properties:\n        service_component_type: \'dcaegen2-analytics-tca\'\n        application_config: {}\n        docker_config: {}\n        image:\n          get_input: tag_version\n        log_info:\n          log_directory: \"/opt/app/TCAnalytics/logs\"\n        application_config:\n            app_config:\n                appDescription: DCAE Analytics Threshold Crossing Alert Application\n                appName: dcae-tca\n                tcaAlertsAbatementTableName: TCAAlertsAbatementTable\n                tcaAlertsAbatementTableTTLSeconds: \'1728000\'\n                tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n                tcaVESAlertsTableName: TCAVESAlertsTable\n                tcaVESAlertsTableTTLSeconds: \'1728000\'\n                tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n                tcaVESMessageStatusTableTTLSeconds: \'86400\'\n                thresholdCalculatorFlowletInstances: \'2\'\n            app_preferences:\n                aaiEnrichmentHost:\n                    get_input: aaiEnrichmentHost\n                aaiEnrichmentIgnoreSSLCertificateErrors: \'true\'\n                aaiEnrichmentPortNumber: \'8443\'\n                aaiEnrichmentProtocol: https\n                aaiEnrichmentUserName: dcae@dcae.onap.org\n                aaiEnrichmentUserPassword: demo123456!\n                aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query\n                aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf\n                enableAAIEnrichment:\n                    get_input: enableAAIEnrichment\n                enableRedisCaching:\n                    get_input: enableRedisCaching\n                redisHosts:\n                    get_input: redisHosts\n                enableAlertCEFFormat: \'false\'\n                publisherContentType: application/json\n                publisherHostName:\n                    get_input: dmaap_host\n                publisherHostPort:\n                    get_input: dmaap_port\n                publisherMaxBatchSize: \'1\'\n                publisherMaxRecoveryQueueSize: \'100000\'\n                publisherPollingInterval: \'20000\'\n                publisherProtocol: http\n                publisherTopicName: unauthenticated.DCAE_CL_OUTPUT\n                subscriberConsumerGroup: OpenDCAE-c12\n                subscriberConsumerId: c12\n                subscriberContentType: application/json\n                subscriberHostName:\n                    get_input: dmaap_host\n                subscriberHostPort:\n                    get_input: dmaap_port\n                subscriberMessageLimit: \'-1\'\n                subscriberPollingInterval: \'30000\'\n                subscriberProtocol: http\n                subscriberTimeoutMS: \'-1\'\n                subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT\n                tca_policy: \'\'\n        service_component_type: dcaegen2-analytics_tca\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n                DMAAPHOST:\n                    { get_input: dmaap_host }\n                DMAAPPORT:\n                    { get_input: dmaap_port }\n                DMAAPPUBTOPIC: \"unauthenticated.DCAE_CL_OUTPUT\"\n                DMAAPSUBTOPIC: \"unauthenticated.VES_MEASUREMENT_OUTPUT\"\n                AAIHOST:\n                    { get_input: aaiEnrichmentHost }\n                AAIPORT:\n                    { get_input: aaiEnrichmentPort }\n                CONSUL_HOST:\n                    { get_input: consul_host }\n                CONSUL_PORT:\n                    { get_input: consul_port }\n                CBS_HOST:\n                    { get_input: cbs_host }\n                CBS_PORT:\n                    { get_input: cbs_port }\n                CONFIG_BINDING_SERVICE: \"config_binding_service\"\n            ports:\n              - concat: [\"11011:\", { get_input: external_port }]\n  tca_policy:\n    type: dcae.nodes.policy\n    properties:\n      policy_id:\n           get_input: policy_id\n      policy_model_id: \n           get_input: policy_model_id\n','typeId-4ebc7a81-b235-4d45-84ad-5e9497f761bb',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"aaiEnrichmentHost\": \"aai.onap.svc.cluster.local\",\n    \"aaiEnrichmentPort\": \"8443\",\n    \"enableAAIEnrichment\": true,\n    \"dmaap_host\": \"message-router.onap.svc.cluster.local\",\n    \"dmaap_port\": \"3904\",\n    \"enableRedisCaching\": false,\n    \"redisHosts\": \"dcae-redis.onap.svc.cluster.local:6379\",\n    \"tag_version\": \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0-STAGING-latest\",\n    \"consul_host\": \"consul-server.onap.svc.cluster.local\",\n    \"consul_port\": \"8500\",\n    \"cbs_host\": \"config-binding-service.dcae.svc.cluster.local\",\n    \"cbs_port\": \"10000\",\n    \"external_port\": \"32012\",\n    \"policy_model_id\": \"onap.policies.monitoring.cdap.tca.hi.lo.app\",\n    \"policy_id\": \"tca_k8s_yHsgu_v1_0_ResourceInstanceName1_tca_3\"\n  }\n}','DESIGN','{\n  \"serviceDetails\": {\n    \"serviceType\": \"\",\n    \"namingPolicy\": \"\",\n    \"environmentContext\": \"General_Revenue-Bearing\",\n    \"serviceEcompNaming\": \"true\",\n    \"serviceRole\": \"\",\n    \"name\": \"vLoadBalancerMS\",\n    \"description\": \"vLBMS\",\n    \"invariantUUID\": \"30ec5b59-4799-48d8-ac5f-1058a6b0e48f\",\n    \"ecompGeneratedNaming\": \"true\",\n    \"category\": \"Network L4+\",\n    \"type\": \"Service\",\n    \"UUID\": \"63cac700-ab9a-4115-a74f-7eac85e3fce0\",\n    \"instantiationType\": \"A-la-carte\"\n  },\n  \"resourceDetails\": {\n    \"CP\": {},\n    \"VL\": {},\n    \"VF\": {\n      \"vLoadBalancerMS 0\": {\n        \"resourceVendor\": \"Test\",\n        \"resourceVendorModelNumber\": \"\",\n        \"name\": \"vLoadBalancerMS\",\n        \"description\": \"vLBMS\",\n        \"invariantUUID\": \"1a31b9f2-e50d-43b7-89b3-a040250cf506\",\n        \"subcategory\": \"Load Balancer\",\n        \"category\": \"Application L4+\",\n        \"type\": \"VF\",\n        \"UUID\": \"b4c4f3d7-929e-4b6d-a1cd-57e952ddc3e6\",\n        \"version\": \"1.0\",\n        \"resourceVendorRelease\": \"1.0\",\n        \"customizationUUID\": \"465246dc-7748-45f4-a013-308d92922552\"\n      }\n    },\n    \"CR\": {},\n    \"VFC\": {},\n    \"PNF\": {},\n    \"Service\": {},\n    \"CVFC\": {},\n    \"Service Proxy\": {},\n    \"Configuration\": {},\n    \"AllottedResource\": {},\n    \"VFModule\": {\n      \"Vloadbalancerms..vpkg..module-1\": {\n        \"vfModuleModelInvariantUUID\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..vpkg..module-1\",\n        \"vfModuleModelUUID\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n        \"vfModuleModelCustomizationUUID\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n        \"min_vf_module_instances\": 0,\n        \"vf_module_label\": \"vpkg\",\n        \"max_vf_module_instances\": 1,\n        \"vf_module_type\": \"Expansion\",\n        \"isBase\": false,\n        \"initial_count\": 0,\n        \"volume_group\": false\n      },\n      \"Vloadbalancerms..vdns..module-3\": {\n        \"vfModuleModelInvariantUUID\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..vdns..module-3\",\n        \"vfModuleModelUUID\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n        \"vfModuleModelCustomizationUUID\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n        \"min_vf_module_instances\": 0,\n        \"vf_module_label\": \"vdns\",\n        \"max_vf_module_instances\": 50,\n        \"vf_module_type\": \"Expansion\",\n        \"isBase\": false,\n        \"initial_count\": 0,\n        \"volume_group\": false\n      },\n      \"Vloadbalancerms..base_template..module-0\": {\n        \"vfModuleModelInvariantUUID\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..base_template..module-0\",\n        \"vfModuleModelUUID\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n        \"vfModuleModelCustomizationUUID\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n        \"min_vf_module_instances\": 1,\n        \"vf_module_label\": \"base_template\",\n        \"max_vf_module_instances\": 1,\n        \"vf_module_type\": \"Base\",\n        \"isBase\": true,\n        \"initial_count\": 1,\n        \"volume_group\": false\n      },\n      \"Vloadbalancerms..vlb..module-2\": {\n        \"vfModuleModelInvariantUUID\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..vlb..module-2\",\n        \"vfModuleModelUUID\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n        \"vfModuleModelCustomizationUUID\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n        \"min_vf_module_instances\": 0,\n        \"vf_module_label\": \"vlb\",\n        \"max_vf_module_instances\": 1,\n        \"vf_module_type\": \"Expansion\",\n        \"isBase\": false,\n        \"initial_count\": 0,\n        \"volume_group\": false\n      }\n    }\n  }\n}','{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs\",\n    \"type\": \"array\",\n    \"minItems\": 1,\n    \"maxItems\": 1,\n    \"title\": \"Operational policies\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"Operational Policy Item\",\n      \"id\": \"operational_policy_item\",\n      \"headerTemplate\": \"{{self.name}}\",\n      \"required\": [\n        \"name\",\n        \"configurationsJson\"\n      ],\n      \"properties\": {\n        \"name\": {\n          \"type\": \"string\",\n          \"title\": \"Operational policy name\",\n          \"readOnly\": \"True\"\n        },\n        \"configurationsJson\": {\n          \"type\": \"object\",\n          \"title\": \"Configuration\",\n          \"required\": [\n            \"operational_policy\",\n            \"guard_policies\"\n          ],\n          \"properties\": {\n            \"operational_policy\": {\n              \"type\": \"object\",\n              \"title\": \"Related Parameters\",\n              \"required\": [\n                \"controlLoop\",\n                \"policies\"\n              ],\n              \"properties\": {\n                \"controlLoop\": {\n                  \"type\": \"object\",\n                  \"title\": \"Control Loop details\",\n                  \"required\": [\n                    \"timeout\",\n                    \"abatement\",\n                    \"trigger_policy\",\n                    \"controlLoopName\"\n                  ],\n                  \"properties\": {\n                    \"timeout\": {\n                      \"type\": \"string\",\n                      \"title\": \"Overall Time Limit\",\n                      \"default\": \"0\",\n                      \"format\": \"number\"\n                    },\n                    \"abatement\": {\n                      \"type\": \"string\",\n                      \"title\": \"Abatement\",\n                      \"enum\": [\n                        \"True\",\n                        \"False\"\n                      ]\n                    },\n                    \"trigger_policy\": {\n                      \"type\": \"string\",\n                      \"title\": \"Policy Decision Entry\"\n                    },\n                    \"controlLoopName\": {\n                      \"type\": \"string\",\n                      \"title\": \"Control loop name\",\n                      \"readOnly\": \"True\"\n                    }\n                  }\n                },\n                \"policies\": {\n                  \"uniqueItems\": \"true\",\n                  \"id\": \"policies_array\",\n                  \"type\": \"array\",\n                  \"title\": \"Policy Decision Tree\",\n                  \"format\": \"tabs-top\",\n                  \"items\": {\n                    \"title\": \"Policy Decision\",\n                    \"type\": \"object\",\n                    \"id\": \"policy_item\",\n                    \"headerTemplate\": \"{{self.id}} - {{self.recipe}}\",\n                    \"format\": \"categories\",\n                    \"basicCategoryTitle\": \"recipe\",\n                    \"required\": [\n                      \"id\",\n                      \"recipe\",\n                      \"retry\",\n                      \"timeout\",\n                      \"actor\",\n                      \"success\",\n                      \"failure\",\n                      \"failure_timeout\",\n                      \"failure_retries\",\n                      \"failure_exception\",\n                      \"failure_guard\",\n                      \"target\"\n                    ],\n                    \"properties\": {\n                      \"id\": {\n                        \"default\": \"Policy 1\",\n                        \"title\": \"Policy ID\",\n                        \"type\": \"string\"\n                      },\n                      \"recipe\": {\n                        \"title\": \"Recipe\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"Restart\",\n                          \"Rebuild\",\n                          \"Migrate\",\n                          \"Health-Check\",\n                          \"ModifyConfig\",\n                          \"VF Module Create\",\n                          \"VF Module Delete\",\n                          \"Reroute\"\n                        ]\n                      },\n                      \"retry\": {\n                        \"default\": \"0\",\n                        \"title\": \"Number of Retry\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"timeout\": {\n                        \"default\": \"0\",\n                        \"title\": \"Timeout\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"actor\": {\n                        \"title\": \"Actor\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"APPC\",\n                          \"SO\",\n                          \"VFC\",\n                          \"SDNC\",\n                          \"SDNR\"\n                        ]\n                      },\n                      \"payload\": {\n                        \"title\": \"Payload (YAML)\",\n                        \"type\": \"string\",\n                        \"format\": \"textarea\"\n                      },\n                      \"success\": {\n                        \"default\": \"final_success\",\n                        \"title\": \"When Success\",\n                        \"type\": \"string\"\n                      },\n                      \"failure\": {\n                        \"default\": \"final_failure\",\n                        \"title\": \"When Failure\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_timeout\": {\n                        \"default\": \"final_failure_timeout\",\n                        \"title\": \"When Failure Timeout\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_retries\": {\n                        \"default\": \"final_failure_retries\",\n                        \"title\": \"When Failure Retries\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_exception\": {\n                        \"default\": \"final_failure_exception\",\n                        \"title\": \"When Failure Exception\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_guard\": {\n                        \"default\": \"final_failure_guard\",\n                        \"title\": \"When Failure Guard\",\n                        \"type\": \"string\"\n                      },\n                      \"target\": {\n                        \"type\": \"object\",\n                        \"required\": [\n                          \"type\",\n                          \"resourceID\"\n                        ],\n                        \"anyOf\": [\n                          {\n                            \"title\": \"User Defined\",\n                            \"additionalProperties\": \"True\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\",\n                                \"enum\": [\n                                  \"VNF\",\n                                  \"VFMODULE\",\n                                  \"VM\"\n                                ]\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VNF-vLoadBalancerMS 0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VNF\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"vLoadBalancerMS\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vpkg..module-1\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vdns..module-3\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..base_template..module-0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vlb..module-2\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          }\n                        ]\n                      }\n                    }\n                  }\n                }\n              }\n            },\n            \"guard_policies\": {\n              \"type\": \"array\",\n              \"format\": \"tabs-top\",\n              \"title\": \"Associated Guard policies\",\n              \"items\": {\n                \"headerTemplate\": \"{{self.policy-id}} - {{self.content.recipe}}\",\n                \"anyOf\": [\n                  {\n                    \"title\": \"Guard MinMax\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.minmax.new\",\n                        \"pattern\": \"^(guard.minmax\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"min\": {\n                            \"type\": \"string\",\n                            \"default\": \"0\"\n                          },\n                          \"max\": {\n                            \"type\": \"string\",\n                            \"default\": \"1\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"title\": \"Guard Frequency\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.frequency.new\",\n                        \"pattern\": \"^(guard.frequency\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"limit\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeWindow\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeUnits\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"minute\",\n                              \"hour\",\n                              \"day\",\n                              \"week\",\n                              \"month\",\n                              \"year\"\n                            ]\n                          }\n                        }\n                      }\n                    }\n                  }\n                ]\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"18\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-e9c3baa3-8628-45ab-aba7-d402ff446515\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"35\" x2=\"123\" y1=\"41\"/><polygon fill=\"none\" points=\" 121 39 121 43 125 41\"/><polygon points=\" 121 39 121 43 125 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"127\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"127\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"176.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"147\" x2=\"147\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-5f8c876b-e1a1-4ad5-8dc5-18f8857993c9\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"250\" x2=\"338\" y1=\"41\"/><polygon fill=\"none\" points=\" 336 39 336 43 340 41\"/><polygon points=\" 336 39 336 43 340 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"tca_k8s_yHsgu_v1_0_ResourceInstanceName1_tca_3\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"342\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"342\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"379.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">tca_k8s</text><line y2=\"61\" fill=\"none\" x1=\"342\" x2=\"465\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-97b2cf24-ce17-4c11-bce7-cc91380f7d36\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"465\" x2=\"553\" y1=\"41\"/><polygon fill=\"none\" points=\" 551 39 551 43 555 41\"/><polygon points=\" 551 39 551 43 555 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"OperationalPolicy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"557\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"557\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"564.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">OperationalPolicy</text><line y2=\"1\" fill=\"none\" x1=\"557\" x2=\"618\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-4750e86e-a8e3-4882-be43-1823d2602451\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"680\" x2=\"768\" y1=\"41\"/><polygon fill=\"none\" points=\" 766 39 766 43 770 41\"/><polygon points=\" 766 39 766 43 770 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"4\"><circle fill=\"none\" r=\"17\" cx=\"789\" cy=\"41\"/></g></g></g></svg>');
-INSERT INTO `loops` VALUES ('LOOP_yHsgu_v1_0_ResourceInstanceName2_tca_2','#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n  This blueprint deploys/manages the TCA module as a Docker container\n\nimports:\n  - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.12/k8splugin_types.yaml\n#  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml\n  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/clamppolicyplugin/1.0.0/clamppolicyplugin_types.yaml\ninputs:\n  aaiEnrichmentHost:\n    type: string\n    default: \"aai.onap.svc.cluster.local\"\n  aaiEnrichmentPort:\n    type: string\n    default: \"8443\"\n  enableAAIEnrichment:\n    type: string\n    default: true\n  dmaap_host:\n    type: string\n    default: message-router.onap\n  dmaap_port:\n    type: string\n    default: \"3904\"\n  enableRedisCaching:\n    type: string\n    default: false\n  redisHosts:\n    type: string\n    default: dcae-redis.onap.svc.cluster.local:6379\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.1\"\n  consul_host:\n    type: string\n    default: consul-server.onap\n  consul_port:\n    type: string\n    default: \"8500\"\n  cbs_host:\n    type: string\n    default: \"config-binding-servicel\"\n  cbs_port:\n    type: string\n    default: \"10000\"\n  policy_id:\n    type: string\n    default: \"onap.restart.tca\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which CDAPgui is exposed\n    default: \"32012\"\n  policy_model_id:\n    type: string\n    default: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\nnode_templates:\n  tca_k8s:\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n      - target: tca_policy\n        type: cloudify.relationships.depends_on\n    properties:\n        service_component_type: \'dcaegen2-analytics-tca\'\n        application_config: {}\n        docker_config: {}\n        image:\n          get_input: tag_version\n        log_info:\n          log_directory: \"/opt/app/TCAnalytics/logs\"\n        application_config:\n            app_config:\n                appDescription: DCAE Analytics Threshold Crossing Alert Application\n                appName: dcae-tca\n                tcaAlertsAbatementTableName: TCAAlertsAbatementTable\n                tcaAlertsAbatementTableTTLSeconds: \'1728000\'\n                tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n                tcaVESAlertsTableName: TCAVESAlertsTable\n                tcaVESAlertsTableTTLSeconds: \'1728000\'\n                tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n                tcaVESMessageStatusTableTTLSeconds: \'86400\'\n                thresholdCalculatorFlowletInstances: \'2\'\n            app_preferences:\n                aaiEnrichmentHost:\n                    get_input: aaiEnrichmentHost\n                aaiEnrichmentIgnoreSSLCertificateErrors: \'true\'\n                aaiEnrichmentPortNumber: \'8443\'\n                aaiEnrichmentProtocol: https\n                aaiEnrichmentUserName: dcae@dcae.onap.org\n                aaiEnrichmentUserPassword: demo123456!\n                aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query\n                aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf\n                enableAAIEnrichment:\n                    get_input: enableAAIEnrichment\n                enableRedisCaching:\n                    get_input: enableRedisCaching\n                redisHosts:\n                    get_input: redisHosts\n                enableAlertCEFFormat: \'false\'\n                publisherContentType: application/json\n                publisherHostName:\n                    get_input: dmaap_host\n                publisherHostPort:\n                    get_input: dmaap_port\n                publisherMaxBatchSize: \'1\'\n                publisherMaxRecoveryQueueSize: \'100000\'\n                publisherPollingInterval: \'20000\'\n                publisherProtocol: http\n                publisherTopicName: unauthenticated.DCAE_CL_OUTPUT\n                subscriberConsumerGroup: OpenDCAE-clamp\n                subscriberConsumerId: c12\n                subscriberContentType: application/json\n                subscriberHostName:\n                    get_input: dmaap_host\n                subscriberHostPort:\n                    get_input: dmaap_port\n                subscriberMessageLimit: \'-1\'\n                subscriberPollingInterval: \'30000\'\n                subscriberProtocol: http\n                subscriberTimeoutMS: \'-1\'\n                subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT\n#                tca_policy: \'{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}\'\n        service_component_type: dcaegen2-analytics_tca\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n                DMAAPHOST:\n                    { get_input: dmaap_host }\n                DMAAPPORT:\n                    { get_input: dmaap_port }\n                DMAAPPUBTOPIC: \"unauthenticated.DCAE_CL_OUTPUT\"\n                DMAAPSUBTOPIC: \"unauthenticated.VES_MEASUREMENT_OUTPUT\"\n                AAIHOST:\n                    { get_input: aaiEnrichmentHost }\n                AAIPORT:\n                    { get_input: aaiEnrichmentPort }\n                CONSUL_HOST:\n                    { get_input: consul_host }\n                CONSUL_PORT:\n                    { get_input: consul_port }\n                CBS_HOST:\n                    { get_input: cbs_host }\n                CBS_PORT:\n                    { get_input: cbs_port }\n                CONFIG_BINDING_SERVICE: \"config_binding_service\"\n            ports:\n              - concat: [\"11011:\", { get_input: external_port }]\n  tca_policy:\n    type: clamp.nodes.policy\n    properties:\n      policy_id:\n           get_input: policy_id\n      policy_model_id: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\n','typeId-f3f5a314-25aa-46c8-87c2-65686b510940',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"aaiEnrichmentHost\": \"aai.onap.svc.cluster.local\",\n    \"aaiEnrichmentPort\": \"8443\",\n    \"enableAAIEnrichment\": true,\n    \"dmaap_host\": \"message-router.onap\",\n    \"dmaap_port\": \"3904\",\n    \"enableRedisCaching\": false,\n    \"redisHosts\": \"dcae-redis.onap.svc.cluster.local:6379\",\n    \"tag_version\": \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.1\",\n    \"consul_host\": \"consul-server.onap\",\n    \"consul_port\": \"8500\",\n    \"cbs_host\": \"config-binding-servicel\",\n    \"cbs_port\": \"10000\",\n    \"external_port\": \"32012\",\n    \"policy_model_id\": \"onap.policies.monitoring.cdap.tca.hi.lo.app\",\n    \"policy_id\": \"tca_k8s_yHsgu_v1_0_ResourceInstanceName2_tca_2\"\n  }\n}','DESIGN','{\n  \"serviceDetails\": {\n    \"serviceType\": \"\",\n    \"namingPolicy\": \"\",\n    \"environmentContext\": \"General_Revenue-Bearing\",\n    \"serviceEcompNaming\": \"true\",\n    \"serviceRole\": \"\",\n    \"name\": \"vLoadBalancerMS\",\n    \"description\": \"vLBMS\",\n    \"invariantUUID\": \"30ec5b59-4799-48d8-ac5f-1058a6b0e48f\",\n    \"ecompGeneratedNaming\": \"true\",\n    \"category\": \"Network L4+\",\n    \"type\": \"Service\",\n    \"UUID\": \"63cac700-ab9a-4115-a74f-7eac85e3fce0\",\n    \"instantiationType\": \"A-la-carte\"\n  },\n  \"resourceDetails\": {\n    \"CP\": {},\n    \"VL\": {},\n    \"VF\": {\n      \"vLoadBalancerMS 0\": {\n        \"resourceVendor\": \"Test\",\n        \"resourceVendorModelNumber\": \"\",\n        \"name\": \"vLoadBalancerMS\",\n        \"description\": \"vLBMS\",\n        \"invariantUUID\": \"1a31b9f2-e50d-43b7-89b3-a040250cf506\",\n        \"subcategory\": \"Load Balancer\",\n        \"category\": \"Application L4+\",\n        \"type\": \"VF\",\n        \"UUID\": \"b4c4f3d7-929e-4b6d-a1cd-57e952ddc3e6\",\n        \"version\": \"1.0\",\n        \"resourceVendorRelease\": \"1.0\",\n        \"customizationUUID\": \"465246dc-7748-45f4-a013-308d92922552\"\n      }\n    },\n    \"CR\": {},\n    \"VFC\": {},\n    \"PNF\": {},\n    \"Service\": {},\n    \"CVFC\": {},\n    \"Service Proxy\": {},\n    \"Configuration\": {},\n    \"AllottedResource\": {},\n    \"VFModule\": {\n      \"Vloadbalancerms..vpkg..module-1\": {\n        \"vfModuleModelInvariantUUID\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..vpkg..module-1\",\n        \"vfModuleModelUUID\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n        \"vfModuleModelCustomizationUUID\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n        \"min_vf_module_instances\": 0,\n        \"vf_module_label\": \"vpkg\",\n        \"max_vf_module_instances\": 1,\n        \"vf_module_type\": \"Expansion\",\n        \"isBase\": false,\n        \"initial_count\": 0,\n        \"volume_group\": false\n      },\n      \"Vloadbalancerms..vdns..module-3\": {\n        \"vfModuleModelInvariantUUID\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..vdns..module-3\",\n        \"vfModuleModelUUID\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n        \"vfModuleModelCustomizationUUID\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n        \"min_vf_module_instances\": 0,\n        \"vf_module_label\": \"vdns\",\n        \"max_vf_module_instances\": 50,\n        \"vf_module_type\": \"Expansion\",\n        \"isBase\": false,\n        \"initial_count\": 0,\n        \"volume_group\": false\n      },\n      \"Vloadbalancerms..base_template..module-0\": {\n        \"vfModuleModelInvariantUUID\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..base_template..module-0\",\n        \"vfModuleModelUUID\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n        \"vfModuleModelCustomizationUUID\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n        \"min_vf_module_instances\": 1,\n        \"vf_module_label\": \"base_template\",\n        \"max_vf_module_instances\": 1,\n        \"vf_module_type\": \"Base\",\n        \"isBase\": true,\n        \"initial_count\": 1,\n        \"volume_group\": false\n      },\n      \"Vloadbalancerms..vlb..module-2\": {\n        \"vfModuleModelInvariantUUID\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n        \"vfModuleModelVersion\": \"1\",\n        \"vfModuleModelName\": \"Vloadbalancerms..vlb..module-2\",\n        \"vfModuleModelUUID\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n        \"vfModuleModelCustomizationUUID\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n        \"min_vf_module_instances\": 0,\n        \"vf_module_label\": \"vlb\",\n        \"max_vf_module_instances\": 1,\n        \"vf_module_type\": \"Expansion\",\n        \"isBase\": false,\n        \"initial_count\": 0,\n        \"volume_group\": false\n      }\n    }\n  }\n}','{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs\",\n    \"type\": \"array\",\n    \"minItems\": 1,\n    \"maxItems\": 1,\n    \"title\": \"Operational policies\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"Operational Policy Item\",\n      \"id\": \"operational_policy_item\",\n      \"headerTemplate\": \"{{self.name}}\",\n      \"required\": [\n        \"name\",\n        \"configurationsJson\"\n      ],\n      \"properties\": {\n        \"name\": {\n          \"type\": \"string\",\n          \"title\": \"Operational policy name\",\n          \"readOnly\": \"True\"\n        },\n        \"configurationsJson\": {\n          \"type\": \"object\",\n          \"title\": \"Configuration\",\n          \"required\": [\n            \"operational_policy\",\n            \"guard_policies\"\n          ],\n          \"properties\": {\n            \"operational_policy\": {\n              \"type\": \"object\",\n              \"title\": \"Related Parameters\",\n              \"required\": [\n                \"controlLoop\",\n                \"policies\"\n              ],\n              \"properties\": {\n                \"controlLoop\": {\n                  \"type\": \"object\",\n                  \"title\": \"Control Loop details\",\n                  \"required\": [\n                    \"timeout\",\n                    \"abatement\",\n                    \"trigger_policy\",\n                    \"controlLoopName\"\n                  ],\n                  \"properties\": {\n                    \"timeout\": {\n                      \"type\": \"string\",\n                      \"title\": \"Overall Time Limit\",\n                      \"default\": \"0\",\n                      \"format\": \"number\"\n                    },\n                    \"abatement\": {\n                      \"type\": \"string\",\n                      \"title\": \"Abatement\",\n                      \"enum\": [\n                        \"True\",\n                        \"False\"\n                      ]\n                    },\n                    \"trigger_policy\": {\n                      \"type\": \"string\",\n                      \"title\": \"Policy Decision Entry\"\n                    },\n                    \"controlLoopName\": {\n                      \"type\": \"string\",\n                      \"title\": \"Control loop name\",\n                      \"readOnly\": \"True\"\n                    }\n                  }\n                },\n                \"policies\": {\n                  \"uniqueItems\": \"true\",\n                  \"id\": \"policies_array\",\n                  \"type\": \"array\",\n                  \"title\": \"Policy Decision Tree\",\n                  \"format\": \"tabs-top\",\n                  \"items\": {\n                    \"title\": \"Policy Decision\",\n                    \"type\": \"object\",\n                    \"id\": \"policy_item\",\n                    \"headerTemplate\": \"{{self.id}} - {{self.recipe}}\",\n                    \"format\": \"categories\",\n                    \"basicCategoryTitle\": \"recipe\",\n                    \"required\": [\n                      \"id\",\n                      \"recipe\",\n                      \"retry\",\n                      \"timeout\",\n                      \"actor\",\n                      \"success\",\n                      \"failure\",\n                      \"failure_timeout\",\n                      \"failure_retries\",\n                      \"failure_exception\",\n                      \"failure_guard\",\n                      \"target\"\n                    ],\n                    \"properties\": {\n                      \"id\": {\n                        \"default\": \"Policy 1\",\n                        \"title\": \"Policy ID\",\n                        \"type\": \"string\"\n                      },\n                      \"recipe\": {\n                        \"title\": \"Recipe\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"Restart\",\n                          \"Rebuild\",\n                          \"Migrate\",\n                          \"Health-Check\",\n                          \"ModifyConfig\",\n                          \"VF Module Create\",\n                          \"VF Module Delete\",\n                          \"Reroute\"\n                        ]\n                      },\n                      \"retry\": {\n                        \"default\": \"0\",\n                        \"title\": \"Number of Retry\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"timeout\": {\n                        \"default\": \"0\",\n                        \"title\": \"Timeout\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"actor\": {\n                        \"title\": \"Actor\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"APPC\",\n                          \"SO\",\n                          \"VFC\",\n                          \"SDNC\",\n                          \"SDNR\"\n                        ]\n                      },\n                      \"payload\": {\n                        \"title\": \"Payload (YAML)\",\n                        \"type\": \"string\",\n                        \"format\": \"textarea\"\n                      },\n                      \"success\": {\n                        \"default\": \"final_success\",\n                        \"title\": \"When Success\",\n                        \"type\": \"string\"\n                      },\n                      \"failure\": {\n                        \"default\": \"final_failure\",\n                        \"title\": \"When Failure\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_timeout\": {\n                        \"default\": \"final_failure_timeout\",\n                        \"title\": \"When Failure Timeout\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_retries\": {\n                        \"default\": \"final_failure_retries\",\n                        \"title\": \"When Failure Retries\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_exception\": {\n                        \"default\": \"final_failure_exception\",\n                        \"title\": \"When Failure Exception\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_guard\": {\n                        \"default\": \"final_failure_guard\",\n                        \"title\": \"When Failure Guard\",\n                        \"type\": \"string\"\n                      },\n                      \"target\": {\n                        \"type\": \"object\",\n                        \"required\": [\n                          \"type\",\n                          \"resourceID\"\n                        ],\n                        \"anyOf\": [\n                          {\n                            \"title\": \"User Defined\",\n                            \"additionalProperties\": \"True\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\",\n                                \"enum\": [\n                                  \"VNF\",\n                                  \"VFMODULE\",\n                                  \"VM\"\n                                ]\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VNF-vLoadBalancerMS 0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VNF\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"vLoadBalancerMS\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vpkg..module-1\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vdns..module-3\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..base_template..module-0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vlb..module-2\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          }\n                        ]\n                      }\n                    }\n                  }\n                }\n              }\n            },\n            \"guard_policies\": {\n              \"type\": \"array\",\n              \"format\": \"tabs-top\",\n              \"title\": \"Associated Guard policies\",\n              \"items\": {\n                \"headerTemplate\": \"{{self.policy-id}} - {{self.content.recipe}}\",\n                \"anyOf\": [\n                  {\n                    \"title\": \"Guard MinMax\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.minmax.new\",\n                        \"pattern\": \"^(guard.minmax\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"min\": {\n                            \"type\": \"string\",\n                            \"default\": \"0\"\n                          },\n                          \"max\": {\n                            \"type\": \"string\",\n                            \"default\": \"1\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"title\": \"Guard Frequency\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.frequency.new\",\n                        \"pattern\": \"^(guard.frequency\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"limit\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeWindow\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeUnits\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"minute\",\n                              \"hour\",\n                              \"day\",\n                              \"week\",\n                              \"month\",\n                              \"year\"\n                            ]\n                          }\n                        }\n                      }\n                    }\n                  }\n                ]\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"18\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-8fb9df1b-1a8e-42fa-bc68-897d347195a4\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"35\" x2=\"123\" y1=\"41\"/><polygon fill=\"none\" points=\" 121 39 121 43 125 41\"/><polygon points=\" 121 39 121 43 125 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"127\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"127\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"176.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"147\" x2=\"147\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-e7c96cae-3a70-4da1-85f8-bdc0c405618b\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"250\" x2=\"338\" y1=\"41\"/><polygon fill=\"none\" points=\" 336 39 336 43 340 41\"/><polygon points=\" 336 39 336 43 340 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"tca_k8s_yHsgu_v1_0_ResourceInstanceName2_tca_2\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"342\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"342\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"379.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">tca_k8s</text><line y2=\"61\" fill=\"none\" x1=\"342\" x2=\"465\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-37ffb78c-7f22-4ab1-b35e-3af1cb981625\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"465\" x2=\"553\" y1=\"41\"/><polygon fill=\"none\" points=\" 551 39 551 43 555 41\"/><polygon points=\" 551 39 551 43 555 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"OperationalPolicy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"557\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"557\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"564.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">OperationalPolicy</text><line y2=\"1\" fill=\"none\" x1=\"557\" x2=\"618\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-f158a132-21cd-4ec7-9951-1527d84ea536\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"680\" x2=\"768\" y1=\"41\"/><polygon fill=\"none\" points=\" 766 39 766 43 770 41\"/><polygon points=\" 766 39 766 43 770 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"4\"><circle fill=\"none\" r=\"17\" cx=\"789\" cy=\"41\"/></g></g></g></svg>');
+INSERT INTO `loops` VALUES ('LOOP_jkJJ0_v1_0_ResourceInstanceName1_tca','','2020-01-16 11:40:15.417599','','2020-01-16 11:40:15.417599','tosca_definitions_version: cloudify_dsl_1_3\nimports:\n- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/docker/2.2.0/node-type.yaml\n- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/relationship/1.0.0/node-type.yaml\n- http://onap.org:8081/repository/solutioning01-mte2-raw/type_files/dmaap/dmaap_mr.yaml\ninputs:\n  location_id:\n    type: string\n  service_id:\n    type: string\n  policy_id:\n    type: string\nnode_templates:\n  policy_0:\n    type: dcae.nodes.policy\n    properties:\n      policy_id: \n        get_input: policy_id\n      policy_model_id: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\n  cdap_host_host:\n    type: dcae.nodes.StreamingAnalytics.SelectedCDAPInfrastructure\n    properties:\n      location_id:\n        get_input: location_id\n      scn_override: cdap_broker.solutioning-central.dcae.onap.org\n    interfaces:\n      cloudify.interfaces.lifecycle: {\n        }\n  tca_tca:\n    type: dcae.nodes.MicroService.cdap\n    properties:\n      app_config:\n        appDescription: DCAE Analytics Threshold Crossing Alert Application\n        appName: dcae-tca\n        tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n        tcaVESAlertsTableName: TCAVESAlertsTable\n        tcaVESAlertsTableTTLSeconds: \'1728000\'\n        tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n        tcaVESMessageStatusTableTTLSeconds: \'86400\'\n        thresholdCalculatorFlowletInstances: \'2\'\n      app_preferences:\n        publisherContentType: application/json\n        publisherHostName: mrlocal-mtnjftle01.onap.org\n        publisherHostPort: \'3905\'\n        publisherMaxBatchSize: \'10\'\n        publisherMaxRecoveryQueueSize: \'100000\'\n        publisherPollingInterval: \'20000\'\n        publisherProtocol: https\n        publisherTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESPub\n        publisherUserName: test@tca.af.dcae.onap.org\n        publisherUserPassword: password\n        subscriberConsumerGroup: OpenDCAE-c12\n        subscriberConsumerId: c12\n        subscriberContentType: application/json\n        subscriberHostName: mrlocal-mtnjftle01.onap.org\n        subscriberHostPort: \'3905\'\n        subscriberMessageLimit: \'-1\'\n        subscriberPollingInterval: \'20000\'\n        subscriberProtocol: https\n        subscriberTimeoutMS: \'-1\'\n        subscriberTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESSub\n        subscriberUserName: test@tca.af.dcae.onap.org\n        subscriberUserPassword: password\n        tca_policy: null\n      artifact_name: dcae-analytics-tca\n      artifact_version: 1.0.0\n      connections:\n        streams_publishes: [\n          ]\n        streams_subscribes: [\n          ]\n      jar_url: http://somejar\n      location_id:\n        get_input: location_id\n      namespace: cdap_tca_hi_lo\n      programs:\n      - program_id: TCAVESCollectorFlow\n        program_type: flows\n      - program_id: TCADMaaPMRSubscriberWorker\n        program_type: workers\n      - program_id: TCADMaaPMRPublisherWorker\n        program_type: workers\n      service_component_type: cdap_app_tca\n      service_id:\n        get_input: service_id\n      streamname: TCASubscriberOutputStream\n    relationships:\n    - target: topic0\n      type: dcae.relationships.subscribe_to_events\n    - target: topic1\n      type: dcae.relationships.publish_events\n    - target: cdap_host_host\n      type: dcae.relationships.component_contained_in\n    - target: policy_0\n      type: dcae.relationships.depends_on\n  topic0:\n    type: dcae.nodes.Topic\n    properties:\n      topic_name: \'\'\n  topic1:\n    type: dcae.nodes.Topic\n    properties:\n      topic_name: \'\'\n      \n','typeId-18ab8a65-b4c0-4380-9f50-fb790fcb96e0',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"location_id\": \"\",\n    \"service_id\": \"\",\n    \"policy_id\": \"TCA_jkJJ0_v1_0_ResourceInstanceName1_tca\"\n  }\n}','DESIGN','{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs\",\n    \"type\": \"array\",\n    \"minItems\": 1,\n    \"maxItems\": 1,\n    \"title\": \"Operational policies\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"Operational Policy Item\",\n      \"id\": \"operational_policy_item\",\n      \"headerTemplate\": \"{{self.name}}\",\n      \"required\": [\n        \"name\",\n        \"configurationsJson\"\n      ],\n      \"properties\": {\n        \"name\": {\n          \"type\": \"string\",\n          \"title\": \"Operational policy name\",\n          \"readOnly\": \"True\"\n        },\n        \"configurationsJson\": {\n          \"type\": \"object\",\n          \"title\": \"Configuration\",\n          \"required\": [\n            \"operational_policy\",\n            \"guard_policies\"\n          ],\n          \"properties\": {\n            \"operational_policy\": {\n              \"type\": \"object\",\n              \"title\": \"Related Parameters\",\n              \"required\": [\n                \"controlLoop\",\n                \"policies\"\n              ],\n              \"properties\": {\n                \"controlLoop\": {\n                  \"type\": \"object\",\n                  \"title\": \"Control Loop details\",\n                  \"required\": [\n                    \"timeout\",\n                    \"abatement\",\n                    \"trigger_policy\",\n                    \"controlLoopName\"\n                  ],\n                  \"properties\": {\n                    \"timeout\": {\n                      \"type\": \"string\",\n                      \"title\": \"Overall Time Limit\",\n                      \"default\": \"0\",\n                      \"format\": \"number\"\n                    },\n                    \"abatement\": {\n                      \"type\": \"string\",\n                      \"title\": \"Abatement\",\n                      \"enum\": [\n                        \"True\",\n                        \"False\"\n                      ]\n                    },\n                    \"trigger_policy\": {\n                      \"type\": \"string\",\n                      \"title\": \"Policy Decision Entry\"\n                    },\n                    \"controlLoopName\": {\n                      \"type\": \"string\",\n                      \"title\": \"Control loop name\",\n                      \"readOnly\": \"True\"\n                    }\n                  }\n                },\n                \"policies\": {\n                  \"uniqueItems\": \"true\",\n                  \"id\": \"policies_array\",\n                  \"type\": \"array\",\n                  \"title\": \"Policy Decision Tree\",\n                  \"format\": \"tabs-top\",\n                  \"items\": {\n                    \"title\": \"Policy Decision\",\n                    \"type\": \"object\",\n                    \"id\": \"policy_item\",\n                    \"headerTemplate\": \"{{self.id}} - {{self.recipe}}\",\n                    \"format\": \"categories\",\n                    \"basicCategoryTitle\": \"recipe\",\n                    \"required\": [\n                      \"id\",\n                      \"recipe\",\n                      \"retry\",\n                      \"timeout\",\n                      \"actor\",\n                      \"success\",\n                      \"failure\",\n                      \"failure_timeout\",\n                      \"failure_retries\",\n                      \"failure_exception\",\n                      \"failure_guard\",\n                      \"target\"\n                    ],\n                    \"properties\": {\n                      \"id\": {\n                        \"default\": \"Policy 1\",\n                        \"title\": \"Policy ID\",\n                        \"type\": \"string\"\n                      },\n                      \"recipe\": {\n                        \"title\": \"Recipe\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"Restart\",\n                          \"Rebuild\",\n                          \"Migrate\",\n                          \"Health-Check\",\n                          \"ModifyConfig\",\n                          \"VF Module Create\",\n                          \"VF Module Delete\",\n                          \"Reroute\"\n                        ]\n                      },\n                      \"retry\": {\n                        \"default\": \"0\",\n                        \"title\": \"Number of Retry\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"timeout\": {\n                        \"default\": \"0\",\n                        \"title\": \"Timeout\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"actor\": {\n                        \"title\": \"Actor\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"APPC\",\n                          \"SO\",\n                          \"VFC\",\n                          \"SDNC\",\n                          \"SDNR\"\n                        ]\n                      },\n                      \"payload\": {\n                        \"title\": \"Payload (YAML)\",\n                        \"type\": \"string\",\n                        \"format\": \"textarea\"\n                      },\n                      \"success\": {\n                        \"default\": \"final_success\",\n                        \"title\": \"When Success\",\n                        \"type\": \"string\"\n                      },\n                      \"failure\": {\n                        \"default\": \"final_failure\",\n                        \"title\": \"When Failure\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_timeout\": {\n                        \"default\": \"final_failure_timeout\",\n                        \"title\": \"When Failure Timeout\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_retries\": {\n                        \"default\": \"final_failure_retries\",\n                        \"title\": \"When Failure Retries\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_exception\": {\n                        \"default\": \"final_failure_exception\",\n                        \"title\": \"When Failure Exception\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_guard\": {\n                        \"default\": \"final_failure_guard\",\n                        \"title\": \"When Failure Guard\",\n                        \"type\": \"string\"\n                      },\n                      \"target\": {\n                        \"type\": \"object\",\n                        \"required\": [\n                          \"type\",\n                          \"resourceID\"\n                        ],\n                        \"anyOf\": [\n                          {\n                            \"title\": \"User Defined\",\n                            \"additionalProperties\": \"True\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\",\n                                \"enum\": [\n                                  \"VNF\",\n                                  \"VFMODULE\",\n                                  \"VM\"\n                                ]\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VNF-vLoadBalancerMS 0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VNF\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"vLoadBalancerMS\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vpkg..module-1\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vdns..module-3\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..base_template..module-0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vlb..module-2\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          }\n                        ]\n                      }\n                    }\n                  }\n                }\n              }\n            },\n            \"guard_policies\": {\n              \"type\": \"array\",\n              \"format\": \"tabs-top\",\n              \"title\": \"Associated Guard policies\",\n              \"items\": {\n                \"headerTemplate\": \"{{self.policy-id}} - {{self.content.recipe}}\",\n                \"anyOf\": [\n                  {\n                    \"title\": \"Guard MinMax\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.minmax.new\",\n                        \"pattern\": \"^(guard.minmax\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"min\": {\n                            \"type\": \"string\",\n                            \"default\": \"0\"\n                          },\n                          \"max\": {\n                            \"type\": \"string\",\n                            \"default\": \"1\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"title\": \"Guard Frequency\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.frequency.new\",\n                        \"pattern\": \"^(guard.frequency\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"limit\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeWindow\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeUnits\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"minute\",\n                              \"hour\",\n                              \"day\",\n                              \"week\",\n                              \"month\",\n                              \"year\"\n                            ]\n                          }\n                        }\n                      }\n                    }\n                  }\n                ]\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"18\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-f014f3d8-7921-4935-aea5-1155f83035d6\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"35\" x2=\"123\" y1=\"41\"/><polygon fill=\"none\" points=\" 121 39 121 43 125 41\"/><polygon points=\" 121 39 121 43 125 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"127\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"127\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"176.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"147\" x2=\"147\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-fe357e05-abfc-4223-b5fa-580ad6567bf3\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"250\" x2=\"338\" y1=\"41\"/><polygon fill=\"none\" points=\" 336 39 336 43 340 41\"/><polygon points=\" 336 39 336 43 340 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"TCA_jkJJ0_v1_0_ResourceInstanceName1_tca\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"342\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"342\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"392\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">TCA</text><line y2=\"61\" fill=\"none\" x1=\"342\" x2=\"465\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-839f73cc-095a-48fa-ad9c-ffd46132c188\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"465\" x2=\"553\" y1=\"41\"/><polygon fill=\"none\" points=\" 551 39 551 43 555 41\"/><polygon points=\" 551 39 551 43 555 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"OperationalPolicy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"557\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"557\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"564.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">OperationalPolicy</text><line y2=\"1\" fill=\"none\" x1=\"557\" x2=\"618\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-1d0ff2c6-5b43-4f35-99dd-30a30dae94ff\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"680\" x2=\"768\" y1=\"41\"/><polygon fill=\"none\" points=\" 766 39 766 43 770 41\"/><polygon points=\" 766 39 766 43 770 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"4\"><circle fill=\"none\" r=\"17\" cx=\"789\" cy=\"41\"/></g></g></g></svg>',NULL,'63cac700-ab9a-4115-a74f-7eac85e3fce0');
+INSERT INTO `loops` VALUES ('LOOP_jkJJ0_v1_0_ResourceInstanceName1_tca_3','','2020-01-16 11:40:15.298873','','2020-01-16 11:40:15.298873','tosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n  This blueprint deploys/manages the TCA module as a Docker container\n\nimports:\n  - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.12/k8splugin_types.yaml\n  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml\ninputs:\n  aaiEnrichmentHost:\n    type: string\n    default: \"aai.onap.svc.cluster.local\"\n  aaiEnrichmentPort:\n    type: string\n    default: \"8443\"\n  enableAAIEnrichment:\n    type: string\n    default: true\n  dmaap_host:\n    type: string\n    default: message-router.onap.svc.cluster.local\n  dmaap_port:\n    type: string\n    default: \"3904\"\n  enableRedisCaching:\n    type: string\n    default: false\n  redisHosts:\n    type: string\n    default: dcae-redis.onap.svc.cluster.local:6379\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0-STAGING-latest\"\n  consul_host:\n    type: string\n    default: consul-server.onap.svc.cluster.local\n  consul_port:\n    type: string\n    default: \"8500\"\n  cbs_host:\n    type: string\n    default: \"config-binding-service.dcae.svc.cluster.local\"\n  cbs_port:\n    type: string\n    default: \"10000\"\n  policy_id:\n    type: string\n    default: \"none\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which CDAPgui is exposed\n    default: \"32012\"\n  policy_model_id:\n    type: string\n    default: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\n\nnode_templates:\n  tca_k8s:\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n      - target: tca_policy\n        type: cloudify.relationships.depends_on\n    properties:\n        service_component_type: \'dcaegen2-analytics-tca\'\n        application_config: {}\n        docker_config: {}\n        image:\n          get_input: tag_version\n        log_info:\n          log_directory: \"/opt/app/TCAnalytics/logs\"\n        application_config:\n            app_config:\n                appDescription: DCAE Analytics Threshold Crossing Alert Application\n                appName: dcae-tca\n                tcaAlertsAbatementTableName: TCAAlertsAbatementTable\n                tcaAlertsAbatementTableTTLSeconds: \'1728000\'\n                tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n                tcaVESAlertsTableName: TCAVESAlertsTable\n                tcaVESAlertsTableTTLSeconds: \'1728000\'\n                tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n                tcaVESMessageStatusTableTTLSeconds: \'86400\'\n                thresholdCalculatorFlowletInstances: \'2\'\n            app_preferences:\n                aaiEnrichmentHost:\n                    get_input: aaiEnrichmentHost\n                aaiEnrichmentIgnoreSSLCertificateErrors: \'true\'\n                aaiEnrichmentPortNumber: \'8443\'\n                aaiEnrichmentProtocol: https\n                aaiEnrichmentUserName: dcae@dcae.onap.org\n                aaiEnrichmentUserPassword: demo123456!\n                aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query\n                aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf\n                enableAAIEnrichment:\n                    get_input: enableAAIEnrichment\n                enableRedisCaching:\n                    get_input: enableRedisCaching\n                redisHosts:\n                    get_input: redisHosts\n                enableAlertCEFFormat: \'false\'\n                publisherContentType: application/json\n                publisherHostName:\n                    get_input: dmaap_host\n                publisherHostPort:\n                    get_input: dmaap_port\n                publisherMaxBatchSize: \'1\'\n                publisherMaxRecoveryQueueSize: \'100000\'\n                publisherPollingInterval: \'20000\'\n                publisherProtocol: http\n                publisherTopicName: unauthenticated.DCAE_CL_OUTPUT\n                subscriberConsumerGroup: OpenDCAE-c12\n                subscriberConsumerId: c12\n                subscriberContentType: application/json\n                subscriberHostName:\n                    get_input: dmaap_host\n                subscriberHostPort:\n                    get_input: dmaap_port\n                subscriberMessageLimit: \'-1\'\n                subscriberPollingInterval: \'30000\'\n                subscriberProtocol: http\n                subscriberTimeoutMS: \'-1\'\n                subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT\n                tca_policy: \'\'\n        service_component_type: dcaegen2-analytics_tca\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n                DMAAPHOST:\n                    { get_input: dmaap_host }\n                DMAAPPORT:\n                    { get_input: dmaap_port }\n                DMAAPPUBTOPIC: \"unauthenticated.DCAE_CL_OUTPUT\"\n                DMAAPSUBTOPIC: \"unauthenticated.VES_MEASUREMENT_OUTPUT\"\n                AAIHOST:\n                    { get_input: aaiEnrichmentHost }\n                AAIPORT:\n                    { get_input: aaiEnrichmentPort }\n                CONSUL_HOST:\n                    { get_input: consul_host }\n                CONSUL_PORT:\n                    { get_input: consul_port }\n                CBS_HOST:\n                    { get_input: cbs_host }\n                CBS_PORT:\n                    { get_input: cbs_port }\n                CONFIG_BINDING_SERVICE: \"config_binding_service\"\n            ports:\n              - concat: [\"11011:\", { get_input: external_port }]\n  tca_policy:\n    type: dcae.nodes.policy\n    properties:\n      policy_id:\n           get_input: policy_id\n      policy_model_id: \n           get_input: policy_model_id\n','typeId-1a03e700-8c46-4c98-97cf-ca3212537216',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"aaiEnrichmentHost\": \"aai.onap.svc.cluster.local\",\n    \"aaiEnrichmentPort\": \"8443\",\n    \"enableAAIEnrichment\": true,\n    \"dmaap_host\": \"message-router.onap.svc.cluster.local\",\n    \"dmaap_port\": \"3904\",\n    \"enableRedisCaching\": false,\n    \"redisHosts\": \"dcae-redis.onap.svc.cluster.local:6379\",\n    \"tag_version\": \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0-STAGING-latest\",\n    \"consul_host\": \"consul-server.onap.svc.cluster.local\",\n    \"consul_port\": \"8500\",\n    \"cbs_host\": \"config-binding-service.dcae.svc.cluster.local\",\n    \"cbs_port\": \"10000\",\n    \"external_port\": \"32012\",\n    \"policy_model_id\": \"onap.policies.monitoring.cdap.tca.hi.lo.app\",\n    \"policy_id\": \"tca_k8s_jkJJ0_v1_0_ResourceInstanceName1_tca_3\"\n  }\n}','DESIGN','{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs\",\n    \"type\": \"array\",\n    \"minItems\": 1,\n    \"maxItems\": 1,\n    \"title\": \"Operational policies\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"Operational Policy Item\",\n      \"id\": \"operational_policy_item\",\n      \"headerTemplate\": \"{{self.name}}\",\n      \"required\": [\n        \"name\",\n        \"configurationsJson\"\n      ],\n      \"properties\": {\n        \"name\": {\n          \"type\": \"string\",\n          \"title\": \"Operational policy name\",\n          \"readOnly\": \"True\"\n        },\n        \"configurationsJson\": {\n          \"type\": \"object\",\n          \"title\": \"Configuration\",\n          \"required\": [\n            \"operational_policy\",\n            \"guard_policies\"\n          ],\n          \"properties\": {\n            \"operational_policy\": {\n              \"type\": \"object\",\n              \"title\": \"Related Parameters\",\n              \"required\": [\n                \"controlLoop\",\n                \"policies\"\n              ],\n              \"properties\": {\n                \"controlLoop\": {\n                  \"type\": \"object\",\n                  \"title\": \"Control Loop details\",\n                  \"required\": [\n                    \"timeout\",\n                    \"abatement\",\n                    \"trigger_policy\",\n                    \"controlLoopName\"\n                  ],\n                  \"properties\": {\n                    \"timeout\": {\n                      \"type\": \"string\",\n                      \"title\": \"Overall Time Limit\",\n                      \"default\": \"0\",\n                      \"format\": \"number\"\n                    },\n                    \"abatement\": {\n                      \"type\": \"string\",\n                      \"title\": \"Abatement\",\n                      \"enum\": [\n                        \"True\",\n                        \"False\"\n                      ]\n                    },\n                    \"trigger_policy\": {\n                      \"type\": \"string\",\n                      \"title\": \"Policy Decision Entry\"\n                    },\n                    \"controlLoopName\": {\n                      \"type\": \"string\",\n                      \"title\": \"Control loop name\",\n                      \"readOnly\": \"True\"\n                    }\n                  }\n                },\n                \"policies\": {\n                  \"uniqueItems\": \"true\",\n                  \"id\": \"policies_array\",\n                  \"type\": \"array\",\n                  \"title\": \"Policy Decision Tree\",\n                  \"format\": \"tabs-top\",\n                  \"items\": {\n                    \"title\": \"Policy Decision\",\n                    \"type\": \"object\",\n                    \"id\": \"policy_item\",\n                    \"headerTemplate\": \"{{self.id}} - {{self.recipe}}\",\n                    \"format\": \"categories\",\n                    \"basicCategoryTitle\": \"recipe\",\n                    \"required\": [\n                      \"id\",\n                      \"recipe\",\n                      \"retry\",\n                      \"timeout\",\n                      \"actor\",\n                      \"success\",\n                      \"failure\",\n                      \"failure_timeout\",\n                      \"failure_retries\",\n                      \"failure_exception\",\n                      \"failure_guard\",\n                      \"target\"\n                    ],\n                    \"properties\": {\n                      \"id\": {\n                        \"default\": \"Policy 1\",\n                        \"title\": \"Policy ID\",\n                        \"type\": \"string\"\n                      },\n                      \"recipe\": {\n                        \"title\": \"Recipe\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"Restart\",\n                          \"Rebuild\",\n                          \"Migrate\",\n                          \"Health-Check\",\n                          \"ModifyConfig\",\n                          \"VF Module Create\",\n                          \"VF Module Delete\",\n                          \"Reroute\"\n                        ]\n                      },\n                      \"retry\": {\n                        \"default\": \"0\",\n                        \"title\": \"Number of Retry\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"timeout\": {\n                        \"default\": \"0\",\n                        \"title\": \"Timeout\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"actor\": {\n                        \"title\": \"Actor\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"APPC\",\n                          \"SO\",\n                          \"VFC\",\n                          \"SDNC\",\n                          \"SDNR\"\n                        ]\n                      },\n                      \"payload\": {\n                        \"title\": \"Payload (YAML)\",\n                        \"type\": \"string\",\n                        \"format\": \"textarea\"\n                      },\n                      \"success\": {\n                        \"default\": \"final_success\",\n                        \"title\": \"When Success\",\n                        \"type\": \"string\"\n                      },\n                      \"failure\": {\n                        \"default\": \"final_failure\",\n                        \"title\": \"When Failure\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_timeout\": {\n                        \"default\": \"final_failure_timeout\",\n                        \"title\": \"When Failure Timeout\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_retries\": {\n                        \"default\": \"final_failure_retries\",\n                        \"title\": \"When Failure Retries\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_exception\": {\n                        \"default\": \"final_failure_exception\",\n                        \"title\": \"When Failure Exception\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_guard\": {\n                        \"default\": \"final_failure_guard\",\n                        \"title\": \"When Failure Guard\",\n                        \"type\": \"string\"\n                      },\n                      \"target\": {\n                        \"type\": \"object\",\n                        \"required\": [\n                          \"type\",\n                          \"resourceID\"\n                        ],\n                        \"anyOf\": [\n                          {\n                            \"title\": \"User Defined\",\n                            \"additionalProperties\": \"True\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\",\n                                \"enum\": [\n                                  \"VNF\",\n                                  \"VFMODULE\",\n                                  \"VM\"\n                                ]\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VNF-vLoadBalancerMS 0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VNF\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"vLoadBalancerMS\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vpkg..module-1\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vdns..module-3\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..base_template..module-0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vlb..module-2\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          }\n                        ]\n                      }\n                    }\n                  }\n                }\n              }\n            },\n            \"guard_policies\": {\n              \"type\": \"array\",\n              \"format\": \"tabs-top\",\n              \"title\": \"Associated Guard policies\",\n              \"items\": {\n                \"headerTemplate\": \"{{self.policy-id}} - {{self.content.recipe}}\",\n                \"anyOf\": [\n                  {\n                    \"title\": \"Guard MinMax\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.minmax.new\",\n                        \"pattern\": \"^(guard.minmax\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"min\": {\n                            \"type\": \"string\",\n                            \"default\": \"0\"\n                          },\n                          \"max\": {\n                            \"type\": \"string\",\n                            \"default\": \"1\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"title\": \"Guard Frequency\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.frequency.new\",\n                        \"pattern\": \"^(guard.frequency\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"limit\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeWindow\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeUnits\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"minute\",\n                              \"hour\",\n                              \"day\",\n                              \"week\",\n                              \"month\",\n                              \"year\"\n                            ]\n                          }\n                        }\n                      }\n                    }\n                  }\n                ]\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"18\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-b02ad490-5135-46bd-ae0d-ee2b024f54c5\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"35\" x2=\"123\" y1=\"41\"/><polygon fill=\"none\" points=\" 121 39 121 43 125 41\"/><polygon points=\" 121 39 121 43 125 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"127\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"127\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"176.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"147\" x2=\"147\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-b5c8a833-d0e4-4a06-8f11-bc900024a8a2\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"250\" x2=\"338\" y1=\"41\"/><polygon fill=\"none\" points=\" 336 39 336 43 340 41\"/><polygon points=\" 336 39 336 43 340 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"tca_k8s_jkJJ0_v1_0_ResourceInstanceName1_tca_3\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"342\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"342\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"379.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">tca_k8s</text><line y2=\"61\" fill=\"none\" x1=\"342\" x2=\"465\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-1336ff4e-2b2a-46d9-8538-501fc922e9e0\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"465\" x2=\"553\" y1=\"41\"/><polygon fill=\"none\" points=\" 551 39 551 43 555 41\"/><polygon points=\" 551 39 551 43 555 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"OperationalPolicy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"557\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"557\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"564.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">OperationalPolicy</text><line y2=\"1\" fill=\"none\" x1=\"557\" x2=\"618\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-1f1d6e20-1cf4-4cc6-a898-4454da260117\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"680\" x2=\"768\" y1=\"41\"/><polygon fill=\"none\" points=\" 766 39 766 43 770 41\"/><polygon points=\" 766 39 766 43 770 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"4\"><circle fill=\"none\" r=\"17\" cx=\"789\" cy=\"41\"/></g></g></g></svg>',NULL,'63cac700-ab9a-4115-a74f-7eac85e3fce0');
+INSERT INTO `loops` VALUES ('LOOP_jkJJ0_v1_0_ResourceInstanceName2_tca_2','','2020-01-16 11:40:15.117933','','2020-01-16 11:40:15.117933','#\n# ============LICENSE_START====================================================\n# =============================================================================\n# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.\n# =============================================================================\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#      http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n# ============LICENSE_END======================================================\n\ntosca_definitions_version: cloudify_dsl_1_3\n\ndescription: >\n  This blueprint deploys/manages the TCA module as a Docker container\n\nimports:\n  - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml\n  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.12/k8splugin_types.yaml\n#  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml\n  - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/clamppolicyplugin/1.0.0/clamppolicyplugin_types.yaml\ninputs:\n  aaiEnrichmentHost:\n    type: string\n    default: \"aai.onap.svc.cluster.local\"\n  aaiEnrichmentPort:\n    type: string\n    default: \"8443\"\n  enableAAIEnrichment:\n    type: string\n    default: true\n  dmaap_host:\n    type: string\n    default: message-router.onap\n  dmaap_port:\n    type: string\n    default: \"3904\"\n  enableRedisCaching:\n    type: string\n    default: false\n  redisHosts:\n    type: string\n    default: dcae-redis.onap.svc.cluster.local:6379\n  tag_version:\n    type: string\n    default: \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.1\"\n  consul_host:\n    type: string\n    default: consul-server.onap\n  consul_port:\n    type: string\n    default: \"8500\"\n  cbs_host:\n    type: string\n    default: \"config-binding-servicel\"\n  cbs_port:\n    type: string\n    default: \"10000\"\n  policy_id:\n    type: string\n    default: \"onap.restart.tca\"\n  external_port:\n    type: string\n    description: Kubernetes node port on which CDAPgui is exposed\n    default: \"32012\"\n  policy_model_id:\n    type: string\n    default: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\nnode_templates:\n  tca_k8s:\n    type: dcae.nodes.ContainerizedServiceComponent\n    relationships:\n      - target: tca_policy\n        type: cloudify.relationships.depends_on\n    properties:\n        service_component_type: \'dcaegen2-analytics-tca\'\n        application_config: {}\n        docker_config: {}\n        image:\n          get_input: tag_version\n        log_info:\n          log_directory: \"/opt/app/TCAnalytics/logs\"\n        application_config:\n            app_config:\n                appDescription: DCAE Analytics Threshold Crossing Alert Application\n                appName: dcae-tca\n                tcaAlertsAbatementTableName: TCAAlertsAbatementTable\n                tcaAlertsAbatementTableTTLSeconds: \'1728000\'\n                tcaSubscriberOutputStreamName: TCASubscriberOutputStream\n                tcaVESAlertsTableName: TCAVESAlertsTable\n                tcaVESAlertsTableTTLSeconds: \'1728000\'\n                tcaVESMessageStatusTableName: TCAVESMessageStatusTable\n                tcaVESMessageStatusTableTTLSeconds: \'86400\'\n                thresholdCalculatorFlowletInstances: \'2\'\n            app_preferences:\n                aaiEnrichmentHost:\n                    get_input: aaiEnrichmentHost\n                aaiEnrichmentIgnoreSSLCertificateErrors: \'true\'\n                aaiEnrichmentPortNumber: \'8443\'\n                aaiEnrichmentProtocol: https\n                aaiEnrichmentUserName: dcae@dcae.onap.org\n                aaiEnrichmentUserPassword: demo123456!\n                aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query\n                aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf\n                enableAAIEnrichment:\n                    get_input: enableAAIEnrichment\n                enableRedisCaching:\n                    get_input: enableRedisCaching\n                redisHosts:\n                    get_input: redisHosts\n                enableAlertCEFFormat: \'false\'\n                publisherContentType: application/json\n                publisherHostName:\n                    get_input: dmaap_host\n                publisherHostPort:\n                    get_input: dmaap_port\n                publisherMaxBatchSize: \'1\'\n                publisherMaxRecoveryQueueSize: \'100000\'\n                publisherPollingInterval: \'20000\'\n                publisherProtocol: http\n                publisherTopicName: unauthenticated.DCAE_CL_OUTPUT\n                subscriberConsumerGroup: OpenDCAE-clamp\n                subscriberConsumerId: c12\n                subscriberContentType: application/json\n                subscriberHostName:\n                    get_input: dmaap_host\n                subscriberHostPort:\n                    get_input: dmaap_port\n                subscriberMessageLimit: \'-1\'\n                subscriberPollingInterval: \'30000\'\n                subscriberProtocol: http\n                subscriberTimeoutMS: \'-1\'\n                subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT\n#                tca_policy: \'{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}\'\n        service_component_type: dcaegen2-analytics_tca\n    interfaces:\n      cloudify.interfaces.lifecycle:\n        start:\n          inputs:\n            envs:\n                DMAAPHOST:\n                    { get_input: dmaap_host }\n                DMAAPPORT:\n                    { get_input: dmaap_port }\n                DMAAPPUBTOPIC: \"unauthenticated.DCAE_CL_OUTPUT\"\n                DMAAPSUBTOPIC: \"unauthenticated.VES_MEASUREMENT_OUTPUT\"\n                AAIHOST:\n                    { get_input: aaiEnrichmentHost }\n                AAIPORT:\n                    { get_input: aaiEnrichmentPort }\n                CONSUL_HOST:\n                    { get_input: consul_host }\n                CONSUL_PORT:\n                    { get_input: consul_port }\n                CBS_HOST:\n                    { get_input: cbs_host }\n                CBS_PORT:\n                    { get_input: cbs_port }\n                CONFIG_BINDING_SERVICE: \"config_binding_service\"\n            ports:\n              - concat: [\"11011:\", { get_input: external_port }]\n  tca_policy:\n    type: clamp.nodes.policy\n    properties:\n      policy_id:\n           get_input: policy_id\n      policy_model_id: \"onap.policies.monitoring.cdap.tca.hi.lo.app\"\n','typeId-537599ec-0cce-4303-ab83-dbfb6145723a',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"aaiEnrichmentHost\": \"aai.onap.svc.cluster.local\",\n    \"aaiEnrichmentPort\": \"8443\",\n    \"enableAAIEnrichment\": true,\n    \"dmaap_host\": \"message-router.onap\",\n    \"dmaap_port\": \"3904\",\n    \"enableRedisCaching\": false,\n    \"redisHosts\": \"dcae-redis.onap.svc.cluster.local:6379\",\n    \"tag_version\": \"nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.1\",\n    \"consul_host\": \"consul-server.onap\",\n    \"consul_port\": \"8500\",\n    \"cbs_host\": \"config-binding-servicel\",\n    \"cbs_port\": \"10000\",\n    \"external_port\": \"32012\",\n    \"policy_model_id\": \"onap.policies.monitoring.cdap.tca.hi.lo.app\",\n    \"policy_id\": \"tca_k8s_jkJJ0_v1_0_ResourceInstanceName2_tca_2\"\n  }\n}','DESIGN','{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs\",\n    \"type\": \"array\",\n    \"minItems\": 1,\n    \"maxItems\": 1,\n    \"title\": \"Operational policies\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"Operational Policy Item\",\n      \"id\": \"operational_policy_item\",\n      \"headerTemplate\": \"{{self.name}}\",\n      \"required\": [\n        \"name\",\n        \"configurationsJson\"\n      ],\n      \"properties\": {\n        \"name\": {\n          \"type\": \"string\",\n          \"title\": \"Operational policy name\",\n          \"readOnly\": \"True\"\n        },\n        \"configurationsJson\": {\n          \"type\": \"object\",\n          \"title\": \"Configuration\",\n          \"required\": [\n            \"operational_policy\",\n            \"guard_policies\"\n          ],\n          \"properties\": {\n            \"operational_policy\": {\n              \"type\": \"object\",\n              \"title\": \"Related Parameters\",\n              \"required\": [\n                \"controlLoop\",\n                \"policies\"\n              ],\n              \"properties\": {\n                \"controlLoop\": {\n                  \"type\": \"object\",\n                  \"title\": \"Control Loop details\",\n                  \"required\": [\n                    \"timeout\",\n                    \"abatement\",\n                    \"trigger_policy\",\n                    \"controlLoopName\"\n                  ],\n                  \"properties\": {\n                    \"timeout\": {\n                      \"type\": \"string\",\n                      \"title\": \"Overall Time Limit\",\n                      \"default\": \"0\",\n                      \"format\": \"number\"\n                    },\n                    \"abatement\": {\n                      \"type\": \"string\",\n                      \"title\": \"Abatement\",\n                      \"enum\": [\n                        \"True\",\n                        \"False\"\n                      ]\n                    },\n                    \"trigger_policy\": {\n                      \"type\": \"string\",\n                      \"title\": \"Policy Decision Entry\"\n                    },\n                    \"controlLoopName\": {\n                      \"type\": \"string\",\n                      \"title\": \"Control loop name\",\n                      \"readOnly\": \"True\"\n                    }\n                  }\n                },\n                \"policies\": {\n                  \"uniqueItems\": \"true\",\n                  \"id\": \"policies_array\",\n                  \"type\": \"array\",\n                  \"title\": \"Policy Decision Tree\",\n                  \"format\": \"tabs-top\",\n                  \"items\": {\n                    \"title\": \"Policy Decision\",\n                    \"type\": \"object\",\n                    \"id\": \"policy_item\",\n                    \"headerTemplate\": \"{{self.id}} - {{self.recipe}}\",\n                    \"format\": \"categories\",\n                    \"basicCategoryTitle\": \"recipe\",\n                    \"required\": [\n                      \"id\",\n                      \"recipe\",\n                      \"retry\",\n                      \"timeout\",\n                      \"actor\",\n                      \"success\",\n                      \"failure\",\n                      \"failure_timeout\",\n                      \"failure_retries\",\n                      \"failure_exception\",\n                      \"failure_guard\",\n                      \"target\"\n                    ],\n                    \"properties\": {\n                      \"id\": {\n                        \"default\": \"Policy 1\",\n                        \"title\": \"Policy ID\",\n                        \"type\": \"string\"\n                      },\n                      \"recipe\": {\n                        \"title\": \"Recipe\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"Restart\",\n                          \"Rebuild\",\n                          \"Migrate\",\n                          \"Health-Check\",\n                          \"ModifyConfig\",\n                          \"VF Module Create\",\n                          \"VF Module Delete\",\n                          \"Reroute\"\n                        ]\n                      },\n                      \"retry\": {\n                        \"default\": \"0\",\n                        \"title\": \"Number of Retry\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"timeout\": {\n                        \"default\": \"0\",\n                        \"title\": \"Timeout\",\n                        \"type\": \"string\",\n                        \"format\": \"number\"\n                      },\n                      \"actor\": {\n                        \"title\": \"Actor\",\n                        \"type\": \"string\",\n                        \"enum\": [\n                          \"APPC\",\n                          \"SO\",\n                          \"VFC\",\n                          \"SDNC\",\n                          \"SDNR\"\n                        ]\n                      },\n                      \"payload\": {\n                        \"title\": \"Payload (YAML)\",\n                        \"type\": \"string\",\n                        \"format\": \"textarea\"\n                      },\n                      \"success\": {\n                        \"default\": \"final_success\",\n                        \"title\": \"When Success\",\n                        \"type\": \"string\"\n                      },\n                      \"failure\": {\n                        \"default\": \"final_failure\",\n                        \"title\": \"When Failure\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_timeout\": {\n                        \"default\": \"final_failure_timeout\",\n                        \"title\": \"When Failure Timeout\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_retries\": {\n                        \"default\": \"final_failure_retries\",\n                        \"title\": \"When Failure Retries\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_exception\": {\n                        \"default\": \"final_failure_exception\",\n                        \"title\": \"When Failure Exception\",\n                        \"type\": \"string\"\n                      },\n                      \"failure_guard\": {\n                        \"default\": \"final_failure_guard\",\n                        \"title\": \"When Failure Guard\",\n                        \"type\": \"string\"\n                      },\n                      \"target\": {\n                        \"type\": \"object\",\n                        \"required\": [\n                          \"type\",\n                          \"resourceID\"\n                        ],\n                        \"anyOf\": [\n                          {\n                            \"title\": \"User Defined\",\n                            \"additionalProperties\": \"True\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\",\n                                \"enum\": [\n                                  \"VNF\",\n                                  \"VFMODULE\",\n                                  \"VM\"\n                                ]\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Target type\",\n                                \"type\": \"string\",\n                                \"default\": \"\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VNF-vLoadBalancerMS 0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VNF\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"vLoadBalancerMS\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vpkg..module-1\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vpkg..module-1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vdns..module-3\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vdns..module-3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..base_template..module-0\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..base_template..module-0\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          },\n                          {\n                            \"title\": \"VFMODULE-Vloadbalancerms..vlb..module-2\",\n                            \"properties\": {\n                              \"type\": {\n                                \"title\": \"Type\",\n                                \"type\": \"string\",\n                                \"default\": \"VFMODULE\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"resourceID\": {\n                                \"title\": \"Resource ID\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelInvariantId\": {\n                                \"title\": \"Model Invariant Id (ModelInvariantUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersionId\": {\n                                \"title\": \"Model Version Id (ModelUUID)\",\n                                \"type\": \"string\",\n                                \"default\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelName\": {\n                                \"title\": \"Model Name\",\n                                \"type\": \"string\",\n                                \"default\": \"Vloadbalancerms..vlb..module-2\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelVersion\": {\n                                \"title\": \"Model Version\",\n                                \"type\": \"string\",\n                                \"default\": \"1\",\n                                \"readOnly\": \"True\"\n                              },\n                              \"modelCustomizationId\": {\n                                \"title\": \"Customization ID\",\n                                \"type\": \"string\",\n                                \"default\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n                                \"readOnly\": \"True\"\n                              }\n                            }\n                          }\n                        ]\n                      }\n                    }\n                  }\n                }\n              }\n            },\n            \"guard_policies\": {\n              \"type\": \"array\",\n              \"format\": \"tabs-top\",\n              \"title\": \"Associated Guard policies\",\n              \"items\": {\n                \"headerTemplate\": \"{{self.policy-id}} - {{self.content.recipe}}\",\n                \"anyOf\": [\n                  {\n                    \"title\": \"Guard MinMax\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.minmax.new\",\n                        \"pattern\": \"^(guard.minmax\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"min\": {\n                            \"type\": \"string\",\n                            \"default\": \"0\"\n                          },\n                          \"max\": {\n                            \"type\": \"string\",\n                            \"default\": \"1\"\n                          }\n                        }\n                      }\n                    }\n                  },\n                  {\n                    \"title\": \"Guard Frequency\",\n                    \"type\": \"object\",\n                    \"properties\": {\n                      \"policy-id\": {\n                        \"type\": \"string\",\n                        \"default\": \"guard.frequency.new\",\n                        \"pattern\": \"^(guard.frequency\\\\..*)$\"\n                      },\n                      \"content\": {\n                        \"properties\": {\n                          \"actor\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"APPC\",\n                              \"SO\",\n                              \"VFC\",\n                              \"SDNC\",\n                              \"SDNR\"\n                            ]\n                          },\n                          \"recipe\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"Restart\",\n                              \"Rebuild\",\n                              \"Migrate\",\n                              \"Health-Check\",\n                              \"ModifyConfig\",\n                              \"VF Module Create\",\n                              \"VF Module Delete\",\n                              \"Reroute\"\n                            ]\n                          },\n                          \"targets\": {\n                            \"type\": \"string\",\n                            \"default\": \".*\"\n                          },\n                          \"clname\": {\n                            \"type\": \"string\",\n                            \"template\": \"{{loopName}}\",\n                            \"watch\": {\n                              \"loopName\": \"operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName\"\n                            }\n                          },\n                          \"guardActiveStart\": {\n                            \"type\": \"string\",\n                            \"default\": \"00:00:00Z\"\n                          },\n                          \"guardActiveEnd\": {\n                            \"type\": \"string\",\n                            \"default\": \"10:00:00Z\"\n                          },\n                          \"limit\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeWindow\": {\n                            \"type\": \"string\"\n                          },\n                          \"timeUnits\": {\n                            \"type\": \"string\",\n                            \"enum\": [\n                              \"minute\",\n                              \"hour\",\n                              \"day\",\n                              \"week\",\n                              \"month\",\n                              \"year\"\n                            ]\n                          }\n                        }\n                      }\n                    }\n                  }\n                ]\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','<svg xmlns=\"http://www.w3.org/2000/svg\"><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"start-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><circle fill=\"none\" r=\"17\" cx=\"18\" cy=\"41\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-8ea2736b-d11f-4d89-ac2e-51bceae4c3ad\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"35\" x2=\"123\" y1=\"41\"/><polygon fill=\"none\" points=\" 121 39 121 43 125 41\"/><polygon points=\" 121 39 121 43 125 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"VES\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"127\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"127\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"176.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">VES</text><line y2=\"83\" fill=\"none\" x1=\"147\" x2=\"147\" y1=\"1\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-87d4d8bb-5b55-4525-ae99-28830b0065f8\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"250\" x2=\"338\" y1=\"41\"/><polygon fill=\"none\" points=\" 336 39 336 43 340 41\"/><polygon points=\" 336 39 336 43 340 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"tca_k8s_jkJJ0_v1_0_ResourceInstanceName2_tca_2\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"342\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"342\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"379.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">tca_k8s</text><line y2=\"61\" fill=\"none\" x1=\"342\" x2=\"465\" y1=\"61\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-9f97766a-84d7-48bd-9e58-59f6cd505382\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"465\" x2=\"553\" y1=\"41\"/><polygon fill=\"none\" points=\" 551 39 551 43 555 41\"/><polygon points=\" 551 39 551 43 555 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"OperationalPolicy\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><rect fill=\"none\" x=\"557\" width=\"123\" y=\"1\" height=\"82\"/></g><g fill-opacity=\"0\" fill=\"rgb(0,0,0)\" text-rendering=\"optimizeQuality\" shape-rendering=\"geometricPrecision\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"0\" stroke-width=\"2\"><rect x=\"557\" width=\"123\" y=\"1\" height=\"82\" stroke=\"none\"/></g><g text-rendering=\"optimizeQuality\" stroke-width=\"2\" shape-rendering=\"geometricPrecision\" font-family=\"sans-serif\"><text x=\"564.5\" xml:space=\"preserve\" y=\"46.5\" stroke=\"none\">OperationalPolicy</text><line y2=\"1\" fill=\"none\" x1=\"557\" x2=\"618\" y1=\"42\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"Arrow-6c16481c-e161-4361-b5e1-37109fcdd32b\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"2\"><line y2=\"41\" fill=\"none\" x1=\"680\" x2=\"768\" y1=\"41\"/><polygon fill=\"none\" points=\" 766 39 766 43 770 41\"/><polygon points=\" 766 39 766 43 770 41\" stroke=\"none\"/></g></g></g><g fill-opacity=\"1\" color-rendering=\"auto\" color-interpolation=\"auto\" text-rendering=\"auto\" stroke=\"black\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" shape-rendering=\"auto\" stroke-opacity=\"1\" fill=\"black\" stroke-dasharray=\"none\" font-weight=\"normal\" stroke-width=\"1\" font-family=\"\'Dialog\'\" font-style=\"normal\" data-element-id=\"stop-circle\" stroke-linejoin=\"miter\" font-size=\"12px\" image-rendering=\"auto\" stroke-dashoffset=\"0\"><!--Generated by the Batik Graphics2D SVG Generator--><defs id=\"genericDefs\"/><g><g shape-rendering=\"geometricPrecision\" text-rendering=\"optimizeQuality\" stroke-width=\"4\"><circle fill=\"none\" r=\"17\" cx=\"789\" cy=\"41\"/></g></g></g></svg>',NULL,'63cac700-ab9a-4115-a74f-7eac85e3fce0');
 /*!40000 ALTER TABLE `loops` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -57,21 +84,30 @@
 
 LOCK TABLES `loops_microservicepolicies` WRITE;
 /*!40000 ALTER TABLE `loops_microservicepolicies` DISABLE KEYS */;
-INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_yHsgu_v1_0_ResourceInstanceName1_tca','TCA_yHsgu_v1_0_ResourceInstanceName1_tca');
-INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_yHsgu_v1_0_ResourceInstanceName1_tca_3','tca_k8s_yHsgu_v1_0_ResourceInstanceName1_tca_3');
-INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_yHsgu_v1_0_ResourceInstanceName2_tca_2','tca_k8s_yHsgu_v1_0_ResourceInstanceName2_tca_2');
+INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_jkJJ0_v1_0_ResourceInstanceName1_tca','TCA_jkJJ0_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_jkJJ0_v1_0_ResourceInstanceName1_tca_3','tca_k8s_jkJJ0_v1_0_ResourceInstanceName1_tca_3');
+INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_jkJJ0_v1_0_ResourceInstanceName2_tca_2','tca_k8s_jkJJ0_v1_0_ResourceInstanceName2_tca_2');
 /*!40000 ALTER TABLE `loops_microservicepolicies` ENABLE KEYS */;
 UNLOCK TABLES;
 
 --
+-- Dumping data for table `micro_service_models`
+--
+
+LOCK TABLES `micro_service_models` WRITE;
+/*!40000 ALTER TABLE `micro_service_models` DISABLE KEYS */;
+/*!40000 ALTER TABLE `micro_service_models` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
 -- Dumping data for table `micro_service_policies`
 --
 
 LOCK TABLES `micro_service_policies` WRITE;
 /*!40000 ALTER TABLE `micro_service_policies` DISABLE KEYS */;
-INSERT INTO `micro_service_policies` VALUES ('tca_k8s_yHsgu_v1_0_ResourceInstanceName1_tca_3','{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs-top\",\n    \"type\": \"array\",\n    \"title\": \"TCA Policy JSON\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"TCA Policy JSON\",\n      \"required\": [\n        \"domain\",\n        \"metricsPerEventName\"\n      ],\n      \"properties\": {\n        \"domain\": {\n          \"propertyOrder\": 1001,\n          \"default\": \"measurementsForVfScaling\",\n          \"title\": \"Domain name to which TCA needs to be applied\",\n          \"type\": \"string\"\n        },\n        \"metricsPerEventName\": {\n          \"propertyOrder\": 1002,\n          \"uniqueItems\": \"true\",\n          \"format\": \"tabs-top\",\n          \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"required\": [\n              \"controlLoopSchemaType\",\n              \"eventName\",\n              \"policyName\",\n              \"policyScope\",\n              \"policyVersion\",\n              \"thresholds\"\n            ],\n            \"properties\": {\n              \"policyVersion\": {\n                \"propertyOrder\": 1007,\n                \"title\": \"TCA Policy Scope Version\",\n                \"type\": \"string\"\n              },\n              \"thresholds\": {\n                \"propertyOrder\": 1008,\n                \"uniqueItems\": \"true\",\n                \"format\": \"tabs-top\",\n                \"title\": \"Thresholds associated with eventName\",\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"required\": [\n                    \"closedLoopControlName\",\n                    \"closedLoopEventStatus\",\n                    \"direction\",\n                    \"fieldPath\",\n                    \"severity\",\n                    \"thresholdValue\",\n                    \"version\"\n                  ],\n                  \"properties\": {\n                    \"severity\": {\n                      \"propertyOrder\": 1013,\n                      \"title\": \"Threshold Event Severity\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"CRITICAL\",\n                        \"MAJOR\",\n                        \"MINOR\",\n                        \"WARNING\",\n                        \"NORMAL\"\n                      ]\n                    },\n                    \"fieldPath\": {\n                      \"propertyOrder\": 1012,\n                      \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n                        \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n                        \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n                      ]\n                    },\n                    \"thresholdValue\": {\n                      \"propertyOrder\": 1014,\n                      \"title\": \"Threshold value for the field Path inside CEF message\",\n                      \"type\": \"integer\"\n                    },\n                    \"closedLoopEventStatus\": {\n                      \"propertyOrder\": 1010,\n                      \"title\": \"Closed Loop Event Status of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"ONSET\",\n                        \"ABATED\"\n                      ]\n                    },\n                    \"closedLoopControlName\": {\n                      \"propertyOrder\": 1009,\n                      \"title\": \"Closed Loop Control Name associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"version\": {\n                      \"propertyOrder\": 1015,\n                      \"title\": \"Version number associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"direction\": {\n                      \"propertyOrder\": 1011,\n                      \"title\": \"Direction of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"LESS\",\n                        \"LESS_OR_EQUAL\",\n                        \"GREATER\",\n                        \"GREATER_OR_EQUAL\",\n                        \"EQUAL\"\n                      ]\n                    }\n                  }\n                }\n              },\n              \"policyName\": {\n                \"propertyOrder\": 1005,\n                \"title\": \"TCA Policy Scope Name\",\n                \"type\": \"string\"\n              },\n              \"controlLoopSchemaType\": {\n                \"propertyOrder\": 1003,\n                \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n                \"type\": \"string\",\n                \"enum\": [\n                  \"VM\",\n                  \"VNF\"\n                ]\n              },\n              \"policyScope\": {\n                \"propertyOrder\": 1006,\n                \"title\": \"TCA Policy Scope\",\n                \"type\": \"string\"\n              },\n              \"eventName\": {\n                \"propertyOrder\": 1004,\n                \"title\": \"Event name to which thresholds need to be applied\",\n                \"type\": \"string\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','onap.policies.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n    onap.policies.Monitoring:\n        derived_from: tosca.policies.Root\n        description: a base policy type for all policies that governs monitoring provisioning\n    onap.policies.monitoring.cdap.tca.hi.lo.app:\n        derived_from: onap.policies.Monitoring\n        version: 1.0.0\n        properties:\n            tca_policy:\n                type: map\n                description: TCA Policy JSON\n                entry_schema:\n                    type: onap.datatypes.monitoring.tca_policy\ndata_types:\n    onap.datatypes.monitoring.metricsPerEventName:\n        derived_from: tosca.datatypes.Root\n        properties:\n            controlLoopSchemaType:\n                type: string\n                required: true\n                description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n                constraints:\n                  - valid_values:\n                      - VM\n                      - VNF\n            eventName:\n                type: string\n                required: true\n                description: Event name to which thresholds need to be applied\n            policyName:\n                type: string\n                required: true\n                description: TCA Policy Scope Name\n            policyScope:\n                type: string\n                required: true\n                description: TCA Policy Scope\n            policyVersion:\n                type: string\n                required: true\n                description: TCA Policy Scope Version\n            thresholds:\n                type: list\n                required: true\n                description: Thresholds associated with eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.thresholds\n    onap.datatypes.monitoring.tca_policy:\n        derived_from: tosca.datatypes.Root\n        properties:\n            domain:\n                type: string\n                required: true\n                description: Domain name to which TCA needs to be applied\n                default: measurementsForVfScaling\n                constraints:\n                  - equal: measurementsForVfScaling\n            metricsPerEventName:\n                type: list\n                required: true\n                description: Contains eventName and threshold details that need to be applied to given eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.metricsPerEventName\n    onap.datatypes.monitoring.thresholds:\n        derived_from: tosca.datatypes.Root\n        properties:\n            closedLoopControlName:\n                type: string\n                required: true\n                description: Closed Loop Control Name associated with the threshold\n            closedLoopEventStatus:\n                type: string\n                required: true\n                description: Closed Loop Event Status of the threshold\n                constraints:\n                  - valid_values:\n                      - ONSET\n                      - ABATED\n            direction:\n                type: string\n                required: true\n                description: Direction of the threshold\n                constraints:\n                  - valid_values:\n                      - LESS\n                      - LESS_OR_EQUAL\n                      - GREATER\n                      - GREATER_OR_EQUAL\n                      - EQUAL\n            fieldPath:\n                type: string\n                required: true\n                description: Json field Path as per CEF message which needs to be analyzed for TCA\n                constraints:\n                  - valid_values:\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n                      - $.event.measurementsForVfScalingFields.meanRequestLatency\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n                      - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n            severity:\n                type: string\n                required: true\n                description: Threshold Event Severity\n                constraints:\n                  - valid_values:\n                      - CRITICAL\n                      - MAJOR\n                      - MINOR\n                      - WARNING\n                      - NORMAL\n            thresholdValue:\n                type: integer\n                required: true\n                description: Threshold value for the field Path inside CEF message\n            version:\n                type: string\n                required: true\n                description: Version number associated with the threshold\n',NULL,'\0');
-INSERT INTO `micro_service_policies` VALUES ('tca_k8s_yHsgu_v1_0_ResourceInstanceName2_tca_2','{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs-top\",\n    \"type\": \"array\",\n    \"title\": \"TCA Policy JSON\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"TCA Policy JSON\",\n      \"required\": [\n        \"domain\",\n        \"metricsPerEventName\"\n      ],\n      \"properties\": {\n        \"domain\": {\n          \"propertyOrder\": 1001,\n          \"default\": \"measurementsForVfScaling\",\n          \"title\": \"Domain name to which TCA needs to be applied\",\n          \"type\": \"string\"\n        },\n        \"metricsPerEventName\": {\n          \"propertyOrder\": 1002,\n          \"uniqueItems\": \"true\",\n          \"format\": \"tabs-top\",\n          \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"required\": [\n              \"controlLoopSchemaType\",\n              \"eventName\",\n              \"policyName\",\n              \"policyScope\",\n              \"policyVersion\",\n              \"thresholds\"\n            ],\n            \"properties\": {\n              \"policyVersion\": {\n                \"propertyOrder\": 1007,\n                \"title\": \"TCA Policy Scope Version\",\n                \"type\": \"string\"\n              },\n              \"thresholds\": {\n                \"propertyOrder\": 1008,\n                \"uniqueItems\": \"true\",\n                \"format\": \"tabs-top\",\n                \"title\": \"Thresholds associated with eventName\",\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"required\": [\n                    \"closedLoopControlName\",\n                    \"closedLoopEventStatus\",\n                    \"direction\",\n                    \"fieldPath\",\n                    \"severity\",\n                    \"thresholdValue\",\n                    \"version\"\n                  ],\n                  \"properties\": {\n                    \"severity\": {\n                      \"propertyOrder\": 1013,\n                      \"title\": \"Threshold Event Severity\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"CRITICAL\",\n                        \"MAJOR\",\n                        \"MINOR\",\n                        \"WARNING\",\n                        \"NORMAL\"\n                      ]\n                    },\n                    \"fieldPath\": {\n                      \"propertyOrder\": 1012,\n                      \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n                        \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n                        \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n                      ]\n                    },\n                    \"thresholdValue\": {\n                      \"propertyOrder\": 1014,\n                      \"title\": \"Threshold value for the field Path inside CEF message\",\n                      \"type\": \"integer\"\n                    },\n                    \"closedLoopEventStatus\": {\n                      \"propertyOrder\": 1010,\n                      \"title\": \"Closed Loop Event Status of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"ONSET\",\n                        \"ABATED\"\n                      ]\n                    },\n                    \"closedLoopControlName\": {\n                      \"propertyOrder\": 1009,\n                      \"title\": \"Closed Loop Control Name associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"version\": {\n                      \"propertyOrder\": 1015,\n                      \"title\": \"Version number associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"direction\": {\n                      \"propertyOrder\": 1011,\n                      \"title\": \"Direction of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"LESS\",\n                        \"LESS_OR_EQUAL\",\n                        \"GREATER\",\n                        \"GREATER_OR_EQUAL\",\n                        \"EQUAL\"\n                      ]\n                    }\n                  }\n                }\n              },\n              \"policyName\": {\n                \"propertyOrder\": 1005,\n                \"title\": \"TCA Policy Scope Name\",\n                \"type\": \"string\"\n              },\n              \"controlLoopSchemaType\": {\n                \"propertyOrder\": 1003,\n                \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n                \"type\": \"string\",\n                \"enum\": [\n                  \"VM\",\n                  \"VNF\"\n                ]\n              },\n              \"policyScope\": {\n                \"propertyOrder\": 1006,\n                \"title\": \"TCA Policy Scope\",\n                \"type\": \"string\"\n              },\n              \"eventName\": {\n                \"propertyOrder\": 1004,\n                \"title\": \"Event name to which thresholds need to be applied\",\n                \"type\": \"string\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','onap.policies.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n    onap.policies.Monitoring:\n        derived_from: tosca.policies.Root\n        description: a base policy type for all policies that governs monitoring provisioning\n    onap.policies.monitoring.cdap.tca.hi.lo.app:\n        derived_from: onap.policies.Monitoring\n        version: 1.0.0\n        properties:\n            tca_policy:\n                type: map\n                description: TCA Policy JSON\n                entry_schema:\n                    type: onap.datatypes.monitoring.tca_policy\ndata_types:\n    onap.datatypes.monitoring.metricsPerEventName:\n        derived_from: tosca.datatypes.Root\n        properties:\n            controlLoopSchemaType:\n                type: string\n                required: true\n                description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n                constraints:\n                  - valid_values:\n                      - VM\n                      - VNF\n            eventName:\n                type: string\n                required: true\n                description: Event name to which thresholds need to be applied\n            policyName:\n                type: string\n                required: true\n                description: TCA Policy Scope Name\n            policyScope:\n                type: string\n                required: true\n                description: TCA Policy Scope\n            policyVersion:\n                type: string\n                required: true\n                description: TCA Policy Scope Version\n            thresholds:\n                type: list\n                required: true\n                description: Thresholds associated with eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.thresholds\n    onap.datatypes.monitoring.tca_policy:\n        derived_from: tosca.datatypes.Root\n        properties:\n            domain:\n                type: string\n                required: true\n                description: Domain name to which TCA needs to be applied\n                default: measurementsForVfScaling\n                constraints:\n                  - equal: measurementsForVfScaling\n            metricsPerEventName:\n                type: list\n                required: true\n                description: Contains eventName and threshold details that need to be applied to given eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.metricsPerEventName\n    onap.datatypes.monitoring.thresholds:\n        derived_from: tosca.datatypes.Root\n        properties:\n            closedLoopControlName:\n                type: string\n                required: true\n                description: Closed Loop Control Name associated with the threshold\n            closedLoopEventStatus:\n                type: string\n                required: true\n                description: Closed Loop Event Status of the threshold\n                constraints:\n                  - valid_values:\n                      - ONSET\n                      - ABATED\n            direction:\n                type: string\n                required: true\n                description: Direction of the threshold\n                constraints:\n                  - valid_values:\n                      - LESS\n                      - LESS_OR_EQUAL\n                      - GREATER\n                      - GREATER_OR_EQUAL\n                      - EQUAL\n            fieldPath:\n                type: string\n                required: true\n                description: Json field Path as per CEF message which needs to be analyzed for TCA\n                constraints:\n                  - valid_values:\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n                      - $.event.measurementsForVfScalingFields.meanRequestLatency\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n                      - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n            severity:\n                type: string\n                required: true\n                description: Threshold Event Severity\n                constraints:\n                  - valid_values:\n                      - CRITICAL\n                      - MAJOR\n                      - MINOR\n                      - WARNING\n                      - NORMAL\n            thresholdValue:\n                type: integer\n                required: true\n                description: Threshold value for the field Path inside CEF message\n            version:\n                type: string\n                required: true\n                description: Version number associated with the threshold\n',NULL,'\0');
-INSERT INTO `micro_service_policies` VALUES ('TCA_yHsgu_v1_0_ResourceInstanceName1_tca','{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs-top\",\n    \"type\": \"array\",\n    \"title\": \"TCA Policy JSON\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"TCA Policy JSON\",\n      \"required\": [\n        \"domain\",\n        \"metricsPerEventName\"\n      ],\n      \"properties\": {\n        \"domain\": {\n          \"propertyOrder\": 1001,\n          \"default\": \"measurementsForVfScaling\",\n          \"title\": \"Domain name to which TCA needs to be applied\",\n          \"type\": \"string\"\n        },\n        \"metricsPerEventName\": {\n          \"propertyOrder\": 1002,\n          \"uniqueItems\": \"true\",\n          \"format\": \"tabs-top\",\n          \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"required\": [\n              \"controlLoopSchemaType\",\n              \"eventName\",\n              \"policyName\",\n              \"policyScope\",\n              \"policyVersion\",\n              \"thresholds\"\n            ],\n            \"properties\": {\n              \"policyVersion\": {\n                \"propertyOrder\": 1007,\n                \"title\": \"TCA Policy Scope Version\",\n                \"type\": \"string\"\n              },\n              \"thresholds\": {\n                \"propertyOrder\": 1008,\n                \"uniqueItems\": \"true\",\n                \"format\": \"tabs-top\",\n                \"title\": \"Thresholds associated with eventName\",\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"required\": [\n                    \"closedLoopControlName\",\n                    \"closedLoopEventStatus\",\n                    \"direction\",\n                    \"fieldPath\",\n                    \"severity\",\n                    \"thresholdValue\",\n                    \"version\"\n                  ],\n                  \"properties\": {\n                    \"severity\": {\n                      \"propertyOrder\": 1013,\n                      \"title\": \"Threshold Event Severity\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"CRITICAL\",\n                        \"MAJOR\",\n                        \"MINOR\",\n                        \"WARNING\",\n                        \"NORMAL\"\n                      ]\n                    },\n                    \"fieldPath\": {\n                      \"propertyOrder\": 1012,\n                      \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n                        \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n                        \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n                      ]\n                    },\n                    \"thresholdValue\": {\n                      \"propertyOrder\": 1014,\n                      \"title\": \"Threshold value for the field Path inside CEF message\",\n                      \"type\": \"integer\"\n                    },\n                    \"closedLoopEventStatus\": {\n                      \"propertyOrder\": 1010,\n                      \"title\": \"Closed Loop Event Status of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"ONSET\",\n                        \"ABATED\"\n                      ]\n                    },\n                    \"closedLoopControlName\": {\n                      \"propertyOrder\": 1009,\n                      \"title\": \"Closed Loop Control Name associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"version\": {\n                      \"propertyOrder\": 1015,\n                      \"title\": \"Version number associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"direction\": {\n                      \"propertyOrder\": 1011,\n                      \"title\": \"Direction of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"LESS\",\n                        \"LESS_OR_EQUAL\",\n                        \"GREATER\",\n                        \"GREATER_OR_EQUAL\",\n                        \"EQUAL\"\n                      ]\n                    }\n                  }\n                }\n              },\n              \"policyName\": {\n                \"propertyOrder\": 1005,\n                \"title\": \"TCA Policy Scope Name\",\n                \"type\": \"string\"\n              },\n              \"controlLoopSchemaType\": {\n                \"propertyOrder\": 1003,\n                \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n                \"type\": \"string\",\n                \"enum\": [\n                  \"VM\",\n                  \"VNF\"\n                ]\n              },\n              \"policyScope\": {\n                \"propertyOrder\": 1006,\n                \"title\": \"TCA Policy Scope\",\n                \"type\": \"string\"\n              },\n              \"eventName\": {\n                \"propertyOrder\": 1004,\n                \"title\": \"Event name to which thresholds need to be applied\",\n                \"type\": \"string\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','onap.policies.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n    onap.policies.Monitoring:\n        derived_from: tosca.policies.Root\n        description: a base policy type for all policies that governs monitoring provisioning\n    onap.policies.monitoring.cdap.tca.hi.lo.app:\n        derived_from: onap.policies.Monitoring\n        version: 1.0.0\n        properties:\n            tca_policy:\n                type: map\n                description: TCA Policy JSON\n                entry_schema:\n                    type: onap.datatypes.monitoring.tca_policy\ndata_types:\n    onap.datatypes.monitoring.metricsPerEventName:\n        derived_from: tosca.datatypes.Root\n        properties:\n            controlLoopSchemaType:\n                type: string\n                required: true\n                description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n                constraints:\n                  - valid_values:\n                      - VM\n                      - VNF\n            eventName:\n                type: string\n                required: true\n                description: Event name to which thresholds need to be applied\n            policyName:\n                type: string\n                required: true\n                description: TCA Policy Scope Name\n            policyScope:\n                type: string\n                required: true\n                description: TCA Policy Scope\n            policyVersion:\n                type: string\n                required: true\n                description: TCA Policy Scope Version\n            thresholds:\n                type: list\n                required: true\n                description: Thresholds associated with eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.thresholds\n    onap.datatypes.monitoring.tca_policy:\n        derived_from: tosca.datatypes.Root\n        properties:\n            domain:\n                type: string\n                required: true\n                description: Domain name to which TCA needs to be applied\n                default: measurementsForVfScaling\n                constraints:\n                  - equal: measurementsForVfScaling\n            metricsPerEventName:\n                type: list\n                required: true\n                description: Contains eventName and threshold details that need to be applied to given eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.metricsPerEventName\n    onap.datatypes.monitoring.thresholds:\n        derived_from: tosca.datatypes.Root\n        properties:\n            closedLoopControlName:\n                type: string\n                required: true\n                description: Closed Loop Control Name associated with the threshold\n            closedLoopEventStatus:\n                type: string\n                required: true\n                description: Closed Loop Event Status of the threshold\n                constraints:\n                  - valid_values:\n                      - ONSET\n                      - ABATED\n            direction:\n                type: string\n                required: true\n                description: Direction of the threshold\n                constraints:\n                  - valid_values:\n                      - LESS\n                      - LESS_OR_EQUAL\n                      - GREATER\n                      - GREATER_OR_EQUAL\n                      - EQUAL\n            fieldPath:\n                type: string\n                required: true\n                description: Json field Path as per CEF message which needs to be analyzed for TCA\n                constraints:\n                  - valid_values:\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n                      - $.event.measurementsForVfScalingFields.meanRequestLatency\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n                      - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n            severity:\n                type: string\n                required: true\n                description: Threshold Event Severity\n                constraints:\n                  - valid_values:\n                      - CRITICAL\n                      - MAJOR\n                      - MINOR\n                      - WARNING\n                      - NORMAL\n            thresholdValue:\n                type: integer\n                required: true\n                description: Threshold value for the field Path inside CEF message\n            version:\n                type: string\n                required: true\n                description: Version number associated with the threshold\n',NULL,'\0');
+INSERT INTO `micro_service_policies` VALUES ('TCA_jkJJ0_v1_0_ResourceInstanceName1_tca','','2020-01-16 11:40:15.420567','','2020-01-16 11:40:15.420567',NULL,NULL,'{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs-top\",\n    \"type\": \"array\",\n    \"title\": \"TCA Policy JSON\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"TCA Policy JSON\",\n      \"required\": [\n        \"domain\",\n        \"metricsPerEventName\"\n      ],\n      \"properties\": {\n        \"domain\": {\n          \"propertyOrder\": 1001,\n          \"default\": \"measurementsForVfScaling\",\n          \"title\": \"Domain name to which TCA needs to be applied\",\n          \"type\": \"string\"\n        },\n        \"metricsPerEventName\": {\n          \"propertyOrder\": 1002,\n          \"uniqueItems\": \"true\",\n          \"format\": \"tabs-top\",\n          \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"required\": [\n              \"controlLoopSchemaType\",\n              \"eventName\",\n              \"policyName\",\n              \"policyScope\",\n              \"policyVersion\",\n              \"thresholds\"\n            ],\n            \"properties\": {\n              \"policyVersion\": {\n                \"propertyOrder\": 1007,\n                \"title\": \"TCA Policy Scope Version\",\n                \"type\": \"string\"\n              },\n              \"thresholds\": {\n                \"propertyOrder\": 1008,\n                \"uniqueItems\": \"true\",\n                \"format\": \"tabs-top\",\n                \"title\": \"Thresholds associated with eventName\",\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"required\": [\n                    \"closedLoopControlName\",\n                    \"closedLoopEventStatus\",\n                    \"direction\",\n                    \"fieldPath\",\n                    \"severity\",\n                    \"thresholdValue\",\n                    \"version\"\n                  ],\n                  \"properties\": {\n                    \"severity\": {\n                      \"propertyOrder\": 1013,\n                      \"title\": \"Threshold Event Severity\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"CRITICAL\",\n                        \"MAJOR\",\n                        \"MINOR\",\n                        \"WARNING\",\n                        \"NORMAL\"\n                      ]\n                    },\n                    \"fieldPath\": {\n                      \"propertyOrder\": 1012,\n                      \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n                        \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n                        \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n                      ]\n                    },\n                    \"thresholdValue\": {\n                      \"propertyOrder\": 1014,\n                      \"title\": \"Threshold value for the field Path inside CEF message\",\n                      \"type\": \"integer\"\n                    },\n                    \"closedLoopEventStatus\": {\n                      \"propertyOrder\": 1010,\n                      \"title\": \"Closed Loop Event Status of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"ONSET\",\n                        \"ABATED\"\n                      ]\n                    },\n                    \"closedLoopControlName\": {\n                      \"propertyOrder\": 1009,\n                      \"title\": \"Closed Loop Control Name associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"version\": {\n                      \"propertyOrder\": 1015,\n                      \"title\": \"Version number associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"direction\": {\n                      \"propertyOrder\": 1011,\n                      \"title\": \"Direction of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"LESS\",\n                        \"LESS_OR_EQUAL\",\n                        \"GREATER\",\n                        \"GREATER_OR_EQUAL\",\n                        \"EQUAL\"\n                      ]\n                    }\n                  }\n                }\n              },\n              \"policyName\": {\n                \"propertyOrder\": 1005,\n                \"title\": \"TCA Policy Scope Name\",\n                \"type\": \"string\"\n              },\n              \"controlLoopSchemaType\": {\n                \"propertyOrder\": 1003,\n                \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n                \"type\": \"string\",\n                \"enum\": [\n                  \"VM\",\n                  \"VNF\"\n                ]\n              },\n              \"policyScope\": {\n                \"propertyOrder\": 1006,\n                \"title\": \"TCA Policy Scope\",\n                \"type\": \"string\"\n              },\n              \"eventName\": {\n                \"propertyOrder\": 1004,\n                \"title\": \"Event name to which thresholds need to be applied\",\n                \"type\": \"string\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','onap.policies.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n    onap.policies.Monitoring:\n        derived_from: tosca.policies.Root\n        description: a base policy type for all policies that governs monitoring provisioning\n    onap.policies.monitoring.cdap.tca.hi.lo.app:\n        derived_from: onap.policies.Monitoring\n        version: 1.0.0\n        properties:\n            tca_policy:\n                type: map\n                description: TCA Policy JSON\n                entry_schema:\n                    type: onap.datatypes.monitoring.tca_policy\ndata_types:\n    onap.datatypes.monitoring.metricsPerEventName:\n        derived_from: tosca.datatypes.Root\n        properties:\n            controlLoopSchemaType:\n                type: string\n                required: true\n                description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n                constraints:\n                  - valid_values:\n                      - VM\n                      - VNF\n            eventName:\n                type: string\n                required: true\n                description: Event name to which thresholds need to be applied\n            policyName:\n                type: string\n                required: true\n                description: TCA Policy Scope Name\n            policyScope:\n                type: string\n                required: true\n                description: TCA Policy Scope\n            policyVersion:\n                type: string\n                required: true\n                description: TCA Policy Scope Version\n            thresholds:\n                type: list\n                required: true\n                description: Thresholds associated with eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.thresholds\n    onap.datatypes.monitoring.tca_policy:\n        derived_from: tosca.datatypes.Root\n        properties:\n            domain:\n                type: string\n                required: true\n                description: Domain name to which TCA needs to be applied\n                default: measurementsForVfScaling\n                constraints:\n                  - equal: measurementsForVfScaling\n            metricsPerEventName:\n                type: list\n                required: true\n                description: Contains eventName and threshold details that need to be applied to given eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.metricsPerEventName\n    onap.datatypes.monitoring.thresholds:\n        derived_from: tosca.datatypes.Root\n        properties:\n            closedLoopControlName:\n                type: string\n                required: true\n                description: Closed Loop Control Name associated with the threshold\n            closedLoopEventStatus:\n                type: string\n                required: true\n                description: Closed Loop Event Status of the threshold\n                constraints:\n                  - valid_values:\n                      - ONSET\n                      - ABATED\n            direction:\n                type: string\n                required: true\n                description: Direction of the threshold\n                constraints:\n                  - valid_values:\n                      - LESS\n                      - LESS_OR_EQUAL\n                      - GREATER\n                      - GREATER_OR_EQUAL\n                      - EQUAL\n            fieldPath:\n                type: string\n                required: true\n                description: Json field Path as per CEF message which needs to be analyzed for TCA\n                constraints:\n                  - valid_values:\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n                      - $.event.measurementsForVfScalingFields.meanRequestLatency\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n                      - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n            severity:\n                type: string\n                required: true\n                description: Threshold Event Severity\n                constraints:\n                  - valid_values:\n                      - CRITICAL\n                      - MAJOR\n                      - MINOR\n                      - WARNING\n                      - NORMAL\n            thresholdValue:\n                type: integer\n                required: true\n                description: Threshold value for the field Path inside CEF message\n            version:\n                type: string\n                required: true\n                description: Version number associated with the threshold\n',NULL,'\0',NULL);
+INSERT INTO `micro_service_policies` VALUES ('tca_k8s_jkJJ0_v1_0_ResourceInstanceName1_tca_3','','2020-01-16 11:40:15.302285','','2020-01-16 11:40:15.302285',NULL,NULL,'{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs-top\",\n    \"type\": \"array\",\n    \"title\": \"TCA Policy JSON\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"TCA Policy JSON\",\n      \"required\": [\n        \"domain\",\n        \"metricsPerEventName\"\n      ],\n      \"properties\": {\n        \"domain\": {\n          \"propertyOrder\": 1001,\n          \"default\": \"measurementsForVfScaling\",\n          \"title\": \"Domain name to which TCA needs to be applied\",\n          \"type\": \"string\"\n        },\n        \"metricsPerEventName\": {\n          \"propertyOrder\": 1002,\n          \"uniqueItems\": \"true\",\n          \"format\": \"tabs-top\",\n          \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"required\": [\n              \"controlLoopSchemaType\",\n              \"eventName\",\n              \"policyName\",\n              \"policyScope\",\n              \"policyVersion\",\n              \"thresholds\"\n            ],\n            \"properties\": {\n              \"policyVersion\": {\n                \"propertyOrder\": 1007,\n                \"title\": \"TCA Policy Scope Version\",\n                \"type\": \"string\"\n              },\n              \"thresholds\": {\n                \"propertyOrder\": 1008,\n                \"uniqueItems\": \"true\",\n                \"format\": \"tabs-top\",\n                \"title\": \"Thresholds associated with eventName\",\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"required\": [\n                    \"closedLoopControlName\",\n                    \"closedLoopEventStatus\",\n                    \"direction\",\n                    \"fieldPath\",\n                    \"severity\",\n                    \"thresholdValue\",\n                    \"version\"\n                  ],\n                  \"properties\": {\n                    \"severity\": {\n                      \"propertyOrder\": 1013,\n                      \"title\": \"Threshold Event Severity\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"CRITICAL\",\n                        \"MAJOR\",\n                        \"MINOR\",\n                        \"WARNING\",\n                        \"NORMAL\"\n                      ]\n                    },\n                    \"fieldPath\": {\n                      \"propertyOrder\": 1012,\n                      \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n                        \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n                        \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n                      ]\n                    },\n                    \"thresholdValue\": {\n                      \"propertyOrder\": 1014,\n                      \"title\": \"Threshold value for the field Path inside CEF message\",\n                      \"type\": \"integer\"\n                    },\n                    \"closedLoopEventStatus\": {\n                      \"propertyOrder\": 1010,\n                      \"title\": \"Closed Loop Event Status of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"ONSET\",\n                        \"ABATED\"\n                      ]\n                    },\n                    \"closedLoopControlName\": {\n                      \"propertyOrder\": 1009,\n                      \"title\": \"Closed Loop Control Name associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"version\": {\n                      \"propertyOrder\": 1015,\n                      \"title\": \"Version number associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"direction\": {\n                      \"propertyOrder\": 1011,\n                      \"title\": \"Direction of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"LESS\",\n                        \"LESS_OR_EQUAL\",\n                        \"GREATER\",\n                        \"GREATER_OR_EQUAL\",\n                        \"EQUAL\"\n                      ]\n                    }\n                  }\n                }\n              },\n              \"policyName\": {\n                \"propertyOrder\": 1005,\n                \"title\": \"TCA Policy Scope Name\",\n                \"type\": \"string\"\n              },\n              \"controlLoopSchemaType\": {\n                \"propertyOrder\": 1003,\n                \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n                \"type\": \"string\",\n                \"enum\": [\n                  \"VM\",\n                  \"VNF\"\n                ]\n              },\n              \"policyScope\": {\n                \"propertyOrder\": 1006,\n                \"title\": \"TCA Policy Scope\",\n                \"type\": \"string\"\n              },\n              \"eventName\": {\n                \"propertyOrder\": 1004,\n                \"title\": \"Event name to which thresholds need to be applied\",\n                \"type\": \"string\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','onap.policies.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n    onap.policies.Monitoring:\n        derived_from: tosca.policies.Root\n        description: a base policy type for all policies that governs monitoring provisioning\n    onap.policies.monitoring.cdap.tca.hi.lo.app:\n        derived_from: onap.policies.Monitoring\n        version: 1.0.0\n        properties:\n            tca_policy:\n                type: map\n                description: TCA Policy JSON\n                entry_schema:\n                    type: onap.datatypes.monitoring.tca_policy\ndata_types:\n    onap.datatypes.monitoring.metricsPerEventName:\n        derived_from: tosca.datatypes.Root\n        properties:\n            controlLoopSchemaType:\n                type: string\n                required: true\n                description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n                constraints:\n                  - valid_values:\n                      - VM\n                      - VNF\n            eventName:\n                type: string\n                required: true\n                description: Event name to which thresholds need to be applied\n            policyName:\n                type: string\n                required: true\n                description: TCA Policy Scope Name\n            policyScope:\n                type: string\n                required: true\n                description: TCA Policy Scope\n            policyVersion:\n                type: string\n                required: true\n                description: TCA Policy Scope Version\n            thresholds:\n                type: list\n                required: true\n                description: Thresholds associated with eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.thresholds\n    onap.datatypes.monitoring.tca_policy:\n        derived_from: tosca.datatypes.Root\n        properties:\n            domain:\n                type: string\n                required: true\n                description: Domain name to which TCA needs to be applied\n                default: measurementsForVfScaling\n                constraints:\n                  - equal: measurementsForVfScaling\n            metricsPerEventName:\n                type: list\n                required: true\n                description: Contains eventName and threshold details that need to be applied to given eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.metricsPerEventName\n    onap.datatypes.monitoring.thresholds:\n        derived_from: tosca.datatypes.Root\n        properties:\n            closedLoopControlName:\n                type: string\n                required: true\n                description: Closed Loop Control Name associated with the threshold\n            closedLoopEventStatus:\n                type: string\n                required: true\n                description: Closed Loop Event Status of the threshold\n                constraints:\n                  - valid_values:\n                      - ONSET\n                      - ABATED\n            direction:\n                type: string\n                required: true\n                description: Direction of the threshold\n                constraints:\n                  - valid_values:\n                      - LESS\n                      - LESS_OR_EQUAL\n                      - GREATER\n                      - GREATER_OR_EQUAL\n                      - EQUAL\n            fieldPath:\n                type: string\n                required: true\n                description: Json field Path as per CEF message which needs to be analyzed for TCA\n                constraints:\n                  - valid_values:\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n                      - $.event.measurementsForVfScalingFields.meanRequestLatency\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n                      - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n            severity:\n                type: string\n                required: true\n                description: Threshold Event Severity\n                constraints:\n                  - valid_values:\n                      - CRITICAL\n                      - MAJOR\n                      - MINOR\n                      - WARNING\n                      - NORMAL\n            thresholdValue:\n                type: integer\n                required: true\n                description: Threshold value for the field Path inside CEF message\n            version:\n                type: string\n                required: true\n                description: Version number associated with the threshold\n',NULL,'\0',NULL);
+INSERT INTO `micro_service_policies` VALUES ('tca_k8s_jkJJ0_v1_0_ResourceInstanceName2_tca_2','','2020-01-16 11:40:15.135898','','2020-01-16 11:40:15.135898',NULL,NULL,'{\n  \"schema\": {\n    \"uniqueItems\": \"true\",\n    \"format\": \"tabs-top\",\n    \"type\": \"array\",\n    \"title\": \"TCA Policy JSON\",\n    \"items\": {\n      \"type\": \"object\",\n      \"title\": \"TCA Policy JSON\",\n      \"required\": [\n        \"domain\",\n        \"metricsPerEventName\"\n      ],\n      \"properties\": {\n        \"domain\": {\n          \"propertyOrder\": 1001,\n          \"default\": \"measurementsForVfScaling\",\n          \"title\": \"Domain name to which TCA needs to be applied\",\n          \"type\": \"string\"\n        },\n        \"metricsPerEventName\": {\n          \"propertyOrder\": 1002,\n          \"uniqueItems\": \"true\",\n          \"format\": \"tabs-top\",\n          \"title\": \"Contains eventName and threshold details that need to be applied to given eventName\",\n          \"type\": \"array\",\n          \"items\": {\n            \"type\": \"object\",\n            \"required\": [\n              \"controlLoopSchemaType\",\n              \"eventName\",\n              \"policyName\",\n              \"policyScope\",\n              \"policyVersion\",\n              \"thresholds\"\n            ],\n            \"properties\": {\n              \"policyVersion\": {\n                \"propertyOrder\": 1007,\n                \"title\": \"TCA Policy Scope Version\",\n                \"type\": \"string\"\n              },\n              \"thresholds\": {\n                \"propertyOrder\": 1008,\n                \"uniqueItems\": \"true\",\n                \"format\": \"tabs-top\",\n                \"title\": \"Thresholds associated with eventName\",\n                \"type\": \"array\",\n                \"items\": {\n                  \"type\": \"object\",\n                  \"required\": [\n                    \"closedLoopControlName\",\n                    \"closedLoopEventStatus\",\n                    \"direction\",\n                    \"fieldPath\",\n                    \"severity\",\n                    \"thresholdValue\",\n                    \"version\"\n                  ],\n                  \"properties\": {\n                    \"severity\": {\n                      \"propertyOrder\": 1013,\n                      \"title\": \"Threshold Event Severity\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"CRITICAL\",\n                        \"MAJOR\",\n                        \"MINOR\",\n                        \"WARNING\",\n                        \"NORMAL\"\n                      ]\n                    },\n                    \"fieldPath\": {\n                      \"propertyOrder\": 1012,\n                      \"title\": \"Json field Path as per CEF message which needs to be analyzed for TCA\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\",\n                        \"$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\",\n                        \"$.event.measurementsForVfScalingFields.meanRequestLatency\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\",\n                        \"$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\",\n                        \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\"\n                      ]\n                    },\n                    \"thresholdValue\": {\n                      \"propertyOrder\": 1014,\n                      \"title\": \"Threshold value for the field Path inside CEF message\",\n                      \"type\": \"integer\"\n                    },\n                    \"closedLoopEventStatus\": {\n                      \"propertyOrder\": 1010,\n                      \"title\": \"Closed Loop Event Status of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"ONSET\",\n                        \"ABATED\"\n                      ]\n                    },\n                    \"closedLoopControlName\": {\n                      \"propertyOrder\": 1009,\n                      \"title\": \"Closed Loop Control Name associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"version\": {\n                      \"propertyOrder\": 1015,\n                      \"title\": \"Version number associated with the threshold\",\n                      \"type\": \"string\"\n                    },\n                    \"direction\": {\n                      \"propertyOrder\": 1011,\n                      \"title\": \"Direction of the threshold\",\n                      \"type\": \"string\",\n                      \"enum\": [\n                        \"LESS\",\n                        \"LESS_OR_EQUAL\",\n                        \"GREATER\",\n                        \"GREATER_OR_EQUAL\",\n                        \"EQUAL\"\n                      ]\n                    }\n                  }\n                }\n              },\n              \"policyName\": {\n                \"propertyOrder\": 1005,\n                \"title\": \"TCA Policy Scope Name\",\n                \"type\": \"string\"\n              },\n              \"controlLoopSchemaType\": {\n                \"propertyOrder\": 1003,\n                \"title\": \"Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\",\n                \"type\": \"string\",\n                \"enum\": [\n                  \"VM\",\n                  \"VNF\"\n                ]\n              },\n              \"policyScope\": {\n                \"propertyOrder\": 1006,\n                \"title\": \"TCA Policy Scope\",\n                \"type\": \"string\"\n              },\n              \"eventName\": {\n                \"propertyOrder\": 1004,\n                \"title\": \"Event name to which thresholds need to be applied\",\n                \"type\": \"string\"\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}','onap.policies.monitoring.cdap.tca.hi.lo.app','tosca_definitions_version: tosca_simple_yaml_1_0_0\npolicy_types:\n    onap.policies.Monitoring:\n        derived_from: tosca.policies.Root\n        description: a base policy type for all policies that governs monitoring provisioning\n    onap.policies.monitoring.cdap.tca.hi.lo.app:\n        derived_from: onap.policies.Monitoring\n        version: 1.0.0\n        properties:\n            tca_policy:\n                type: map\n                description: TCA Policy JSON\n                entry_schema:\n                    type: onap.datatypes.monitoring.tca_policy\ndata_types:\n    onap.datatypes.monitoring.metricsPerEventName:\n        derived_from: tosca.datatypes.Root\n        properties:\n            controlLoopSchemaType:\n                type: string\n                required: true\n                description: Specifies Control Loop Schema Type for the event Name e.g. VNF, VM\n                constraints:\n                  - valid_values:\n                      - VM\n                      - VNF\n            eventName:\n                type: string\n                required: true\n                description: Event name to which thresholds need to be applied\n            policyName:\n                type: string\n                required: true\n                description: TCA Policy Scope Name\n            policyScope:\n                type: string\n                required: true\n                description: TCA Policy Scope\n            policyVersion:\n                type: string\n                required: true\n                description: TCA Policy Scope Version\n            thresholds:\n                type: list\n                required: true\n                description: Thresholds associated with eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.thresholds\n    onap.datatypes.monitoring.tca_policy:\n        derived_from: tosca.datatypes.Root\n        properties:\n            domain:\n                type: string\n                required: true\n                description: Domain name to which TCA needs to be applied\n                default: measurementsForVfScaling\n                constraints:\n                  - equal: measurementsForVfScaling\n            metricsPerEventName:\n                type: list\n                required: true\n                description: Contains eventName and threshold details that need to be applied to given eventName\n                entry_schema:\n                    type: onap.datatypes.monitoring.metricsPerEventName\n    onap.datatypes.monitoring.thresholds:\n        derived_from: tosca.datatypes.Root\n        properties:\n            closedLoopControlName:\n                type: string\n                required: true\n                description: Closed Loop Control Name associated with the threshold\n            closedLoopEventStatus:\n                type: string\n                required: true\n                description: Closed Loop Event Status of the threshold\n                constraints:\n                  - valid_values:\n                      - ONSET\n                      - ABATED\n            direction:\n                type: string\n                required: true\n                description: Direction of the threshold\n                constraints:\n                  - valid_values:\n                      - LESS\n                      - LESS_OR_EQUAL\n                      - GREATER\n                      - GREATER_OR_EQUAL\n                      - EQUAL\n            fieldPath:\n                type: string\n                required: true\n                description: Json field Path as per CEF message which needs to be analyzed for TCA\n                constraints:\n                  - valid_values:\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait\n                      - $.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage\n                      - $.event.measurementsForVfScalingFields.meanRequestLatency\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree\n                      - $.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed\n                      - $.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\n            severity:\n                type: string\n                required: true\n                description: Threshold Event Severity\n                constraints:\n                  - valid_values:\n                      - CRITICAL\n                      - MAJOR\n                      - MINOR\n                      - WARNING\n                      - NORMAL\n            thresholdValue:\n                type: integer\n                required: true\n                description: Threshold value for the field Path inside CEF message\n            version:\n                type: string\n                required: true\n                description: Version number associated with the threshold\n',NULL,'\0',NULL);
 /*!40000 ALTER TABLE `micro_service_policies` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -81,11 +117,39 @@
 
 LOCK TABLES `operational_policies` WRITE;
 /*!40000 ALTER TABLE `operational_policies` DISABLE KEYS */;
-INSERT INTO `operational_policies` VALUES ('OPERATIONAL_yHsgu_v1_0_ResourceInstanceName1_tca','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_yHsgu_v1_0_ResourceInstanceName1_tca\"\n    }\n  }\n}','LOOP_yHsgu_v1_0_ResourceInstanceName1_tca');
-INSERT INTO `operational_policies` VALUES ('OPERATIONAL_yHsgu_v1_0_ResourceInstanceName1_tca_3','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_yHsgu_v1_0_ResourceInstanceName1_tca_3\"\n    }\n  }\n}','LOOP_yHsgu_v1_0_ResourceInstanceName1_tca_3');
-INSERT INTO `operational_policies` VALUES ('OPERATIONAL_yHsgu_v1_0_ResourceInstanceName2_tca_2','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_yHsgu_v1_0_ResourceInstanceName2_tca_2\"\n    }\n  }\n}','LOOP_yHsgu_v1_0_ResourceInstanceName2_tca_2');
+INSERT INTO `operational_policies` VALUES ('OPERATIONAL_jkJJ0_v1_0_ResourceInstanceName1_tca','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_jkJJ0_v1_0_ResourceInstanceName1_tca\"\n    }\n  }\n}','LOOP_jkJJ0_v1_0_ResourceInstanceName1_tca',NULL,NULL);
+INSERT INTO `operational_policies` VALUES ('OPERATIONAL_jkJJ0_v1_0_ResourceInstanceName1_tca_3','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_jkJJ0_v1_0_ResourceInstanceName1_tca_3\"\n    }\n  }\n}','LOOP_jkJJ0_v1_0_ResourceInstanceName1_tca_3',NULL,NULL);
+INSERT INTO `operational_policies` VALUES ('OPERATIONAL_jkJJ0_v1_0_ResourceInstanceName2_tca_2','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_jkJJ0_v1_0_ResourceInstanceName2_tca_2\"\n    }\n  }\n}','LOOP_jkJJ0_v1_0_ResourceInstanceName2_tca_2',NULL,NULL);
 /*!40000 ALTER TABLE `operational_policies` ENABLE KEYS */;
 UNLOCK TABLES;
+
+--
+-- Dumping data for table `policy_models`
+--
+
+LOCK TABLES `policy_models` WRITE;
+/*!40000 ALTER TABLE `policy_models` DISABLE KEYS */;
+/*!40000 ALTER TABLE `policy_models` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Dumping data for table `services`
+--
+
+LOCK TABLES `services` WRITE;
+/*!40000 ALTER TABLE `services` DISABLE KEYS */;
+INSERT INTO `services` VALUES ('63cac700-ab9a-4115-a74f-7eac85e3fce0','vLoadBalancerMS','{\n  \"CP\": {},\n  \"VL\": {},\n  \"VF\": {\n    \"vLoadBalancerMS 0\": {\n      \"resourceVendor\": \"Test\",\n      \"name\": \"vLoadBalancerMS\",\n      \"resourceVendorModelNumber\": \"\",\n      \"description\": \"vLBMS\",\n      \"invariantUUID\": \"1a31b9f2-e50d-43b7-89b3-a040250cf506\",\n      \"UUID\": \"b4c4f3d7-929e-4b6d-a1cd-57e952ddc3e6\",\n      \"type\": \"VF\",\n      \"category\": \"Application L4+\",\n      \"subcategory\": \"Load Balancer\",\n      \"version\": \"1.0\",\n      \"customizationUUID\": \"465246dc-7748-45f4-a013-308d92922552\",\n      \"resourceVendorRelease\": \"1.0\"\n    }\n  },\n  \"CR\": {},\n  \"VFC\": {},\n  \"PNF\": {},\n  \"Service\": {},\n  \"CVFC\": {},\n  \"Service Proxy\": {},\n  \"Configuration\": {},\n  \"AllottedResource\": {},\n  \"VFModule\": {\n    \"Vloadbalancerms..vpkg..module-1\": {\n      \"vfModuleModelInvariantUUID\": \"ca052563-eb92-4b5b-ad41-9111768ce043\",\n      \"vfModuleModelVersion\": \"1\",\n      \"vfModuleModelName\": \"Vloadbalancerms..vpkg..module-1\",\n      \"vfModuleModelUUID\": \"1e725ccc-b823-4f67-82b9-4f4367070dbc\",\n      \"vfModuleModelCustomizationUUID\": \"1bffdc31-a37d-4dee-b65c-dde623a76e52\",\n      \"min_vf_module_instances\": 0,\n      \"vf_module_label\": \"vpkg\",\n      \"max_vf_module_instances\": 1,\n      \"vf_module_type\": \"Expansion\",\n      \"isBase\": false,\n      \"initial_count\": 0,\n      \"volume_group\": false\n    },\n    \"Vloadbalancerms..vdns..module-3\": {\n      \"vfModuleModelInvariantUUID\": \"4c10ba9b-f88f-415e-9de3-5d33336047fa\",\n      \"vfModuleModelVersion\": \"1\",\n      \"vfModuleModelName\": \"Vloadbalancerms..vdns..module-3\",\n      \"vfModuleModelUUID\": \"4fa73b49-8a6c-493e-816b-eb401567b720\",\n      \"vfModuleModelCustomizationUUID\": \"bafcdab0-801d-4d81-9ead-f464640a38b1\",\n      \"min_vf_module_instances\": 0,\n      \"vf_module_label\": \"vdns\",\n      \"max_vf_module_instances\": 50,\n      \"vf_module_type\": \"Expansion\",\n      \"isBase\": false,\n      \"initial_count\": 0,\n      \"volume_group\": false\n    },\n    \"Vloadbalancerms..base_template..module-0\": {\n      \"vfModuleModelInvariantUUID\": \"921f7c96-ebdd-42e6-81b9-1cfc0c9796f3\",\n      \"vfModuleModelVersion\": \"1\",\n      \"vfModuleModelName\": \"Vloadbalancerms..base_template..module-0\",\n      \"vfModuleModelUUID\": \"63734409-f745-4e4d-a38b-131638a0edce\",\n      \"vfModuleModelCustomizationUUID\": \"86baddea-c730-4fb8-9410-cd2e17fd7f27\",\n      \"min_vf_module_instances\": 1,\n      \"vf_module_label\": \"base_template\",\n      \"max_vf_module_instances\": 1,\n      \"vf_module_type\": \"Base\",\n      \"isBase\": true,\n      \"initial_count\": 1,\n      \"volume_group\": false\n    },\n    \"Vloadbalancerms..vlb..module-2\": {\n      \"vfModuleModelInvariantUUID\": \"a772a1f4-0064-412c-833d-4749b15828dd\",\n      \"vfModuleModelVersion\": \"1\",\n      \"vfModuleModelName\": \"Vloadbalancerms..vlb..module-2\",\n      \"vfModuleModelUUID\": \"0f5c3f6a-650a-4303-abb6-fff3e573a07a\",\n      \"vfModuleModelCustomizationUUID\": \"96a78aad-4ffb-4ef0-9c4f-deb03bf1d806\",\n      \"min_vf_module_instances\": 0,\n      \"vf_module_label\": \"vlb\",\n      \"max_vf_module_instances\": 1,\n      \"vf_module_type\": \"Expansion\",\n      \"isBase\": false,\n      \"initial_count\": 0,\n      \"volume_group\": false\n    }\n  }\n}','{\n  \"serviceType\": \"\",\n  \"serviceRole\": \"\",\n  \"description\": \"vLBMS\",\n  \"type\": \"Service\",\n  \"instantiationType\": \"A-la-carte\",\n  \"namingPolicy\": \"\",\n  \"serviceEcompNaming\": \"true\",\n  \"environmentContext\": \"General_Revenue-Bearing\",\n  \"name\": \"vLoadBalancerMS\",\n  \"invariantUUID\": \"30ec5b59-4799-48d8-ac5f-1058a6b0e48f\",\n  \"ecompGeneratedNaming\": \"true\",\n  \"UUID\": \"63cac700-ab9a-4115-a74f-7eac85e3fce0\",\n  \"category\": \"Network L4+\"\n}');
+/*!40000 ALTER TABLE `services` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Dumping data for table `templates_microservicemodels`
+--
+
+LOCK TABLES `templates_microservicemodels` WRITE;
+/*!40000 ALTER TABLE `templates_microservicemodels` DISABLE KEYS */;
+/*!40000 ALTER TABLE `templates_microservicemodels` ENABLE KEYS */;
+UNLOCK TABLES;
 /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
 
 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
@@ -95,4 +159,4 @@
 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
--- Dump completed on 2019-09-11 16:01:22
+-- Dump completed on 2020-01-16 10:41:46
diff --git a/pom.xml b/pom.xml
index 83bc1d0..ba27daa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -259,6 +259,12 @@
 			<groupId>org.apache.xmlgraphics</groupId>
 			<artifactId>batik-svggen</artifactId>
 			<version>1.11</version>
+			<exclusions>
+			<exclusion>
+				<groupId>xml-apis</groupId>
+				<artifactId>xml-apis</artifactId>
+			</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.xmlgraphics</groupId>
@@ -601,9 +607,9 @@
 
 		<plugins>
 			<plugin>
-				<groupId>de.jpdigital</groupId>
-				<artifactId>hibernate52-ddl-maven-plugin</artifactId>
-				<version>2.2.0</version>
+					<groupId>de.jpdigital</groupId>
+					<artifactId>hibernate52-ddl-maven-plugin</artifactId>
+					<version>2.2.0</version>
 				<dependencies>
 					<dependency>
 						<groupId>javax.xml.bind</groupId>
@@ -619,7 +625,7 @@
 						</goals>
 						<configuration>
 							<packages>
-								<param>org.onap.clamp.dao.model</param>
+								<param>org.onap.clamp</param>
 							</packages>
 							<dialects>
 								<param>MARIADB53</param>
diff --git a/src/main/java/org/onap/clamp/clds/Application.java b/src/main/java/org/onap/clamp/clds/Application.java
index e41140f..63320d2 100644
--- a/src/main/java/org/onap/clamp/clds/Application.java
+++ b/src/main/java/org/onap/clamp/clds/Application.java
@@ -58,6 +58,7 @@
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.core.env.Environment;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.annotation.EnableScheduling;
@@ -65,13 +66,14 @@
 
 @ComponentScan(basePackages = { "org.onap.clamp" })
 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, SecurityAutoConfiguration.class,
-        UserDetailsServiceAutoConfiguration.class })
+    UserDetailsServiceAutoConfiguration.class })
 @EnableJpaRepositories(basePackages = { "org.onap.clamp" })
 @EntityScan(basePackages = { "org.onap.clamp" })
 @EnableTransactionManagement
 @EnableConfigurationProperties
 @EnableAsync
 @EnableScheduling
+@EnableJpaAuditing
 public class Application extends SpringBootServletInitializer {
 
     protected static final EELFLogger eelfLogger = EELFManager.getInstance().getLogger(Application.class);
@@ -137,8 +139,6 @@
         return tomcat;
     }
 
-
-
     private Connector createRedirectConnector(int redirectSecuredPort) {
         if (redirectSecuredPort <= 0) {
             eelfLogger.warn("HTTP port redirection to HTTPS is disabled because the HTTPS port is 0 (random port) or -1"
@@ -159,7 +159,7 @@
             if (env.getProperty("server.ssl.key-store") != null) {
 
                 KeyStore keystore = KeyStore.getInstance(env.getProperty("server.ssl.key-store-type"));
-                String password = PassDecoder.decode(env.getProperty("server.ssl.key-store-password"), 
+                String password = PassDecoder.decode(env.getProperty("server.ssl.key-store-password"),
                         env.getProperty("clamp.config.keyFile"));
                 String keyStore = env.getProperty("server.ssl.key-store");
                 InputStream is = ResourceFileUtil.getResourceAsStream(keyStore.replaceAll("classpath:", ""));
diff --git a/src/main/java/org/onap/clamp/clds/ClampInUserAuditorAware.java b/src/main/java/org/onap/clamp/clds/ClampInUserAuditorAware.java
new file mode 100644
index 0000000..d18e7eb
--- /dev/null
+++ b/src/main/java/org/onap/clamp/clds/ClampInUserAuditorAware.java
@@ -0,0 +1,46 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2020 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.clds;
+
+import java.util.Optional;
+
+import org.springframework.data.domain.AuditorAware;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.stereotype.Component;
+
+@Component
+public class ClampInUserAuditorAware implements AuditorAware<String> {
+
+    @Override
+    public Optional<String> getCurrentAuditor() {
+        if (SecurityContextHolder.getContext().getAuthentication() != null
+                && SecurityContextHolder.getContext().getAuthentication().getPrincipal() != null) {
+            return Optional.of(((UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal())
+                    .getUsername());
+        }
+        return Optional.of("");
+    }
+
+}
diff --git a/src/main/java/org/onap/clamp/clds/filter/ClampCadiFilter.java b/src/main/java/org/onap/clamp/clds/filter/ClampCadiFilter.java
index 9e04bd0..3bbb8a0 100644
--- a/src/main/java/org/onap/clamp/clds/filter/ClampCadiFilter.java
+++ b/src/main/java/org/onap/clamp/clds/filter/ClampCadiFilter.java
@@ -153,7 +153,7 @@
                                 URLDecoder.decode(certHeader, StandardCharsets.UTF_8.toString()).getBytes()));
                 X509Certificate caCert = (X509Certificate) certificateFactory
                         .generateCertificate(new ByteArrayInputStream(
-                        ResourceFileUtil.getResourceAsString("clds/aaf/ssl/ca-certs.pem").getBytes()));
+                                ResourceFileUtil.getResourceAsString("clds/aaf/ssl/ca-certs.pem").getBytes()));
 
                 X509Certificate[] certifArray = ((X509Certificate[]) request
                         .getAttribute("javax.servlet.request.X509Certificate"));
diff --git a/src/main/java/org/onap/clamp/clds/model/CldsDictionary.java b/src/main/java/org/onap/clamp/clds/model/CldsDictionary.java
deleted file mode 100644
index 35fbcec..0000000
--- a/src/main/java/org/onap/clamp/clds/model/CldsDictionary.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP CLAMP
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights
- *                             reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END============================================
- * ===================================================================
- *
- */
-
-package org.onap.clamp.clds.model;
-
-import com.google.gson.annotations.Expose;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Represents a CLDS Dictionary.
- */
-
-public class CldsDictionary {
-
-    @Expose
-    private String dictionaryId;
-    @Expose
-    private String dictionaryName;
-
-    @Expose
-    private String createdBy;
-    @Expose
-    private String updatedBy;
-    @Expose
-    private String lastUpdatedDate;
-    @Expose
-    private List<CldsDictionaryItem> cldsDictionaryItems = new ArrayList<>();
-
-    /**
-     * Get the dictionary ID.
-     * 
-     * @return the dictionaryId
-     */
-    public String getDictionaryId() {
-        return dictionaryId;
-    }
-
-    /**
-     * Set the dictionary Id.
-     * 
-     * @param dictionaryId the dictionaryId to set
-     */
-    public void setDictionaryId(String dictionaryId) {
-        this.dictionaryId = dictionaryId;
-    }
-
-    /**
-     * Get the dictionary name.
-     * 
-     * @return the dictionaryName
-     */
-    public String getDictionaryName() {
-        return dictionaryName;
-    }
-
-    /**
-     * Set the dictionary name.
-     * 
-     * @param dictionaryName the dictionaryName to set
-     */
-    public void setDictionaryName(String dictionaryName) {
-        this.dictionaryName = dictionaryName;
-    }
-
-    /**
-     * Get the createdBy info.
-     * 
-     * @return the createdBy
-     */
-    public String getCreatedBy() {
-        return createdBy;
-    }
-
-    /**
-     * Set the createdBy info.
-     * 
-     * @param createdBy the createdBy to set
-     */
-    public void setCreatedBy(String createdBy) {
-        this.createdBy = createdBy;
-    }
-
-    /**
-     * Get the updatedBy info.
-     * 
-     * @return the updatedBy
-     */
-    public String getUpdatedBy() {
-        return updatedBy;
-    }
-
-    /**
-     * Set the updatedBy info.
-     * 
-     * @param updatedby the updatedBy to set
-     */
-    public void setUpdatedBy(String updatedby) {
-        updatedBy = updatedby;
-    }
-
-    /**
-     * Get the last updated date.
-     * 
-     * @return the lastUpdatedDate
-     */
-    public String getLastUpdatedDate() {
-        return lastUpdatedDate;
-    }
-
-    /**
-     * Set the last updated date.
-     * 
-     * @param lastUpdatedDate the lastUpdatedDate to set
-     */
-    public void setLastUpdatedDate(String lastUpdatedDate) {
-        this.lastUpdatedDate = lastUpdatedDate;
-    }
-
-    /**
-     * Get all the dictionary items.
-     * 
-     * @return the cldsDictionaryItems
-     */
-    public List<CldsDictionaryItem> getCldsDictionaryItems() {
-        return cldsDictionaryItems;
-    }
-
-    /**
-     * Set the whole dictionary items.
-     * 
-     * @param cldsDictionaryItems the cldsDictionaryItems to set
-     */
-    public void setCldsDictionaryItems(List<CldsDictionaryItem> cldsDictionaryItems) {
-        this.cldsDictionaryItems = cldsDictionaryItems;
-    }
-
-}
diff --git a/src/main/java/org/onap/clamp/clds/model/CldsDictionaryItem.java b/src/main/java/org/onap/clamp/clds/model/CldsDictionaryItem.java
deleted file mode 100644
index 1b79bdf..0000000
--- a/src/main/java/org/onap/clamp/clds/model/CldsDictionaryItem.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP CLAMP
- * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights
- *                             reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END============================================
- * ===================================================================
- *
- */
-
-package org.onap.clamp.clds.model;
-
-import com.google.gson.annotations.Expose;
-
-/**
- * Represents a CLDS Dictionary Item.
- */
-public class CldsDictionaryItem {
-
-    @Expose
-    private String dictElementId;
-    @Expose
-    private String dictionaryId;
-    @Expose
-    private String dictElementName;
-    @Expose
-    private String dictElementShortName;
-    @Expose
-    private String dictElementDesc;
-    @Expose
-    private String dictElementType;
-    @Expose
-    private String createdBy;
-    @Expose
-    private String updatedBy;
-    @Expose
-    private String lastUpdatedDate;
-
-    /**
-     * Get the dictionary element id.
-     *
-     * @return the dictElementId
-     */
-    public String getDictElementId() {
-        return dictElementId;
-    }
-
-    /**
-     * Set the dictionary element id.
-     *
-     * @param dictElementId the dictElementId to set
-     */
-    public void setDictElementId(String dictElementId) {
-        this.dictElementId = dictElementId;
-    }
-
-    /**
-     * Get the dictionary id.
-     *
-     * @return the dictionaryId
-     */
-    public String getDictionaryId() {
-        return dictionaryId;
-    }
-
-    /**
-     * Set the dictionary id.
-     *
-     * @param dictionaryId the dictionaryId to set
-     */
-    public void setDictionaryId(String dictionaryId) {
-        this.dictionaryId = dictionaryId;
-    }
-
-    /**
-     * Get the dictionary name.
-     *
-     * @return the dictElementName
-     */
-    public String getDictElementName() {
-        return dictElementName;
-    }
-
-    /**
-     * Set the dictionary name.
-     *
-     * @param dictElementName the dictElementName to set
-     */
-    public void setDictElementName(String dictElementName) {
-        this.dictElementName = dictElementName;
-    }
-
-    /**
-     * Get the dictionary element short name.
-     *
-     * @return the dictElementShortName
-     */
-    public String getDictElementShortName() {
-        return dictElementShortName;
-    }
-
-    /**
-     * Set the dictionary element short name.
-     *
-     * @param dictElementShortName the dictElementShortName to set
-     */
-    public void setDictElementShortName(String dictElementShortName) {
-        this.dictElementShortName = dictElementShortName;
-    }
-
-    /**
-     * Get the dictionary element description.
-     *
-     * @return the dictElementDesc
-     */
-    public String getDictElementDesc() {
-        return dictElementDesc;
-    }
-
-    /**
-     * Set the dictionary element description.
-     *
-     * @param dictElementDesc the dictElementDesc to set
-     */
-    public void setDictElementDesc(String dictElementDesc) {
-        this.dictElementDesc = dictElementDesc;
-    }
-
-    /**
-     * Get the dictionary element type.
-     *
-     * @return the dictElementType
-     */
-    public String getDictElementType() {
-        return dictElementType;
-    }
-
-    /**
-     * Set the dictionary element type.
-     *
-     * @param dictElementType the dictElementType to set
-     */
-    public void setDictElementType(String dictElementType) {
-        this.dictElementType = dictElementType;
-    }
-
-    /**
-     * Get the createdBy info.
-     *
-     * @return the createdBy
-     */
-    public String getCreatedBy() {
-        return createdBy;
-    }
-
-    /**
-     * Set the createdBy info.
-     *
-     * @param createdBy the createdBy to set
-     */
-    public void setCreatedBy(String createdBy) {
-        this.createdBy = createdBy;
-    }
-
-    /**
-     * Get the updatedBy info.
-     *
-     * @return the updatedBy
-     */
-    public String getUpdatedBy() {
-        return updatedBy;
-    }
-
-    /**
-     * Set the updatedBy info.
-     *
-     * @param updatedby the updatedBy to set
-     */
-    public void setUpdatedBy(String updatedby) {
-        updatedBy = updatedby;
-    }
-
-    /**
-     * Get the last updated date.
-     *
-     * @return the lastUpdatedDate
-     */
-    public String getLastUpdatedDate() {
-        return lastUpdatedDate;
-    }
-
-    /**
-     * Set the last updated date.
-     *
-     * @param lastUpdatedDate the lastUpdatedDate to set
-     */
-    public void setLastUpdatedDate(String lastUpdatedDate) {
-        this.lastUpdatedDate = lastUpdatedDate;
-    }
-
-}
diff --git a/src/main/java/org/onap/clamp/clds/tosca/ToscaYamlToJsonConvertor.java b/src/main/java/org/onap/clamp/clds/tosca/ToscaYamlToJsonConvertor.java
index 43dd5f4..2e025ba 100644
--- a/src/main/java/org/onap/clamp/clds/tosca/ToscaYamlToJsonConvertor.java
+++ b/src/main/java/org/onap/clamp/clds/tosca/ToscaYamlToJsonConvertor.java
@@ -481,63 +481,6 @@
 
     private void processDictionaryElements(JSONObject childObject, String dictionaryReference) {
 
-        /*
-         * if (dictionaryReference.contains("#")) { String[] dictionaryKeyArray =
-         * dictionaryReference
-         * .substring(dictionaryReference.indexOf(ToscaSchemaConstants.DICTIONARY) + 11,
-         * dictionaryReference.length()) .split("#"); // We support only one # as of
-         * now. List<CldsDictionaryItem> cldsDictionaryElements = null;
-         * List<CldsDictionaryItem> subDictionaryElements = null; if (dictionaryKeyArray
-         * != null && dictionaryKeyArray.length == 2) { cldsDictionaryElements =
-         * getCldsDao().getDictionaryElements(dictionaryKeyArray[0], null, null);
-         * subDictionaryElements =
-         * getCldsDao().getDictionaryElements(dictionaryKeyArray[1], null, null);
-         * 
-         * if (cldsDictionaryElements != null) { List<String> subCldsDictionaryNames =
-         * subDictionaryElements.stream()
-         * .map(CldsDictionaryItem::getDictElementShortName).collect(Collectors.toList()
-         * ); JSONArray jsonArray = new JSONArray();
-         * 
-         * Optional.ofNullable(cldsDictionaryElements).get().stream().forEach(c -> {
-         * JSONObject jsonObject = new JSONObject();
-         * jsonObject.put(JsonEditorSchemaConstants.TYPE,
-         * getJsonType(c.getDictElementType())); if (c.getDictElementType() != null &&
-         * c.getDictElementType().equalsIgnoreCase(ToscaSchemaConstants.TYPE_STRING)) {
-         * jsonObject.put(JsonEditorSchemaConstants.MIN_LENGTH, 1); }
-         * jsonObject.put(JsonEditorSchemaConstants.ID, c.getDictElementName());
-         * jsonObject.put(JsonEditorSchemaConstants.LABEL, c.getDictElementShortName());
-         * jsonObject.put(JsonEditorSchemaConstants.OPERATORS, subCldsDictionaryNames);
-         * jsonArray.put(jsonObject); }); ; JSONObject filterObject = new JSONObject();
-         * filterObject.put(JsonEditorSchemaConstants.FILTERS, jsonArray);
-         * 
-         * childObject.put(JsonEditorSchemaConstants.TYPE,
-         * JsonEditorSchemaConstants.TYPE_QBLDR); // TO invoke validation on such
-         * parameters childObject.put(JsonEditorSchemaConstants.MIN_LENGTH, 1);
-         * childObject.put(JsonEditorSchemaConstants.QSSCHEMA, filterObject);
-         * 
-         * } } } else { String dictionaryKey = dictionaryReference.substring(
-         * dictionaryReference.indexOf(ToscaSchemaConstants.DICTIONARY) + 11,
-         * dictionaryReference.length()); if (dictionaryKey != null) {
-         * List<CldsDictionaryItem> cldsDictionaryElements =
-         * getCldsDao().getDictionaryElements(dictionaryKey, null, null); if
-         * (cldsDictionaryElements != null) { List<String> cldsDictionaryNames = new
-         * ArrayList<>(); List<String> cldsDictionaryFullNames = new ArrayList<>();
-         * cldsDictionaryElements.stream().forEach(c -> { // Json type will be
-         * translated before Policy creation if (c.getDictElementType() != null &&
-         * !c.getDictElementType().equalsIgnoreCase("json")) {
-         * cldsDictionaryFullNames.add(c.getDictElementName()); }
-         * cldsDictionaryNames.add(c.getDictElementShortName()); });
-         * 
-         * if (cldsDictionaryFullNames.size() > 0) {
-         * childObject.put(JsonEditorSchemaConstants.ENUM, cldsDictionaryFullNames); //
-         * Add Enum titles for generated translated values during JSON instance //
-         * generation JSONObject enumTitles = new JSONObject();
-         * enumTitles.put(JsonEditorSchemaConstants.ENUM_TITLES, cldsDictionaryNames);
-         * childObject.put(JsonEditorSchemaConstants.OPTIONS, enumTitles); } else {
-         * childObject.put(JsonEditorSchemaConstants.ENUM, cldsDictionaryNames); }
-         * 
-         * } } }
-         */
     }
 
     private String getJsonType(String toscaType) {
diff --git a/src/main/java/org/onap/clamp/loop/Loop.java b/src/main/java/org/onap/clamp/loop/Loop.java
index 531587a..66046f0 100644
--- a/src/main/java/org/onap/clamp/loop/Loop.java
+++ b/src/main/java/org/onap/clamp/loop/Loop.java
@@ -56,18 +56,20 @@
 import org.hibernate.annotations.TypeDef;
 import org.hibernate.annotations.TypeDefs;
 import org.onap.clamp.dao.model.jsontype.StringJsonUserType;
+import org.onap.clamp.loop.common.AuditEntity;
 import org.onap.clamp.loop.components.external.DcaeComponent;
 import org.onap.clamp.loop.components.external.ExternalComponent;
 import org.onap.clamp.loop.components.external.PolicyComponent;
 import org.onap.clamp.loop.log.LoopLog;
 import org.onap.clamp.loop.service.Service;
+import org.onap.clamp.loop.template.LoopTemplate;
 import org.onap.clamp.policy.microservice.MicroServicePolicy;
 import org.onap.clamp.policy.operational.OperationalPolicy;
 
 @Entity
 @Table(name = "loops")
 @TypeDefs({ @TypeDef(name = "json", typeClass = StringJsonUserType.class) })
-public class Loop implements Serializable {
+public class Loop extends AuditEntity implements Serializable {
 
     /**
      * The serial version id.
@@ -103,7 +105,7 @@
     private JsonObject globalPropertiesJson;
 
     @Expose
-    @ManyToOne(fetch = FetchType.EAGER)
+    @ManyToOne(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH })
     @JoinColumn(name = "service_uuid")
     private Service modelService;
 
@@ -120,19 +122,24 @@
     private final Map<String, ExternalComponent> components = new HashMap<>();
 
     @Expose
-    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "loop")
+    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "loop", orphanRemoval = true)
     private Set<OperationalPolicy> operationalPolicies = new HashSet<>();
 
     @Expose
-    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+    @ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH }, fetch = FetchType.EAGER)
     @JoinTable(name = "loops_microservicepolicies", joinColumns = @JoinColumn(name = "loop_id"), inverseJoinColumns = @JoinColumn(name = "microservicepolicy_id"))
     private Set<MicroServicePolicy> microServicePolicies = new HashSet<>();
 
     @Expose
-    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "loop")
+    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "loop", orphanRemoval = true)
     @SortNatural
     private SortedSet<LoopLog> loopLogs = new TreeSet<>();
 
+    @Expose
+    @ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH }, fetch = FetchType.EAGER)
+    @JoinColumn(name = "loop_template_name")
+    private LoopTemplate loopTemplate;
+
     private void initializeExternalComponents() {
         this.addComponent(new PolicyComponent());
         this.addComponent(new DcaeComponent());
@@ -280,6 +287,14 @@
         this.components.put(component.getComponentName(), component);
     }
 
+    public LoopTemplate getLoopTemplate() {
+        return loopTemplate;
+    }
+
+    public void setLoopTemplate(LoopTemplate loopTemplate) {
+        this.loopTemplate = loopTemplate;
+    }
+
     /**
      * Generate the loop name.
      *
diff --git a/src/main/java/org/onap/clamp/loop/LoopService.java b/src/main/java/org/onap/clamp/loop/LoopService.java
index d1ab0e3..85e24cd 100644
--- a/src/main/java/org/onap/clamp/loop/LoopService.java
+++ b/src/main/java/org/onap/clamp/loop/LoopService.java
@@ -31,29 +31,23 @@
 import javax.persistence.EntityNotFoundException;
 
 import org.onap.clamp.policy.microservice.MicroServicePolicy;
-import org.onap.clamp.policy.microservice.MicroservicePolicyService;
+import org.onap.clamp.policy.microservice.MicroServicePolicyService;
 import org.onap.clamp.policy.operational.OperationalPolicy;
 import org.onap.clamp.policy.operational.OperationalPolicyService;
-import org.springframework.stereotype.Component;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
-@Component
 public class LoopService {
 
-    private final LoopsRepository loopsRepository;
-    private final MicroservicePolicyService microservicePolicyService;
-    private final OperationalPolicyService operationalPolicyService;
+    @Autowired
+    private LoopsRepository loopsRepository;
 
-    /**
-     * Constructor.
-     */
-    public LoopService(LoopsRepository loopsRepository, MicroservicePolicyService microservicePolicyService,
-        OperationalPolicyService operationalPolicyService) {
-        this.loopsRepository = loopsRepository;
-        this.microservicePolicyService = microservicePolicyService;
-        this.operationalPolicyService = operationalPolicyService;
-    }
+    @Autowired
+    private MicroServicePolicyService microservicePolicyService;
+
+    @Autowired
+    private OperationalPolicyService operationalPolicyService;
 
     Loop saveOrUpdateLoop(Loop loop) {
         return loopsRepository.save(loop);
@@ -109,6 +103,6 @@
 
     private Loop findClosedLoopByName(String loopName) {
         return loopsRepository.findById(loopName)
-            .orElseThrow(() -> new EntityNotFoundException("Couldn't find closed loop named: " + loopName));
+                .orElseThrow(() -> new EntityNotFoundException("Couldn't find closed loop named: " + loopName));
     }
 }
diff --git a/src/main/java/org/onap/clamp/loop/LoopsRepository.java b/src/main/java/org/onap/clamp/loop/LoopsRepository.java
index 37c4762..aaa4911 100644
--- a/src/main/java/org/onap/clamp/loop/LoopsRepository.java
+++ b/src/main/java/org/onap/clamp/loop/LoopsRepository.java
@@ -24,12 +24,13 @@
 package org.onap.clamp.loop;
 
 import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.CrudRepository;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface LoopsRepository extends CrudRepository<Loop, String> {
+public interface LoopsRepository extends JpaRepository<Loop, String> {
 
     @Query("SELECT loop.name FROM Loop as loop")
     List<String> getAllLoopNames();
diff --git a/src/main/java/org/onap/clamp/loop/common/AuditEntity.java b/src/main/java/org/onap/clamp/loop/common/AuditEntity.java
new file mode 100644
index 0000000..445f5b9
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/common/AuditEntity.java
@@ -0,0 +1,108 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2020 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.common;
+
+import com.google.gson.annotations.Expose;
+
+import java.time.Instant;
+import java.time.temporal.ChronoUnit;
+
+import javax.persistence.Column;
+import javax.persistence.EntityListeners;
+import javax.persistence.MappedSuperclass;
+
+import org.springframework.data.annotation.CreatedBy;
+import org.springframework.data.annotation.CreatedDate;
+import org.springframework.data.annotation.LastModifiedBy;
+import org.springframework.data.annotation.LastModifiedDate;
+import org.springframework.data.jpa.domain.support.AuditingEntityListener;
+
+@MappedSuperclass
+@EntityListeners(AuditingEntityListener.class)
+public class AuditEntity {
+
+    @Expose
+    @CreatedDate
+    @Column(name = "created_timestamp", nullable = false, updatable = false)
+    private Instant createdDate;
+
+    @Expose
+    @LastModifiedDate
+    @Column(name = "updated_timestamp", nullable = false)
+    private Instant updatedDate;
+
+    @Expose
+    @LastModifiedBy
+    @Column(name = "updated_by")
+    private String updatedBy;
+
+    @Expose
+    @CreatedBy
+    @Column(name = "created_by")
+    private String createdBy;
+
+    public Instant getCreatedDate() {
+        return createdDate;
+    }
+
+    public void setCreatedDate(Instant createdDate) {
+        if (createdDate != null) {
+            this.createdDate = createdDate.truncatedTo(ChronoUnit.SECONDS);
+        } else {
+            this.createdDate = null;
+        }
+    }
+
+    public Instant getUpdatedDate() {
+        return updatedDate;
+    }
+
+    public void setUpdatedDate(Instant updatedDate) {
+        if (updatedDate != null) {
+            this.updatedDate = updatedDate.truncatedTo(ChronoUnit.SECONDS);
+        } else {
+            this.updatedDate = null;
+        }
+    }
+
+    public String getUpdatedBy() {
+        return updatedBy;
+    }
+
+    public void setUpdatedBy(String updatedBy) {
+        this.updatedBy = updatedBy;
+    }
+
+    public String getCreatedBy() {
+        return createdBy;
+    }
+
+    public void setCreatedBy(String createdBy) {
+        this.createdBy = createdBy;
+    }
+
+    public AuditEntity() {
+    }
+
+}
diff --git a/src/main/java/org/onap/clamp/loop/log/LoopLog.java b/src/main/java/org/onap/clamp/loop/log/LoopLog.java
index 0e1153a..e495988 100644
--- a/src/main/java/org/onap/clamp/loop/log/LoopLog.java
+++ b/src/main/java/org/onap/clamp/loop/log/LoopLog.java
@@ -190,9 +190,7 @@
         if (arg0.getId() == null) {
             return -1;
         }
-
         return arg0.getId().compareTo(this.getId());
-
     }
 
 }
diff --git a/src/main/java/org/onap/clamp/loop/log/LoopLogRepository.java b/src/main/java/org/onap/clamp/loop/log/LoopLogRepository.java
index 103341f..0b3c34e 100644
--- a/src/main/java/org/onap/clamp/loop/log/LoopLogRepository.java
+++ b/src/main/java/org/onap/clamp/loop/log/LoopLogRepository.java
@@ -23,10 +23,10 @@
 
 package org.onap.clamp.loop.log;
 
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface LoopLogRepository extends CrudRepository<LoopLog, Long> {
+public interface LoopLogRepository extends JpaRepository<LoopLog, Long> {
 
 }
diff --git a/src/main/java/org/onap/clamp/loop/service/Service.java b/src/main/java/org/onap/clamp/loop/service/Service.java
index 115f9f7..b74ee0b 100644
--- a/src/main/java/org/onap/clamp/loop/service/Service.java
+++ b/src/main/java/org/onap/clamp/loop/service/Service.java
@@ -39,9 +39,9 @@
 import org.hibernate.annotations.Type;
 import org.hibernate.annotations.TypeDef;
 import org.hibernate.annotations.TypeDefs;
+import org.onap.clamp.clds.util.JsonUtils;
 import org.onap.clamp.dao.model.jsontype.StringJsonUserType;
 
-
 @Entity
 @Table(name = "services")
 @TypeDefs({ @TypeDef(name = "json", typeClass = StringJsonUserType.class) })
@@ -76,13 +76,25 @@
     private JsonObject resourceDetails;
 
     /**
-     * Public constructor.
+     * Default constructor for serialization.
      */
     public Service() {
     }
 
     /**
-     * Constructor.
+     * Constructor with string.
+     */
+    public Service(String serviceDetails, String resourceDetails) {
+        JsonObject serviceDetailsJson = JsonUtils.GSON.fromJson(serviceDetails, JsonObject.class);
+        JsonObject resourceDetailsJson = JsonUtils.GSON.fromJson(resourceDetails, JsonObject.class);
+        this.name = serviceDetailsJson.get("name").getAsString();
+        this.serviceUuid = serviceDetailsJson.get("UUID").getAsString();
+        this.serviceDetails = serviceDetailsJson;
+        this.resourceDetails = resourceDetailsJson;
+    }
+
+    /**
+     * Constructor with Json Object.
      */
     public Service(JsonObject serviceDetails, JsonObject resourceDetails, String version) {
         this.name = serviceDetails.get("name").getAsString();
diff --git a/src/main/java/org/onap/clamp/loop/service/ServicesRepository.java b/src/main/java/org/onap/clamp/loop/service/ServicesRepository.java
new file mode 100644
index 0000000..fe5ba8e
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/service/ServicesRepository.java
@@ -0,0 +1,31 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2020 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.service;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface ServicesRepository extends JpaRepository<Service, String> {
+}
diff --git a/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java b/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java
new file mode 100644
index 0000000..10367e7
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/template/LoopTemplate.java
@@ -0,0 +1,268 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.template;
+
+import com.google.gson.annotations.Expose;
+
+import java.io.Serializable;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+import org.hibernate.annotations.SortNatural;
+import org.onap.clamp.loop.common.AuditEntity;
+import org.onap.clamp.loop.service.Service;
+
+@Entity
+@Table(name = "loop_templates")
+public class LoopTemplate extends AuditEntity implements Serializable {
+
+    /**
+     * The serial version id.
+     */
+    private static final long serialVersionUID = -286522707701388642L;
+
+    @Id
+    @Expose
+    @Column(nullable = false, name = "name", unique = true)
+    private String name;
+
+    /**
+     * This field is used when we have a blueprint defining all microservices. The
+     * other option would be to have independent blueprint for each microservices.
+     * In that case they are stored in each MicroServiceModel
+     */
+    @Column(columnDefinition = "MEDIUMTEXT", nullable = false, name = "blueprint_yaml")
+    private String blueprint;
+
+    @Expose
+    @Column(columnDefinition = "MEDIUMTEXT", name = "svg_representation")
+    private String svgRepresentation;
+
+    @Expose
+    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "loopTemplate", orphanRemoval = true)
+    @SortNatural
+    private SortedSet<TemplateMicroServiceModel> microServiceModelUsed = new TreeSet<>();
+
+    @Expose
+    @ManyToOne(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH })
+    @JoinColumn(name = "service_uuid")
+    private Service modelService;
+
+    @Expose
+    @Column(name = "maximum_instances_allowed")
+    private Integer maximumInstancesAllowed;
+
+    /**
+     * name getter.
+     * 
+     * @return the name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * name setter.
+     * 
+     * @param name the name to set
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * blueprint getter.
+     * 
+     * @return the blueprint
+     */
+    public String getBlueprint() {
+        return blueprint;
+    }
+
+    /**
+     * blueprint setter.
+     * 
+     * @param blueprint the blueprint to set
+     */
+    public void setBlueprint(String blueprint) {
+        this.blueprint = blueprint;
+    }
+
+    /**
+     * svgRepresentation getter.
+     * 
+     * @return the svgRepresentation
+     */
+    public String getSvgRepresentation() {
+        return svgRepresentation;
+    }
+
+    /**
+     * svgRepresentation setter.
+     * 
+     * @param svgRepresentation the svgRepresentation to set
+     */
+    public void setSvgRepresentation(String svgRepresentation) {
+        this.svgRepresentation = svgRepresentation;
+    }
+
+    /**
+     * microServiceModelUsed getter.
+     * 
+     * @return the microServiceModelUsed
+     */
+    public SortedSet<TemplateMicroServiceModel> getMicroServiceModelUsed() {
+        return microServiceModelUsed;
+    }
+
+    /**
+     * maximumInstancesAllowed getter.
+     * 
+     * @return the maximumInstancesAllowed
+     */
+    public Integer getMaximumInstancesAllowed() {
+        return maximumInstancesAllowed;
+    }
+
+    /**
+     * maximumInstancesAllowed setter.
+     * 
+     * @param maximumInstancesAllowed the maximumInstancesAllowed to set
+     */
+    public void setMaximumInstancesAllowed(Integer maximumInstancesAllowed) {
+        this.maximumInstancesAllowed = maximumInstancesAllowed;
+    }
+
+    /**
+     * Add a microService model to the current template, the microservice is added
+     * at the end of the list so the flowOrder is computed automatically.
+     * 
+     * @param microServiceModel The microserviceModel to add
+     */
+    public void addMicroServiceModel(MicroServiceModel microServiceModel) {
+        TemplateMicroServiceModel jointEntry = new TemplateMicroServiceModel(this, microServiceModel,
+                this.microServiceModelUsed.size());
+        this.microServiceModelUsed.add(jointEntry);
+        microServiceModel.getUsedByLoopTemplates().add(jointEntry);
+    }
+
+    /**
+     * Add a microService model to the current template, the flow order must be
+     * specified manually.
+     * 
+     * @param microServiceModel The microserviceModel to add
+     * @param listPosition      The position in the flow
+     */
+    public void addMicroServiceModel(MicroServiceModel microServiceModel, Integer listPosition) {
+        TemplateMicroServiceModel jointEntry = new TemplateMicroServiceModel(this, microServiceModel, listPosition);
+        this.microServiceModelUsed.add(jointEntry);
+        microServiceModel.getUsedByLoopTemplates().add(jointEntry);
+    }
+
+    /**
+     * modelService getter.
+     * 
+     * @return the modelService
+     */
+    public Service getModelService() {
+        return modelService;
+    }
+
+    /**
+     * modelService setter.
+     * 
+     * @param modelService the modelService to set
+     */
+    public void setModelService(Service modelService) {
+        this.modelService = modelService;
+    }
+
+    /**
+     * Default constructor for serialization.
+     */
+    public LoopTemplate() {
+
+    }
+
+    /**
+     * Constructor.
+     * 
+     * @param name                The loop template name id
+     * @param blueprint           The blueprint containing all microservices (legacy
+     *                            case)
+     * @param svgRepresentation   The svg representation of that loop template
+     * @param maxInstancesAllowed The maximum number of instances that can be
+     *                            created from that template
+     * @param service             The service associated to that loop template
+     */
+    public LoopTemplate(String name, String blueprint, String svgRepresentation, Integer maxInstancesAllowed,
+            Service service) {
+        this.name = name;
+        this.blueprint = blueprint;
+        this.svgRepresentation = svgRepresentation;
+
+        this.maximumInstancesAllowed = maxInstancesAllowed;
+        this.modelService = service;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((name == null) ? 0 : name.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        LoopTemplate other = (LoopTemplate) obj;
+        if (name == null) {
+            if (other.name != null) {
+                return false;
+            }
+        } else if (!name.equals(other.name)) {
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/src/main/java/org/onap/clamp/loop/template/LoopTemplatesRepository.java b/src/main/java/org/onap/clamp/loop/template/LoopTemplatesRepository.java
new file mode 100644
index 0000000..07f304d
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/template/LoopTemplatesRepository.java
@@ -0,0 +1,37 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.template;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface LoopTemplatesRepository extends JpaRepository<LoopTemplate, String> {
+
+    @Query("SELECT looptemplate.name FROM LoopTemplate as looptemplate")
+    List<String> getAllLoopTemplateNames();
+}
diff --git a/src/main/java/org/onap/clamp/loop/template/MicroServiceModel.java b/src/main/java/org/onap/clamp/loop/template/MicroServiceModel.java
new file mode 100644
index 0000000..1e2b140
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/template/MicroServiceModel.java
@@ -0,0 +1,217 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2018 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.template;
+
+import com.google.gson.annotations.Expose;
+
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinColumns;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+import org.onap.clamp.loop.common.AuditEntity;
+
+/**
+ * This class represents a micro service model for a loop template.
+ */
+
+@Entity
+@Table(name = "micro_service_models")
+public class MicroServiceModel extends AuditEntity implements Serializable {
+
+    /**
+     * The serial version id.
+     */
+    private static final long serialVersionUID = -286522707701376645L;
+
+    @Id
+    @Expose
+    @Column(nullable = false, name = "name", unique = true)
+    private String name;
+
+    /**
+     * This variable is used to store the type mentioned in the micro-service
+     * blueprint.
+     */
+    @Expose
+    @Column(nullable = false, name = "policy_type")
+    private String policyType;
+
+    @Column(nullable = false, name = "blueprint_yaml")
+    private String blueprint;
+
+    @Expose
+    @ManyToOne(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH })
+    @JoinColumns({ @JoinColumn(name = "policy_model_type", referencedColumnName = "policy_model_type"),
+        @JoinColumn(name = "policy_model_version", referencedColumnName = "version") })
+    private PolicyModel policyModel;
+
+    @OneToMany(fetch = FetchType.LAZY, mappedBy = "microServiceModel", orphanRemoval = true)
+    private Set<TemplateMicroServiceModel> usedByLoopTemplates = new HashSet<>();
+
+    /**
+     * policyModel getter.
+     * 
+     * @return the policyModel
+     */
+    public PolicyModel getPolicyModel() {
+        return policyModel;
+    }
+
+    /**
+     * policyModel setter.
+     * 
+     * @param policyModel the policyModel to set
+     */
+    public void setPolicyModel(PolicyModel policyModel) {
+        this.policyModel = policyModel;
+    }
+
+    /**
+     * name getter.
+     * 
+     * @return the name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * name setter.
+     * 
+     * @param name the name to set
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * policyType getter.
+     * 
+     * @return the policyType
+     */
+    public String getPolicyType() {
+        return policyType;
+    }
+
+    /**
+     * policyType setter.
+     * 
+     * @param policyType the policyType to set
+     */
+    public void setPolicyType(String policyType) {
+        this.policyType = policyType;
+    }
+
+    /**
+     * blueprint getter.
+     * 
+     * @return the blueprint
+     */
+    public String getBlueprint() {
+        return blueprint;
+    }
+
+    /**
+     * blueprint setter.
+     * 
+     * @param blueprint the blueprint to set
+     */
+    public void setBlueprint(String blueprint) {
+        this.blueprint = blueprint;
+    }
+
+    /**
+     * usedByLoopTemplates getter.
+     * 
+     * @return the usedByLoopTemplates
+     */
+    public Set<TemplateMicroServiceModel> getUsedByLoopTemplates() {
+        return usedByLoopTemplates;
+    }
+
+    /**
+     * Default constructor for serialization.
+     */
+    public MicroServiceModel() {
+    }
+
+    /**
+     * Constructor.
+     * 
+     * @param name        The name id
+     * @param policyType  The policy model type like
+     *                    onap.policies.controlloop.operational.common.Apex
+     * @param blueprint   The blueprint defined for dcae that contains the policy
+     *                    type to use
+     * @param policyModel The policy model for the policy type mentioned here
+     */
+    public MicroServiceModel(String name, String policyType, String blueprint, PolicyModel policyModel) {
+        this.name = name;
+        this.policyType = policyType;
+        this.blueprint = blueprint;
+        this.policyModel = policyModel;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((name == null) ? 0 : name.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        MicroServiceModel other = (MicroServiceModel) obj;
+        if (name == null) {
+            if (other.name != null) {
+                return false;
+            }
+        } else if (!name.equals(other.name)) {
+            return false;
+        }
+        return true;
+    }
+
+}
diff --git a/src/main/java/org/onap/clamp/loop/template/MicroServiceModelsRepository.java b/src/main/java/org/onap/clamp/loop/template/MicroServiceModelsRepository.java
new file mode 100644
index 0000000..2b18704
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/template/MicroServiceModelsRepository.java
@@ -0,0 +1,31 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.template;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface MicroServiceModelsRepository extends JpaRepository<MicroServiceModel, String> {
+}
diff --git a/src/main/java/org/onap/clamp/loop/template/PolicyModel.java b/src/main/java/org/onap/clamp/loop/template/PolicyModel.java
new file mode 100644
index 0000000..e6580be
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/template/PolicyModel.java
@@ -0,0 +1,239 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.template;
+
+import com.google.gson.annotations.Expose;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.Table;
+
+import org.onap.clamp.loop.common.AuditEntity;
+import org.onap.clamp.util.SemanticVersioning;
+
+/**
+ * This class represents the policy model tosca revision that we can have to a
+ * specific microservice.
+ */
+@Entity
+@Table(name = "policy_models")
+@IdClass(PolicyModelId.class)
+public class PolicyModel extends AuditEntity implements Serializable, Comparable<PolicyModel> {
+
+    /**
+     * The serial version id.
+     */
+    private static final long serialVersionUID = -286522705701376645L;
+
+    /**
+     * This variable is used to store the type mentioned in the micro-service
+     * blueprint.
+     */
+    @Id
+    @Expose
+    @Column(nullable = false, name = "policy_model_type")
+    private String policyModelType;
+
+    /**
+     * Semantic versioning on policy side.
+     */
+    @Id
+    @Expose
+    @Column(name = "version")
+    private String version;
+
+    @Column(columnDefinition = "MEDIUMTEXT", name = "policy_tosca")
+    private String policyModelTosca;
+
+    @Expose
+    @Column(name = "policy_acronym")
+    private String policyAcronym;
+
+    @Expose
+    @Column(name = "policy_variant")
+    private String policyVariant;
+
+    /**
+     * policyModelTosca getter.
+     * 
+     * @return the policyModelTosca
+     */
+    public String getPolicyModelTosca() {
+        return policyModelTosca;
+    }
+
+    /**
+     * policyModelTosca setter.
+     * 
+     * @param policyModelTosca the policyModelTosca to set
+     */
+    public void setPolicyModelTosca(String policyModelTosca) {
+        this.policyModelTosca = policyModelTosca;
+    }
+
+    /**
+     * policyModelType getter.
+     * 
+     * @return the modelType
+     */
+    public String getPolicyModelType() {
+        return policyModelType;
+    }
+
+    /**
+     * policyModelType setter.
+     * 
+     * @param modelType the modelType to set
+     */
+    public void setPolicyModelType(String modelType) {
+        this.policyModelType = modelType;
+    }
+
+    /**
+     * version getter.
+     * 
+     * @return the version
+     */
+    public String getVersion() {
+        return version;
+    }
+
+    /**
+     * version setter.
+     * 
+     * @param version the version to set
+     */
+    public void setVersion(String version) {
+        // Try to convert it before
+        this.version = version;
+    }
+
+    /**
+     * policyAcronym getter.
+     * 
+     * @return the policyAcronym value
+     */
+    public String getPolicyAcronym() {
+        return policyAcronym;
+    }
+
+    /**
+     * policyAcronym setter.
+     * 
+     * @param policyAcronym The policyAcronym to set
+     */
+    public void setPolicyAcronym(String policyAcronym) {
+        this.policyAcronym = policyAcronym;
+    }
+
+    /**
+     * policyVariant getter.
+     * 
+     * @return the policyVariant value
+     */
+    public String getPolicyVariant() {
+        return policyVariant;
+    }
+
+    /**
+     * policyVariant setter.
+     * 
+     * @param policyVariant The policyVariant to set
+     */
+    public void setPolicyVariant(String policyVariant) {
+        this.policyVariant = policyVariant;
+    }
+
+    /**
+     * Default constructor for serialization.
+     */
+    public PolicyModel() {
+    }
+
+    /**
+     * Constructor.
+     * 
+     * @param policyType       The policyType (referenced in the blueprint)
+     * @param policyModelTosca The policy tosca model in yaml
+     * @param version          the version like 1.0.0
+     * @param policyAcronym    Short policy name if it exists
+     * @param policyVariant    Subtype for policy if it exists (could be used by UI)
+     */
+    public PolicyModel(String policyType, String policyModelTosca, String version, String policyAcronym,
+            String policyVariant) {
+        this.policyModelType = policyType;
+        this.policyModelTosca = policyModelTosca;
+        this.version = version;
+        this.policyAcronym = policyAcronym;
+        this.policyVariant = policyVariant;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((policyModelType == null) ? 0 : policyModelType.hashCode());
+        result = prime * result + ((version == null) ? 0 : version.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        PolicyModel other = (PolicyModel) obj;
+        if (policyModelType == null) {
+            if (other.policyModelType != null) {
+                return false;
+            }
+        } else if (!policyModelType.equals(other.policyModelType)) {
+            return false;
+        }
+        if (version == null) {
+            if (other.version != null) {
+                return false;
+            }
+        } else if (!version.equals(other.version)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public int compareTo(PolicyModel arg0) {
+        // Reverse it, so that by default we have the latest
+        return SemanticVersioning.compare(arg0.getVersion(), this.version);
+    }
+}
diff --git a/src/main/java/org/onap/clamp/loop/template/PolicyModelId.java b/src/main/java/org/onap/clamp/loop/template/PolicyModelId.java
new file mode 100644
index 0000000..c4dd193
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/template/PolicyModelId.java
@@ -0,0 +1,93 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.template;
+
+import com.google.gson.annotations.Expose;
+
+import java.io.Serializable;
+
+public class PolicyModelId implements Serializable {
+
+    /**
+     * Serial Id.
+     */
+    private static final long serialVersionUID = -2846526482064334745L;
+
+    @Expose
+    private String policyModelType;
+
+    @Expose
+    private String version;
+
+    /**
+     * Default constructor for serialization.
+     */
+    public PolicyModelId() {
+
+    }
+
+    /**
+     * Constructor.
+     */
+    public PolicyModelId(String policyModelType, String version) {
+        this.policyModelType = policyModelType;
+        this.version = version;
+    }
+
+    /**
+     * policyModelType getter.
+     * 
+     * @return the policyModelType
+     */
+    public String getPolicyModelType() {
+        return policyModelType;
+    }
+
+    /**
+     * policyModelType setter.
+     * 
+     * @param policyModelType the policyModelType to set
+     */
+    public void setPolicyModelType(String policyModelType) {
+        this.policyModelType = policyModelType;
+    }
+
+    /**
+     * version getter.
+     * 
+     * @return the version
+     */
+    public String getVersion() {
+        return version;
+    }
+
+    /**
+     * version setter.
+     * 
+     * @param version the version to set
+     */
+    public void setVersion(String version) {
+        this.version = version;
+    }
+}
diff --git a/src/main/java/org/onap/clamp/loop/template/PolicyModelsRepository.java b/src/main/java/org/onap/clamp/loop/template/PolicyModelsRepository.java
new file mode 100644
index 0000000..a76e386
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/template/PolicyModelsRepository.java
@@ -0,0 +1,38 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.template;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface PolicyModelsRepository extends JpaRepository<PolicyModel, PolicyModelId> {
+    @Query("SELECT policymodel.policyModelType FROM PolicyModel as policymodel")
+    List<String> getAllPolicyModelType();
+
+    List<PolicyModel> findByPolicyModelType(String policyModelType);
+}
diff --git a/src/main/java/org/onap/clamp/loop/template/PolicyModelsService.java b/src/main/java/org/onap/clamp/loop/template/PolicyModelsService.java
new file mode 100644
index 0000000..8e22852
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/template/PolicyModelsService.java
@@ -0,0 +1,59 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.template;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class PolicyModelsService {
+    private final PolicyModelsRepository policyModelsRepository;
+
+    @Autowired
+    public PolicyModelsService(PolicyModelsRepository policyModelrepo) {
+        policyModelsRepository = policyModelrepo;
+    }
+
+    public PolicyModel saveOrUpdatePolicyModel(PolicyModel policyModel) {
+        return policyModelsRepository.save(policyModel);
+    }
+
+    public List<String> getAllPolicyModelTypes() {
+        return policyModelsRepository.getAllPolicyModelType();
+    }
+
+    public Iterable<PolicyModel> getAllPolicyModels() {
+        return policyModelsRepository.findAll();
+    }
+
+    public PolicyModel getPolicyModel(String type, String version) {
+        return policyModelsRepository.findById(new PolicyModelId(type, version)).orElse(null);
+    }
+
+    public Iterable<PolicyModel> getAllPolicyModelsByType(String type) {
+        return policyModelsRepository.findByPolicyModelType(type);
+    }
+}
diff --git a/src/main/java/org/onap/clamp/loop/template/TemplateMicroServiceModel.java b/src/main/java/org/onap/clamp/loop/template/TemplateMicroServiceModel.java
new file mode 100644
index 0000000..7547c1f
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/template/TemplateMicroServiceModel.java
@@ -0,0 +1,194 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.template;
+
+import com.google.gson.annotations.Expose;
+
+import java.io.Serializable;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.EmbeddedId;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.MapsId;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "templates_microservicemodels")
+public class TemplateMicroServiceModel implements Serializable, Comparable<TemplateMicroServiceModel> {
+
+    /**
+     * Serial ID.
+     */
+    private static final long serialVersionUID = 5924989899078094245L;
+
+    @EmbeddedId
+    private TemplateMicroServiceModelId templateMicroServiceModelId;
+
+    @ManyToOne(fetch = FetchType.LAZY)
+    @MapsId("loopTemplateName")
+    @JoinColumn(name = "loop_template_name")
+    private LoopTemplate loopTemplate;
+
+    @Expose
+    @ManyToOne(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH })
+    @MapsId("microServiceModelName")
+    @JoinColumn(name = "micro_service_model_name")
+    private MicroServiceModel microServiceModel;
+
+    @Expose
+    @Column(nullable = false, name = "flow_order")
+    private Integer flowOrder;
+
+    /**
+     * Default constructor for serialization.
+     */
+    public TemplateMicroServiceModel() {
+
+    }
+
+    /**
+     * Constructor.
+     * 
+     * @param loopTemplate      The loop template object
+     * @param microServiceModel The microServiceModel object
+     * @param flowOrder         The position of the micro service in the flow
+     */
+    public TemplateMicroServiceModel(LoopTemplate loopTemplate, MicroServiceModel microServiceModel,
+            Integer flowOrder) {
+        this.loopTemplate = loopTemplate;
+        this.microServiceModel = microServiceModel;
+        this.flowOrder = flowOrder;
+        this.templateMicroServiceModelId = new TemplateMicroServiceModelId(loopTemplate.getName(),
+                microServiceModel.getName());
+    }
+
+    /**
+     * loopTemplate getter.
+     * 
+     * @return the loopTemplate
+     */
+    public LoopTemplate getLoopTemplate() {
+        return loopTemplate;
+    }
+
+    /**
+     * loopTemplate setter.
+     * 
+     * @param loopTemplate the loopTemplate to set
+     */
+    public void setLoopTemplate(LoopTemplate loopTemplate) {
+        this.loopTemplate = loopTemplate;
+    }
+
+    /**
+     * microServiceModel getter.
+     * 
+     * @return the microServiceModel
+     */
+    public MicroServiceModel getMicroServiceModel() {
+        return microServiceModel;
+    }
+
+    /**
+     * microServiceModel setter.
+     * 
+     * @param microServiceModel the microServiceModel to set
+     */
+    public void setMicroServiceModel(MicroServiceModel microServiceModel) {
+        this.microServiceModel = microServiceModel;
+    }
+
+    /**
+     * flowOrder getter.
+     * 
+     * @return the flowOrder
+     */
+    public Integer getFlowOrder() {
+        return flowOrder;
+    }
+
+    /**
+     * flowOrder setter.
+     * 
+     * @param flowOrder the flowOrder to set
+     */
+    public void setFlowOrder(Integer flowOrder) {
+        this.flowOrder = flowOrder;
+    }
+
+    @Override
+    public int compareTo(TemplateMicroServiceModel arg0) {
+        // Reverse it, so that by default we have the latest
+        if (getFlowOrder() == null) {
+            return 1;
+        }
+        if (arg0.getFlowOrder() == null) {
+            return -1;
+        }
+        return arg0.getFlowOrder().compareTo(this.getFlowOrder());
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((loopTemplate == null) ? 0 : loopTemplate.hashCode());
+        result = prime * result + ((microServiceModel == null) ? 0 : microServiceModel.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TemplateMicroServiceModel other = (TemplateMicroServiceModel) obj;
+        if (loopTemplate == null) {
+            if (other.loopTemplate != null) {
+                return false;
+            }
+        } else if (!loopTemplate.equals(other.loopTemplate)) {
+            return false;
+        }
+        if (microServiceModel == null) {
+            if (other.microServiceModel != null) {
+                return false;
+            }
+        } else if (!microServiceModel.equals(other.microServiceModel)) {
+            return false;
+        }
+        return true;
+    }
+
+}
diff --git a/src/main/java/org/onap/clamp/loop/template/TemplateMicroServiceModelId.java b/src/main/java/org/onap/clamp/loop/template/TemplateMicroServiceModelId.java
new file mode 100644
index 0000000..74c7689
--- /dev/null
+++ b/src/main/java/org/onap/clamp/loop/template/TemplateMicroServiceModelId.java
@@ -0,0 +1,102 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop.template;
+
+import com.google.gson.annotations.Expose;
+
+import java.io.Serializable;
+
+import javax.persistence.Column;
+import javax.persistence.Embeddable;
+
+@Embeddable
+public class TemplateMicroServiceModelId implements Serializable {
+
+    /**
+     * Serial ID.
+     */
+    private static final long serialVersionUID = 4089888115504914773L;
+
+    @Expose
+    @Column(name = "loop_template_name")
+    private String loopTemplateName;
+
+    @Expose
+    @Column(name = "micro_service_model_name")
+    private String microServiceModelName;
+
+    /**
+     * Default constructor for serialization.
+     */
+    public TemplateMicroServiceModelId() {
+
+    }
+
+    /**
+     * Constructor.
+     * 
+     * @param loopTemplateName      The loop template name id
+     * @param microServiceModelName THe micro Service name id
+     */
+    public TemplateMicroServiceModelId(String loopTemplateName, String microServiceModelName) {
+        this.loopTemplateName = loopTemplateName;
+        this.microServiceModelName = microServiceModelName;
+    }
+
+    /**
+     * loopTemplateName getter.
+     * 
+     * @return the loopTemplateName
+     */
+    public String getLoopTemplateName() {
+        return loopTemplateName;
+    }
+
+    /**
+     * loopTemplateName setter.
+     * 
+     * @param loopTemplateName the loopTemplateName to set
+     */
+    public void setLoopTemplateName(String loopTemplateName) {
+        this.loopTemplateName = loopTemplateName;
+    }
+
+    /**
+     * microServiceModelName getter.
+     * 
+     * @return the microServiceModelName
+     */
+    public String getMicroServiceModelName() {
+        return microServiceModelName;
+    }
+
+    /**
+     * microServiceModelName setter.
+     * 
+     * @param microServiceModelName the microServiceModelName to set
+     */
+    public void setMicroServiceModelName(String microServiceModelName) {
+        this.microServiceModelName = microServiceModelName;
+    }
+}
diff --git a/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java b/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java
index 2943c39..98742d2 100644
--- a/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java
+++ b/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java
@@ -40,7 +40,9 @@
 import javax.persistence.Entity;
 import javax.persistence.FetchType;
 import javax.persistence.Id;
+import javax.persistence.JoinColumn;
 import javax.persistence.ManyToMany;
+import javax.persistence.ManyToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
@@ -52,13 +54,15 @@
 import org.onap.clamp.clds.util.JsonUtils;
 import org.onap.clamp.dao.model.jsontype.StringJsonUserType;
 import org.onap.clamp.loop.Loop;
+import org.onap.clamp.loop.common.AuditEntity;
+import org.onap.clamp.loop.template.MicroServiceModel;
 import org.onap.clamp.policy.Policy;
 import org.yaml.snakeyaml.Yaml;
 
 @Entity
 @Table(name = "micro_service_policies")
 @TypeDefs({ @TypeDef(name = "json", typeClass = StringJsonUserType.class) })
-public class MicroServicePolicy implements Serializable, Policy {
+public class MicroServicePolicy extends AuditEntity implements Serializable, Policy {
     /**
      * The serial version ID.
      */
@@ -73,10 +77,18 @@
     private String name;
 
     @Expose
-    @Column(nullable = false, name = "model_type")
+    @Column(nullable = false, name = "policy_model_type")
     private String modelType;
 
     @Expose
+    @Column(name = "context")
+    private String context;
+
+    @Expose
+    @Column(name = "device_type_scope")
+    private String deviceTypeScope;
+
+    @Expose
     @Type(type = "json")
     @Column(columnDefinition = "json", name = "properties")
     private JsonObject properties;
@@ -96,6 +108,11 @@
     @ManyToMany(mappedBy = "microServicePolicies", fetch = FetchType.EAGER)
     private Set<Loop> usedByLoops = new HashSet<>();
 
+    @Expose
+    @ManyToOne(fetch = FetchType.EAGER)
+    @JoinColumn(name = "micro_service_model_id")
+    private MicroServiceModel microServiceModel;
+
     public MicroServicePolicy() {
         // serialization
     }
@@ -203,6 +220,49 @@
         this.usedByLoops = usedBy;
     }
 
+    public String getContext() {
+        return context;
+    }
+
+    public void setContext(String context) {
+        this.context = context;
+    }
+
+    public String getDeviceTypeScope() {
+        return deviceTypeScope;
+    }
+
+    public void setDeviceTypeScope(String deviceTypeScope) {
+        this.deviceTypeScope = deviceTypeScope;
+    }
+
+    /**
+     * microServiceModel getter.
+     * 
+     * @return the microServiceModel
+     */
+    public MicroServiceModel getMicroServiceModel() {
+        return microServiceModel;
+    }
+
+    /**
+     * microServiceModel setter.
+     * 
+     * @param microServiceModel the microServiceModel to set
+     */
+    public void setMicroServiceModel(MicroServiceModel microServiceModel) {
+        this.microServiceModel = microServiceModel;
+    }
+
+    /**
+     * name setter.
+     * 
+     * @param name the name to set
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
     @Override
     public int hashCode() {
         final int prime = 31;
diff --git a/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicyRepository.java b/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicyRepository.java
index f658aac..38b310c 100644
--- a/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicyRepository.java
+++ b/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicyRepository.java
@@ -23,10 +23,10 @@
 
 package org.onap.clamp.policy.microservice;
 
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
 @Repository
-interface MicroServicePolicyRepository extends CrudRepository<MicroServicePolicy, String> {
+public interface MicroServicePolicyRepository extends JpaRepository<MicroServicePolicy, String> {
 
 }
diff --git a/src/main/java/org/onap/clamp/policy/microservice/MicroservicePolicyService.java b/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicyService.java
similarity index 95%
rename from src/main/java/org/onap/clamp/policy/microservice/MicroservicePolicyService.java
rename to src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicyService.java
index 59ddaa0..346cdf6 100644
--- a/src/main/java/org/onap/clamp/policy/microservice/MicroservicePolicyService.java
+++ b/src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicyService.java
@@ -35,12 +35,12 @@
 import org.springframework.stereotype.Service;
 
 @Service
-public class MicroservicePolicyService implements PolicyService<MicroServicePolicy> {
+public class MicroServicePolicyService implements PolicyService<MicroServicePolicy> {
 
     private final MicroServicePolicyRepository repository;
 
     @Autowired
-    public MicroservicePolicyService(MicroServicePolicyRepository repository) {
+    public MicroServicePolicyService(MicroServicePolicyRepository repository) {
         this.repository = repository;
     }
 
diff --git a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
index 1411269..e8bf4a6 100644
--- a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
+++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
@@ -46,6 +46,7 @@
 import javax.persistence.FetchType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
+import javax.persistence.JoinColumns;
 import javax.persistence.ManyToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
@@ -55,6 +56,7 @@
 import org.hibernate.annotations.TypeDefs;
 import org.onap.clamp.dao.model.jsontype.StringJsonUserType;
 import org.onap.clamp.loop.Loop;
+import org.onap.clamp.loop.template.PolicyModel;
 import org.onap.clamp.policy.Policy;
 import org.yaml.snakeyaml.DumperOptions;
 import org.yaml.snakeyaml.Yaml;
@@ -90,6 +92,12 @@
     @JoinColumn(name = "loop_id", nullable = false)
     private Loop loop;
 
+    @Expose
+    @ManyToOne(fetch = FetchType.EAGER)
+    @JoinColumns({ @JoinColumn(name = "policy_model_type", referencedColumnName = "policy_model_type"),
+        @JoinColumn(name = "policy_model_version", referencedColumnName = "version") })
+    private PolicyModel policyModel;
+
     public OperationalPolicy() {
         // Serialization
     }
@@ -137,6 +145,33 @@
         this.configurationsJson = configurationsJson;
     }
 
+    /**
+     * policyModel getter.
+     * 
+     * @return the policyModel
+     */
+    public PolicyModel getPolicyModel() {
+        return policyModel;
+    }
+
+    /**
+     * policyModel setter.
+     * 
+     * @param policyModel the policyModel to set
+     */
+    public void setPolicyModel(PolicyModel policyModel) {
+        this.policyModel = policyModel;
+    }
+
+    /**
+     * name setter.
+     * 
+     * @param name the name to set
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
     @Override
     public JsonObject getJsonRepresentation() {
          return jsonRepresentation;
diff --git a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepository.java b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepository.java
index 97b183f..c0a6e12 100644
--- a/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepository.java
+++ b/src/main/java/org/onap/clamp/policy/operational/OperationalPolicyRepository.java
@@ -23,10 +23,10 @@
 
 package org.onap.clamp.policy.operational;
 
-import org.springframework.data.repository.CrudRepository;
+import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
 @Repository
-interface OperationalPolicyRepository extends CrudRepository<OperationalPolicy, String> {
+public interface OperationalPolicyRepository extends JpaRepository<OperationalPolicy, String> {
     void deleteByName(String policyName);
 }
diff --git a/src/main/java/org/onap/clamp/tosca/Dictionary.java b/src/main/java/org/onap/clamp/tosca/Dictionary.java
new file mode 100644
index 0000000..7b4e513
--- /dev/null
+++ b/src/main/java/org/onap/clamp/tosca/Dictionary.java
@@ -0,0 +1,174 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.tosca;
+
+import com.google.gson.annotations.Expose;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+import org.onap.clamp.loop.common.AuditEntity;
+
+/**
+ * Represents Dictionary.
+ */
+
+@Entity
+@Table(name = "dictionary")
+public class Dictionary extends AuditEntity implements Serializable {
+
+    /**
+     * The serial version id.
+     */
+    private static final long serialVersionUID = -286522707701388645L;
+
+    @Id
+    @Expose
+    @Column(nullable = false, name = "name", unique = true)
+    private String name;
+
+    @Expose
+    @Column(name = "dictionary_second_level")
+    private int secondLevelDictionary;
+
+    @Expose
+    @Column(name = "dictionary_type")
+    private String subDictionaryType;
+
+    @Expose
+    @OneToMany(mappedBy = "dictionary", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
+    private List<DictionaryElement> dictionaryElements = new ArrayList<>();
+
+    /**
+     * name getter.
+     * 
+     * @return the name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * name setter.
+     * 
+     * @param name the name to set
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * secondLevelDictionary getter.
+     * 
+     * @return the secondLevelDictionary
+     */
+    public int getSecondLevelDictionary() {
+        return secondLevelDictionary;
+    }
+
+    /**
+     * secondLevelDictionary setter.
+     * 
+     * @param secondLevelDictionary the secondLevelDictionary to set
+     */
+    public void setSecondLevelDictionary(int secondLevelDictionary) {
+        this.secondLevelDictionary = secondLevelDictionary;
+    }
+
+    /**
+     * subDictionaryType getter.
+     * 
+     * @return the subDictionaryType
+     */
+    public String getSubDictionaryType() {
+        return subDictionaryType;
+    }
+
+    /**
+     * subDictionaryType setter.
+     * 
+     * @param subDictionaryType the subDictionaryType to set
+     */
+    public void setSubDictionaryType(String subDictionaryType) {
+        this.subDictionaryType = subDictionaryType;
+    }
+
+    /**
+     * dictionaryElements getter.
+     * 
+     * @return the dictionaryElements
+     */
+    public List<DictionaryElement> getDictionaryElements() {
+        return dictionaryElements;
+    }
+
+    /**
+     * dictionaryElements setter.
+     * 
+     * @param dictionaryElements the dictionaryElements to set
+     */
+    public void setDictionaryElements(List<DictionaryElement> dictionaryElements) {
+        this.dictionaryElements = dictionaryElements;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((name == null) ? 0 : name.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        Dictionary other = (Dictionary) obj;
+        if (name == null) {
+            if (other.name != null) {
+                return false;
+            }
+        } else if (!name.equals(other.name)) {
+            return false;
+        }
+        return true;
+    }
+
+}
diff --git a/src/main/java/org/onap/clamp/tosca/DictionaryElement.java b/src/main/java/org/onap/clamp/tosca/DictionaryElement.java
new file mode 100644
index 0000000..e81885f
--- /dev/null
+++ b/src/main/java/org/onap/clamp/tosca/DictionaryElement.java
@@ -0,0 +1,249 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.tosca;
+
+import com.google.gson.annotations.Expose;
+
+import java.io.Serializable;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+
+import org.onap.clamp.loop.common.AuditEntity;
+
+/**
+ * Represents a Dictionary Item.
+ */
+@Entity
+@Table(name = "dictionary_elements")
+public class DictionaryElement extends AuditEntity implements Serializable {
+
+    /**
+     * The serial version id.
+     */
+    private static final long serialVersionUID = -286522707701388644L;
+
+    @Id
+    @Expose
+    @Column(nullable = false, name = "name", unique = true)
+    private String name;
+
+    @Expose
+    @Column(nullable = false, name = "short_name", unique = true)
+    private String shortName;
+
+    @Expose
+    @Column(name = "description")
+    private String description;
+
+    @Expose
+    @Column(nullable = false, name = "type")
+    private String type;
+
+    @Column(name = "subdictionary_id", nullable = false)
+    @Expose
+    private String subDictionary;
+
+    @ManyToOne(cascade = CascadeType.ALL)
+    @JoinColumn(name = "dictionary_id")
+    private Dictionary dictionary;
+
+    /**
+     * name getter.
+     * 
+     * @return the name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * name setter.
+     * 
+     * @param name the name to set
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * shortName getter.
+     * 
+     * @return the shortName
+     */
+    public String getShortName() {
+        return shortName;
+    }
+
+    /**
+     * shortName setter.
+     * 
+     * @param shortName the shortName to set
+     */
+    public void setShortName(String shortName) {
+        this.shortName = shortName;
+    }
+
+    /**
+     * description getter.
+     * 
+     * @return the description
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * description setter.
+     * 
+     * @param description the description to set
+     */
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    /**
+     * type getter.
+     * 
+     * @return the type
+     */
+    public String getType() {
+        return type;
+    }
+
+    /**
+     * type setter.
+     * 
+     * @param type the type to set
+     */
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    /**
+     * subDictionary getter.
+     * 
+     * @return the subDictionary
+     */
+    public String getSubDictionary() {
+        return subDictionary;
+    }
+
+    /**
+     * subDictionary setter.
+     * 
+     * @param subDictionary the subDictionary to set
+     */
+    public void setSubDictionary(String subDictionary) {
+        this.subDictionary = subDictionary;
+    }
+
+    /**
+     * dictionary getter.
+     * 
+     * @return the dictionary
+     */
+    public Dictionary getDictionary() {
+        return dictionary;
+    }
+
+    /**
+     * dictionary setter.
+     * 
+     * @param dictionary the dictionary to set
+     */
+    public void setDictionary(Dictionary dictionary) {
+        this.dictionary = dictionary;
+    }
+
+    /**
+     * Default Constructor.
+     */
+    public DictionaryElement() {
+    }
+
+    /**
+     * Constructor.
+     * 
+     * @param name          The Dictionary element name
+     * @param shortName     The short name
+     * @param description   The description
+     * @param type          The type of element
+     * @param subDictionary The sub type
+     * @param dictionary    The parent dictionary
+     */
+    public DictionaryElement(String name, String shortName, String description, String type, String subDictionary,
+            Dictionary dictionary) {
+        this.name = name;
+        this.shortName = shortName;
+        this.description = description;
+        this.type = type;
+        this.subDictionary = subDictionary;
+        this.dictionary = dictionary;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((dictionary == null) ? 0 : dictionary.hashCode());
+        result = prime * result + ((name == null) ? 0 : name.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        DictionaryElement other = (DictionaryElement) obj;
+        if (dictionary == null) {
+            if (other.dictionary != null) {
+                return false;
+            }
+        } else if (!dictionary.equals(other.dictionary)) {
+            return false;
+        }
+        if (name == null) {
+            if (other.name != null) {
+                return false;
+            }
+        } else if (!name.equals(other.name)) {
+            return false;
+        }
+        return true;
+    }
+
+}
diff --git a/src/main/java/org/onap/clamp/tosca/DictionaryElementsRepository.java b/src/main/java/org/onap/clamp/tosca/DictionaryElementsRepository.java
new file mode 100644
index 0000000..96cb2e3
--- /dev/null
+++ b/src/main/java/org/onap/clamp/tosca/DictionaryElementsRepository.java
@@ -0,0 +1,32 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.tosca;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface DictionaryElementsRepository extends JpaRepository<DictionaryElement, String> {
+
+}
diff --git a/src/main/java/org/onap/clamp/tosca/DictionaryRepository.java b/src/main/java/org/onap/clamp/tosca/DictionaryRepository.java
new file mode 100644
index 0000000..2a087b6
--- /dev/null
+++ b/src/main/java/org/onap/clamp/tosca/DictionaryRepository.java
@@ -0,0 +1,38 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.tosca;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface DictionaryRepository extends JpaRepository<Dictionary, String> {
+
+    @Query("SELECT dict.name FROM Dictionary as dict")
+    List<String> getAllDictionaryNames();
+
+}
diff --git a/src/main/java/org/onap/clamp/util/SemanticVersioning.java b/src/main/java/org/onap/clamp/util/SemanticVersioning.java
new file mode 100644
index 0000000..bf1529c
--- /dev/null
+++ b/src/main/java/org/onap/clamp/util/SemanticVersioning.java
@@ -0,0 +1,76 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2020 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.util;
+
+/**
+ * This class is the base class for object that requires semantic versioning.
+ * ... This class supports also a.b.c.d... etc ... as a version.
+ *
+ *
+ */
+public class SemanticVersioning {
+    public static final int BEFORE = -1;
+    public static final int EQUAL = 0;
+    public static final int AFTER = 1;
+
+    /**
+     * The compare method that compare arg0 to arg1.
+     * 
+     * @param arg0 A version in string for semantice versioning (a.b.c.d...)
+     * @param arg1 A version in string for semantice versioning (a.b.c.d...)
+     * @return objects (arg0, arg1) given as parameters. It returns the value: 0: if
+     *         (arg0==arg1) -1: if (arg0 < arg1) 1: if (arg0 > arg1)
+     */
+    public static int compare(String arg0, String arg1) {
+
+        if (arg0 == null && arg1 == null) {
+            return EQUAL;
+        }
+        if (arg0 == null) {
+            return BEFORE;
+        }
+        if (arg1 == null) {
+            return AFTER;
+        }
+        String[] arg0Array = arg0.split("\\.");
+        String[] arg1Array = arg1.split("\\.");
+
+        int smalestStringLength = Math.min(arg0Array.length, arg1Array.length);
+
+        for (int currentVersionIndex = 0; currentVersionIndex < smalestStringLength; ++currentVersionIndex) {
+            if (Integer.parseInt(arg0Array[currentVersionIndex]) < Integer.parseInt(arg1Array[currentVersionIndex])) {
+                return BEFORE;
+            } else if (Integer.parseInt(arg0Array[currentVersionIndex]) > Integer
+                    .parseInt(arg1Array[currentVersionIndex])) {
+                return AFTER;
+            }
+            // equals, so do not return anything, continue
+        }
+        if (arg0Array.length == arg1Array.length) {
+            return EQUAL;
+        } else {
+            return Integer.compare(arg0Array.length, arg1Array.length);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/main/resources/META-INF/resources/swagger.html b/src/main/resources/META-INF/resources/swagger.html
index b20d0c2..6602447 100644
--- a/src/main/resources/META-INF/resources/swagger.html
+++ b/src/main/resources/META-INF/resources/swagger.html
@@ -444,86 +444,86 @@
 </li>
 <li><a href="#_paths">2. Paths</a>
 <ul class="sectlevel2">
-<li><a href="#_route15">2.1. GET /v1/clds/cldsInfo</a>
+<li><a href="#_route32">2.1. GET /v1/clds/cldsInfo</a>
 <ul class="sectlevel3">
 <li><a href="#_responses">2.1.1. Responses</a></li>
 <li><a href="#_produces">2.1.2. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route16">2.2. GET /v1/healthcheck</a>
+<li><a href="#_route33">2.2. GET /v1/healthcheck</a>
 <ul class="sectlevel3">
 <li><a href="#_responses_2">2.2.1. Responses</a></li>
 <li><a href="#_produces_2">2.2.2. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route17">2.3. GET /v1/user/getUser</a>
+<li><a href="#_route34">2.3. GET /v1/user/getUser</a>
 <ul class="sectlevel3">
 <li><a href="#_responses_3">2.3.1. Responses</a></li>
 <li><a href="#_produces_3">2.3.2. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route13">2.4. PUT /v2/loop/delete/{loopName}</a>
+<li><a href="#_route30">2.4. PUT /v2/loop/delete/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters">2.4.1. Parameters</a></li>
 <li><a href="#_responses_4">2.4.2. Responses</a></li>
 </ul>
 </li>
-<li><a href="#_route8">2.5. PUT /v2/loop/deploy/{loopName}</a>
+<li><a href="#_route25">2.5. PUT /v2/loop/deploy/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_2">2.5.1. Parameters</a></li>
 <li><a href="#_responses_5">2.5.2. Responses</a></li>
 <li><a href="#_produces_4">2.5.3. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route2">2.6. GET /v2/loop/getAllNames</a>
+<li><a href="#_route19">2.6. GET /v2/loop/getAllNames</a>
 <ul class="sectlevel3">
 <li><a href="#_responses_6">2.6.1. Responses</a></li>
 <li><a href="#_produces_5">2.6.2. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route14">2.7. GET /v2/loop/getstatus/{loopName}</a>
+<li><a href="#_route31">2.7. GET /v2/loop/getstatus/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_3">2.7.1. Parameters</a></li>
 <li><a href="#_responses_7">2.7.2. Responses</a></li>
 <li><a href="#_produces_6">2.7.3. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route11">2.8. PUT /v2/loop/restart/{loopName}</a>
+<li><a href="#_route28">2.8. PUT /v2/loop/restart/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_4">2.8.1. Parameters</a></li>
 <li><a href="#_responses_8">2.8.2. Responses</a></li>
 <li><a href="#_produces_7">2.8.3. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route10">2.9. PUT /v2/loop/stop/{loopName}</a>
+<li><a href="#_route27">2.9. PUT /v2/loop/stop/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_5">2.9.1. Parameters</a></li>
 <li><a href="#_responses_9">2.9.2. Responses</a></li>
 <li><a href="#_produces_8">2.9.3. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route12">2.10. PUT /v2/loop/submit/{loopName}</a>
+<li><a href="#_route29">2.10. PUT /v2/loop/submit/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_6">2.10.1. Parameters</a></li>
 <li><a href="#_responses_10">2.10.2. Responses</a></li>
 <li><a href="#_produces_9">2.10.3. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route4">2.11. GET /v2/loop/svgRepresentation/{loopName}</a>
+<li><a href="#_route21">2.11. GET /v2/loop/svgRepresentation/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_7">2.11.1. Parameters</a></li>
 <li><a href="#_responses_11">2.11.2. Responses</a></li>
 <li><a href="#_produces_10">2.11.3. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route9">2.12. PUT /v2/loop/undeploy/{loopName}</a>
+<li><a href="#_route26">2.12. PUT /v2/loop/undeploy/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_8">2.12.1. Parameters</a></li>
 <li><a href="#_responses_12">2.12.2. Responses</a></li>
 <li><a href="#_produces_11">2.12.3. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route5">2.13. POST /v2/loop/updateGlobalProperties/{loopName}</a>
+<li><a href="#_route22">2.13. POST /v2/loop/updateGlobalProperties/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_9">2.13.1. Parameters</a></li>
 <li><a href="#_responses_13">2.13.2. Responses</a></li>
@@ -531,7 +531,7 @@
 <li><a href="#_produces_12">2.13.4. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route7">2.14. POST /v2/loop/updateMicroservicePolicy/{loopName}</a>
+<li><a href="#_route24">2.14. POST /v2/loop/updateMicroservicePolicy/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_10">2.14.1. Parameters</a></li>
 <li><a href="#_responses_14">2.14.2. Responses</a></li>
@@ -539,7 +539,7 @@
 <li><a href="#_produces_13">2.14.4. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route6">2.15. POST /v2/loop/updateOperationalPolicies/{loopName}</a>
+<li><a href="#_route23">2.15. POST /v2/loop/updateOperationalPolicies/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_11">2.15.1. Parameters</a></li>
 <li><a href="#_responses_15">2.15.2. Responses</a></li>
@@ -547,7 +547,7 @@
 <li><a href="#_produces_14">2.15.4. Produces</a></li>
 </ul>
 </li>
-<li><a href="#_route3">2.16. GET /v2/loop/{loopName}</a>
+<li><a href="#_route20">2.16. GET /v2/loop/{loopName}</a>
 <ul class="sectlevel3">
 <li><a href="#_parameters_12">2.16.1. Parameters</a></li>
 <li><a href="#_responses_16">2.16.2. Responses</a></li>
@@ -568,9 +568,14 @@
 <li><a href="#_jsonprimitive">3.8. JsonPrimitive</a></li>
 <li><a href="#_loop">3.9. Loop</a></li>
 <li><a href="#_looplog">3.10. LoopLog</a></li>
-<li><a href="#_microservicepolicy">3.11. MicroServicePolicy</a></li>
-<li><a href="#_number">3.12. Number</a></li>
-<li><a href="#_operationalpolicy">3.13. OperationalPolicy</a></li>
+<li><a href="#_looptemplate">3.11. LoopTemplate</a></li>
+<li><a href="#_microservicemodel">3.12. MicroServiceModel</a></li>
+<li><a href="#_microservicepolicy">3.13. MicroServicePolicy</a></li>
+<li><a href="#_number">3.14. Number</a></li>
+<li><a href="#_operationalpolicy">3.15. OperationalPolicy</a></li>
+<li><a href="#_policymodel">3.16. PolicyModel</a></li>
+<li><a href="#_service">3.17. Service</a></li>
+<li><a href="#_templatemicroservicemodel">3.18. TemplateMicroServiceModel</a></li>
 </ul>
 </li>
 </ul>
@@ -583,13 +588,13 @@
 <div class="sect2">
 <h3 id="_version_information"><a class="anchor" href="#_version_information"></a><a class="link" href="#_version_information">1.1. Version information</a></h3>
 <div class="paragraph">
-<p><em>Version</em> : 4.1.2-SNAPSHOT</p>
+<p><em>Version</em> : 4.2.0-SNAPSHOT</p>
 </div>
 </div>
 <div class="sect2">
 <h3 id="_uri_scheme"><a class="anchor" href="#_uri_scheme"></a><a class="link" href="#_uri_scheme">1.2. URI scheme</a></h3>
 <div class="paragraph">
-<p><em>Host</em> : localhost:34219<br>
+<p><em>Host</em> : localhost:33953<br>
 <em>BasePath</em> : /restservices/clds/<br>
 <em>Schemes</em> : HTTP</p>
 </div>
@@ -600,7 +605,7 @@
 <h2 id="_paths"><a class="anchor" href="#_paths"></a><a class="link" href="#_paths">2. Paths</a></h2>
 <div class="sectionbody">
 <div class="sect2">
-<h3 id="_route15"><a class="anchor" href="#_route15"></a><a class="link" href="#_route15">2.1. GET /v1/clds/cldsInfo</a></h3>
+<h3 id="_route32"><a class="anchor" href="#_route32"></a><a class="link" href="#_route32">2.1. GET /v1/clds/cldsInfo</a></h3>
 <div class="sect3">
 <h4 id="_responses"><a class="anchor" href="#_responses"></a><a class="link" href="#_responses">2.1.1. Responses</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -637,7 +642,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route16"><a class="anchor" href="#_route16"></a><a class="link" href="#_route16">2.2. GET /v1/healthcheck</a></h3>
+<h3 id="_route33"><a class="anchor" href="#_route33"></a><a class="link" href="#_route33">2.2. GET /v1/healthcheck</a></h3>
 <div class="sect3">
 <h4 id="_responses_2"><a class="anchor" href="#_responses_2"></a><a class="link" href="#_responses_2">2.2.1. Responses</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -674,7 +679,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route17"><a class="anchor" href="#_route17"></a><a class="link" href="#_route17">2.3. GET /v1/user/getUser</a></h3>
+<h3 id="_route34"><a class="anchor" href="#_route34"></a><a class="link" href="#_route34">2.3. GET /v1/user/getUser</a></h3>
 <div class="sect3">
 <h4 id="_responses_3"><a class="anchor" href="#_responses_3"></a><a class="link" href="#_responses_3">2.3.1. Responses</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -708,7 +713,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route13"><a class="anchor" href="#_route13"></a><a class="link" href="#_route13">2.4. PUT /v2/loop/delete/{loopName}</a></h3>
+<h3 id="_route30"><a class="anchor" href="#_route30"></a><a class="link" href="#_route30">2.4. PUT /v2/loop/delete/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters"><a class="anchor" href="#_parameters"></a><a class="link" href="#_parameters">2.4.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -757,7 +762,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route8"><a class="anchor" href="#_route8"></a><a class="link" href="#_route8">2.5. PUT /v2/loop/deploy/{loopName}</a></h3>
+<h3 id="_route25"><a class="anchor" href="#_route25"></a><a class="link" href="#_route25">2.5. PUT /v2/loop/deploy/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_2"><a class="anchor" href="#_parameters_2"></a><a class="link" href="#_parameters_2">2.5.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -819,7 +824,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route2"><a class="anchor" href="#_route2"></a><a class="link" href="#_route2">2.6. GET /v2/loop/getAllNames</a></h3>
+<h3 id="_route19"><a class="anchor" href="#_route19"></a><a class="link" href="#_route19">2.6. GET /v2/loop/getAllNames</a></h3>
 <div class="sect3">
 <h4 id="_responses_6"><a class="anchor" href="#_responses_6"></a><a class="link" href="#_responses_6">2.6.1. Responses</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -856,7 +861,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route14"><a class="anchor" href="#_route14"></a><a class="link" href="#_route14">2.7. GET /v2/loop/getstatus/{loopName}</a></h3>
+<h3 id="_route31"><a class="anchor" href="#_route31"></a><a class="link" href="#_route31">2.7. GET /v2/loop/getstatus/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_3"><a class="anchor" href="#_parameters_3"></a><a class="link" href="#_parameters_3">2.7.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -918,7 +923,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route11"><a class="anchor" href="#_route11"></a><a class="link" href="#_route11">2.8. PUT /v2/loop/restart/{loopName}</a></h3>
+<h3 id="_route28"><a class="anchor" href="#_route28"></a><a class="link" href="#_route28">2.8. PUT /v2/loop/restart/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_4"><a class="anchor" href="#_parameters_4"></a><a class="link" href="#_parameters_4">2.8.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -980,7 +985,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route10"><a class="anchor" href="#_route10"></a><a class="link" href="#_route10">2.9. PUT /v2/loop/stop/{loopName}</a></h3>
+<h3 id="_route27"><a class="anchor" href="#_route27"></a><a class="link" href="#_route27">2.9. PUT /v2/loop/stop/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_5"><a class="anchor" href="#_parameters_5"></a><a class="link" href="#_parameters_5">2.9.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -1042,7 +1047,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route12"><a class="anchor" href="#_route12"></a><a class="link" href="#_route12">2.10. PUT /v2/loop/submit/{loopName}</a></h3>
+<h3 id="_route29"><a class="anchor" href="#_route29"></a><a class="link" href="#_route29">2.10. PUT /v2/loop/submit/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_6"><a class="anchor" href="#_parameters_6"></a><a class="link" href="#_parameters_6">2.10.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -1104,7 +1109,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route4"><a class="anchor" href="#_route4"></a><a class="link" href="#_route4">2.11. GET /v2/loop/svgRepresentation/{loopName}</a></h3>
+<h3 id="_route21"><a class="anchor" href="#_route21"></a><a class="link" href="#_route21">2.11. GET /v2/loop/svgRepresentation/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_7"><a class="anchor" href="#_parameters_7"></a><a class="link" href="#_parameters_7">2.11.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -1166,7 +1171,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route9"><a class="anchor" href="#_route9"></a><a class="link" href="#_route9">2.12. PUT /v2/loop/undeploy/{loopName}</a></h3>
+<h3 id="_route26"><a class="anchor" href="#_route26"></a><a class="link" href="#_route26">2.12. PUT /v2/loop/undeploy/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_8"><a class="anchor" href="#_parameters_8"></a><a class="link" href="#_parameters_8">2.12.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -1228,7 +1233,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route5"><a class="anchor" href="#_route5"></a><a class="link" href="#_route5">2.13. POST /v2/loop/updateGlobalProperties/{loopName}</a></h3>
+<h3 id="_route22"><a class="anchor" href="#_route22"></a><a class="link" href="#_route22">2.13. POST /v2/loop/updateGlobalProperties/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_9"><a class="anchor" href="#_parameters_9"></a><a class="link" href="#_parameters_9">2.13.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -1306,7 +1311,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route7"><a class="anchor" href="#_route7"></a><a class="link" href="#_route7">2.14. POST /v2/loop/updateMicroservicePolicy/{loopName}</a></h3>
+<h3 id="_route24"><a class="anchor" href="#_route24"></a><a class="link" href="#_route24">2.14. POST /v2/loop/updateMicroservicePolicy/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_10"><a class="anchor" href="#_parameters_10"></a><a class="link" href="#_parameters_10">2.14.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -1384,7 +1389,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route6"><a class="anchor" href="#_route6"></a><a class="link" href="#_route6">2.15. POST /v2/loop/updateOperationalPolicies/{loopName}</a></h3>
+<h3 id="_route23"><a class="anchor" href="#_route23"></a><a class="link" href="#_route23">2.15. POST /v2/loop/updateOperationalPolicies/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_11"><a class="anchor" href="#_parameters_11"></a><a class="link" href="#_parameters_11">2.15.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -1462,7 +1467,7 @@
 </div>
 </div>
 <div class="sect2">
-<h3 id="_route3"><a class="anchor" href="#_route3"></a><a class="link" href="#_route3">2.16. GET /v2/loop/{loopName}</a></h3>
+<h3 id="_route20"><a class="anchor" href="#_route20"></a><a class="link" href="#_route20">2.16. GET /v2/loop/{loopName}</a></h3>
 <div class="sect3">
 <h4 id="_parameters_12"><a class="anchor" href="#_parameters_12"></a><a class="link" href="#_parameters_12">2.16.1. Parameters</a></h4>
 <table class="tableblock frame-all grid-all stretch">
@@ -2184,6 +2189,16 @@
 <td class="tableblock halign-left valign-middle"><p class="tableblock">&lt; string, <a href="#_externalcomponent">ExternalComponent</a> &gt; map</p></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>createdBy</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>createdDate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int64)</p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>dcaeBlueprintId</strong><br>
 <em>optional</em></p></td>
 <td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
@@ -2214,14 +2229,19 @@
 <td class="tableblock halign-left valign-middle"><p class="tableblock">&lt; <a href="#_looplog">LoopLog</a> &gt; array</p></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>loopTemplate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_looptemplate">LoopTemplate</a></p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>microServicePolicies</strong><br>
 <em>optional</em></p></td>
 <td class="tableblock halign-left valign-middle"><p class="tableblock">&lt; <a href="#_microservicepolicy">MicroServicePolicy</a> &gt; array</p></td>
 </tr>
 <tr>
-<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>modelPropertiesJson</strong><br>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>modelService</strong><br>
 <em>optional</em></p></td>
-<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_jsonobject">JsonObject</a></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_service">Service</a></p></td>
 </tr>
 <tr>
 <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br>
@@ -2238,6 +2258,16 @@
 <em>optional</em></p></td>
 <td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
 </tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>updatedBy</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>updatedDate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int64)</p></td>
+</tr>
 </tbody>
 </table>
 </div>
@@ -2289,7 +2319,7 @@
 </table>
 </div>
 <div class="sect2">
-<h3 id="_microservicepolicy"><a class="anchor" href="#_microservicepolicy"></a><a class="link" href="#_microservicepolicy">3.11. MicroServicePolicy</a></h3>
+<h3 id="_looptemplate"><a class="anchor" href="#_looptemplate"></a><a class="link" href="#_looptemplate">3.11. LoopTemplate</a></h3>
 <table class="tableblock frame-all grid-all stretch">
 <colgroup>
 <col style="width: 42.8571%;">
@@ -2303,11 +2333,165 @@
 </thead>
 <tbody>
 <tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>blueprint</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>createdBy</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>createdDate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int64)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>maximumInstancesAllowed</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int32)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>microServiceModelUsed</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">&lt; <a href="#_templatemicroservicemodel">TemplateMicroServiceModel</a> &gt; array</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>modelService</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_service">Service</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>svgRepresentation</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>updatedBy</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>updatedDate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int64)</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_microservicemodel"><a class="anchor" href="#_microservicemodel"></a><a class="link" href="#_microservicemodel">3.12. MicroServiceModel</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 42.8571%;">
+<col style="width: 57.1429%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-middle">Name</th>
+<th class="tableblock halign-left valign-middle">Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>blueprint</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>createdBy</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>createdDate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int64)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>name</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyModel</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_policymodel">PolicyModel</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyType</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>updatedBy</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>updatedDate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int64)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>usedByLoopTemplates</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">&lt; <a href="#_templatemicroservicemodel">TemplateMicroServiceModel</a> &gt; array</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_microservicepolicy"><a class="anchor" href="#_microservicepolicy"></a><a class="link" href="#_microservicepolicy">3.13. MicroServicePolicy</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 42.8571%;">
+<col style="width: 57.1429%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-middle">Name</th>
+<th class="tableblock halign-left valign-middle">Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>context</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>createdBy</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>createdDate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int64)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>deviceTypeScope</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>jsonRepresentation</strong><br>
 <em>optional</em></p></td>
 <td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_jsonobject">JsonObject</a></p></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>microServiceModel</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_microservicemodel">MicroServiceModel</a></p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>modelType</strong><br>
 <em>optional</em></p></td>
 <td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
@@ -2333,6 +2517,16 @@
 <td class="tableblock halign-left valign-middle"><p class="tableblock">boolean</p></td>
 </tr>
 <tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>updatedBy</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>updatedDate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int64)</p></td>
+</tr>
+<tr>
 <td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>usedByLoops</strong><br>
 <em>optional</em></p></td>
 <td class="tableblock halign-left valign-middle"><p class="tableblock">&lt; <a href="#_loop">Loop</a> &gt; array</p></td>
@@ -2341,13 +2535,13 @@
 </table>
 </div>
 <div class="sect2">
-<h3 id="_number"><a class="anchor" href="#_number"></a><a class="link" href="#_number">3.12. Number</a></h3>
+<h3 id="_number"><a class="anchor" href="#_number"></a><a class="link" href="#_number">3.14. Number</a></h3>
 <div class="paragraph">
 <p><em>Type</em> : object</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_operationalpolicy"><a class="anchor" href="#_operationalpolicy"></a><a class="link" href="#_operationalpolicy">3.13. OperationalPolicy</a></h3>
+<h3 id="_operationalpolicy"><a class="anchor" href="#_operationalpolicy"></a><a class="link" href="#_operationalpolicy">3.15. OperationalPolicy</a></h3>
 <table class="tableblock frame-all grid-all stretch">
 <colgroup>
 <col style="width: 42.8571%;">
@@ -2380,6 +2574,137 @@
 <em>optional</em></p></td>
 <td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
 </tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyModel</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_policymodel">PolicyModel</a></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_policymodel"><a class="anchor" href="#_policymodel"></a><a class="link" href="#_policymodel">3.16. PolicyModel</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 42.8571%;">
+<col style="width: 57.1429%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-middle">Name</th>
+<th class="tableblock halign-left valign-middle">Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>createdBy</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>createdDate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int64)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyAcronym</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyModelTosca</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyModelType</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>policyVariant</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>updatedBy</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>updatedDate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int64)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>version</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_service"><a class="anchor" href="#_service"></a><a class="link" href="#_service">3.17. Service</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 42.8571%;">
+<col style="width: 57.1429%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-middle">Name</th>
+<th class="tableblock halign-left valign-middle">Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>resourceDetails</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_jsonobject">JsonObject</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceDetails</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_jsonobject">JsonObject</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>serviceUuid</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">string</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_templatemicroservicemodel"><a class="anchor" href="#_templatemicroservicemodel"></a><a class="link" href="#_templatemicroservicemodel">3.18. TemplateMicroServiceModel</a></h3>
+<table class="tableblock frame-all grid-all stretch">
+<colgroup>
+<col style="width: 42.8571%;">
+<col style="width: 57.1429%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-middle">Name</th>
+<th class="tableblock halign-left valign-middle">Schema</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>flowOrder</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock">integer (int32)</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>loopTemplate</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_looptemplate">LoopTemplate</a></p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><strong>microServiceModel</strong><br>
+<em>optional</em></p></td>
+<td class="tableblock halign-left valign-middle"><p class="tableblock"><a href="#_microservicemodel">MicroServiceModel</a></p></td>
+</tr>
 </tbody>
 </table>
 </div>
@@ -2388,7 +2713,7 @@
 </div>
 <div id="footer">
 <div id="footer-text">
-Last updated 2019-05-27 14:30:20 CEST
+Last updated 2019-10-29 10:41:43 CET
 </div>
 </div>
 </body>
diff --git a/src/test/java/org/onap/clamp/loop/CsarInstallerItCase.java b/src/test/java/org/onap/clamp/loop/CsarInstallerItCase.java
index df952aa..2ebea7b 100644
--- a/src/test/java/org/onap/clamp/loop/CsarInstallerItCase.java
+++ b/src/test/java/org/onap/clamp/loop/CsarInstallerItCase.java
@@ -63,7 +63,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.annotation.Rollback;
+import org.springframework.test.annotation.Commit;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringRunner;
 
@@ -183,7 +183,7 @@
 
     @Test
     @Transactional
-    @Rollback(value = false)
+    @Commit
     public void testInstallTheCsarTca() throws SdcArtifactInstallerException, SdcToscaParserException,
             CsarHandlerException, IOException, JSONException, InterruptedException {
         String generatedName = RandomStringUtils.randomAlphanumeric(5);
@@ -209,7 +209,7 @@
         assertThat(loop.getOperationalPolicies()).hasSize(1);
         assertThat(loop.getModelService().getServiceUuid()).isEqualTo("63cac700-ab9a-4115-a74f-7eac85e3fce0");
         JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/model-properties.json"),
-            JsonUtils.GSON_JPA_MODEL.toJson(loop.getModelService()), true);
+                JsonUtils.GSON_JPA_MODEL.toJson(loop.getModelService()), true);
         JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/service-details.json"),
                 JsonUtils.GSON_JPA_MODEL.toJson(loop.getModelService().getServiceDetails()), true);
         JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/resource-details.json"),
diff --git a/src/test/java/org/onap/clamp/loop/LoopControllerTestItCase.java b/src/test/java/org/onap/clamp/loop/LoopControllerTestItCase.java
index 67ae985..a41b5c2 100644
--- a/src/test/java/org/onap/clamp/loop/LoopControllerTestItCase.java
+++ b/src/test/java/org/onap/clamp/loop/LoopControllerTestItCase.java
@@ -32,18 +32,15 @@
 import com.google.gson.JsonParser;
 
 import java.util.Set;
+
 import javax.transaction.Transactional;
 
-import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-
 import org.onap.clamp.clds.Application;
 import org.onap.clamp.clds.util.JsonUtils;
-
 import org.onap.clamp.policy.microservice.MicroServicePolicy;
-import org.onap.clamp.policy.microservice.MicroservicePolicyService;
+import org.onap.clamp.policy.microservice.MicroServicePolicyService;
 import org.onap.clamp.policy.operational.OperationalPolicy;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -63,7 +60,7 @@
     LoopsRepository loopsRepository;
 
     @Autowired
-    MicroservicePolicyService microServicePolicyService;
+    MicroServicePolicyService microServicePolicyService;
 
     @Autowired
     LoopController loopController;
@@ -78,18 +75,10 @@
         return new Loop(loopName, loopBlueprint, loopSvg);
     }
 
-    @Before
-    public void setUp() {
-        saveTestLoopToDb();
-    }
-
-    @After
-    public void tearDown() {
-        loopsRepository.deleteAll();
-    }
-
     @Test
+    @Transactional
     public void testUpdateOperationalPolicies() {
+        saveTestLoopToDb();
         String policy = "[{\"name\":\"OPERATIONAL_CLholmes31_v1_0_vFW_PG_T10_k8s-holmes-rules\","
                 + "\"configurationsJson\":{\"guard_policies\":{},"
                 + "\"operational_policy\":{\"controlLoop\":{\"trigger_policy\":\"unique-policy-id-1-modifyConfig\","
@@ -113,6 +102,7 @@
     @Test
     @Transactional
     public void testUpdateGlobalProperties() {
+        saveTestLoopToDb();
         String policy = "{\"dcaeDeployParameters\":{\"aaiEnrichmentHost\":\"aai.onap.svc.cluster.local\","
                 + "\"aaiEnrichmentPort\":\"8443\",\"enableAAIEnrichment\":\"false\",\"dmaap_host\":\"message-router"
                 + ".onap\",\"dmaap_port\":\"3904\",\"enableRedisCaching\":\"false\",\"redisHosts\":\"dcae-redis.onap"
@@ -134,9 +124,10 @@
     @Test
     @Transactional
     public void testUpdateMicroservicePolicy() {
+        saveTestLoopToDb();
         MicroServicePolicy policy = new MicroServicePolicy("policyName", "",
-                                                      "tosca_definitions_version: tosca_simple_yaml_1_0_0", false,
-                                                      JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
+                "tosca_definitions_version: tosca_simple_yaml_1_0_0", false,
+                JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
         loopController.updateMicroservicePolicy(EXAMPLE_LOOP_NAME, policy);
         assertThat(microServicePolicyService.isExisting("policyName")).isTrue();
     }
@@ -144,7 +135,8 @@
     @Test
     @Transactional
     public void testGetSvgRepresentation() {
-        String svgRepresentation =  loopController.getSvgRepresentation(EXAMPLE_LOOP_NAME);
+        saveTestLoopToDb();
+        String svgRepresentation = loopController.getSvgRepresentation(EXAMPLE_LOOP_NAME);
         assertThat(svgRepresentation).isEqualTo("representation");
     }
 }
\ No newline at end of file
diff --git a/src/test/java/org/onap/clamp/loop/LoopLogServiceTestItCase.java b/src/test/java/org/onap/clamp/loop/LoopLogServiceTestItCase.java
index 57b2cef..c172a9a 100644
--- a/src/test/java/org/onap/clamp/loop/LoopLogServiceTestItCase.java
+++ b/src/test/java/org/onap/clamp/loop/LoopLogServiceTestItCase.java
@@ -27,11 +27,11 @@
 import com.google.gson.JsonObject;
 
 import java.util.Set;
+
 import javax.transaction.Transactional;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
-
 import org.onap.clamp.clds.Application;
 import org.onap.clamp.clds.util.JsonUtils;
 import org.onap.clamp.loop.log.LogType;
@@ -77,10 +77,10 @@
         assertThat(loopLogs).hasSize(1);
         LoopLog loopLog = loopLogs.iterator().next();
         assertThat(loopLog.getMessage()).isEqualTo(SAMPLE_LOG_MESSAGE);
-        loopsRepository.deleteAll();
     }
 
     @Test
+    @Transactional
     public void testLoopLog() {
         LoopLog log = new LoopLog();
         Long id = Long.valueOf(100);
diff --git a/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java b/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java
index 78e0d2e..44feaeb 100644
--- a/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java
+++ b/src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java
@@ -40,8 +40,17 @@
 import org.onap.clamp.loop.log.LogType;
 import org.onap.clamp.loop.log.LoopLog;
 import org.onap.clamp.loop.log.LoopLogRepository;
+import org.onap.clamp.loop.service.Service;
+import org.onap.clamp.loop.service.ServicesRepository;
+import org.onap.clamp.loop.template.LoopTemplate;
+import org.onap.clamp.loop.template.LoopTemplatesRepository;
+import org.onap.clamp.loop.template.MicroServiceModel;
+import org.onap.clamp.loop.template.MicroServiceModelsRepository;
+import org.onap.clamp.loop.template.PolicyModel;
+import org.onap.clamp.loop.template.PolicyModelId;
+import org.onap.clamp.loop.template.PolicyModelsRepository;
 import org.onap.clamp.policy.microservice.MicroServicePolicy;
-import org.onap.clamp.policy.microservice.MicroservicePolicyService;
+import org.onap.clamp.policy.microservice.MicroServicePolicyService;
 import org.onap.clamp.policy.operational.OperationalPolicy;
 import org.onap.clamp.policy.operational.OperationalPolicyService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -59,7 +68,7 @@
     private LoopsRepository loopRepository;
 
     @Autowired
-    private MicroservicePolicyService microServicePolicyService;
+    private MicroServicePolicyService microServicePolicyService;
 
     @Autowired
     private OperationalPolicyService operationalPolicyService;
@@ -67,12 +76,47 @@
     @Autowired
     private LoopLogRepository loopLogRepository;
 
+    @Autowired
+    private LoopTemplatesRepository loopTemplateRepository;
+
+    @Autowired
+    private MicroServiceModelsRepository microServiceModelsRepository;
+
+    @Autowired
+    private PolicyModelsRepository policyModelsRepository;
+
+    @Autowired
+    private ServicesRepository servicesRepository;
+
+    private Service getService(String serviceDetails, String resourceDetails) {
+        return new Service(serviceDetails, resourceDetails);
+    }
+
     private OperationalPolicy getOperationalPolicy(String configJson, String name) {
         return new OperationalPolicy(name, null, new Gson().fromJson(configJson, JsonObject.class));
     }
 
+    private MicroServiceModel getMicroServiceModel(String yaml, String name, String policyType, String createdBy,
+            PolicyModel policyModel) {
+        MicroServiceModel model = new MicroServiceModel(name, policyType, yaml, policyModel);
+        return model;
+    }
+
+    private PolicyModel getPolicyModel(String policyType, String policyModelTosca, String version, String policyAcronym,
+            String policyVariant, String createdBy) {
+        return new PolicyModel(policyType, policyModelTosca, version, policyAcronym, policyVariant);
+    }
+
+    private LoopTemplate getLoopTemplate(String name, String blueprint, String svgRepresentation, String createdBy,
+            Integer maxInstancesAllowed) {
+        LoopTemplate template = new LoopTemplate(name, blueprint, svgRepresentation, maxInstancesAllowed, null);
+        template.addMicroServiceModel(getMicroServiceModel("yaml", "microService1", "org.onap.policy.drools", createdBy,
+                getPolicyModel("org.onap.policy.drools", "yaml", "1.0.0", "Drools", "type1", createdBy)));
+        return template;
+    }
+
     private Loop getLoop(String name, String svgRepresentation, String blueprint, String globalPropertiesJson,
-        String dcaeId, String dcaeUrl, String dcaeBlueprintId) {
+            String dcaeId, String dcaeUrl, String dcaeBlueprintId) {
         Loop loop = new Loop();
         loop.setName(name);
         loop.setSvgRepresentation(svgRepresentation);
@@ -82,13 +126,14 @@
         loop.setDcaeDeploymentId(dcaeId);
         loop.setDcaeDeploymentStatusUrl(dcaeUrl);
         loop.setDcaeBlueprintId(dcaeBlueprintId);
+        loop.setLoopTemplate(getLoopTemplate("templateName", "yaml", "svg", "toto", 1));
         return loop;
     }
 
     private MicroServicePolicy getMicroServicePolicy(String name, String modelType, String jsonRepresentation,
-        String policyTosca, String jsonProperties, boolean shared) {
+            String policyTosca, String jsonProperties, boolean shared) {
         MicroServicePolicy microService = new MicroServicePolicy(name, modelType, policyTosca, shared,
-            gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>());
+                gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>());
         microService.setProperties(new Gson().fromJson(jsonProperties, JsonObject.class));
         return microService;
     }
@@ -100,52 +145,108 @@
     @Test
     @Transactional
     public void crudTest() {
+        // Setup
         Loop loopTest = getLoop("ControlLoopTest", "<xml></xml>", "yamlcontent", "{\"testname\":\"testvalue\"}",
-            "123456789", "https://dcaetest.org", "UUID-blueprint");
+                "123456789", "https://dcaetest.org", "UUID-blueprint");
         OperationalPolicy opPolicy = this.getOperationalPolicy("{\"type\":\"GUARD\"}", "GuardOpPolicyTest");
         loopTest.addOperationalPolicy(opPolicy);
         MicroServicePolicy microServicePolicy = getMicroServicePolicy("configPolicyTest", "",
-            "{\"configtype\":\"json\"}", "tosca_definitions_version: tosca_simple_yaml_1_0_0",
-            "{\"param1\":\"value1\"}", true);
+                "{\"configtype\":\"json\"}", "tosca_definitions_version: tosca_simple_yaml_1_0_0",
+                "{\"param1\":\"value1\"}", true);
         loopTest.addMicroServicePolicy(microServicePolicy);
         LoopLog loopLog = getLoopLog(LogType.INFO, "test message", loopTest);
         loopTest.addLog(loopLog);
+        Service service = getService(
+                "{\"name\": \"vLoadBalancerMS\", \"UUID\": \"63cac700-ab9a-4115-a74f-7eac85e3fce0\"}", "{\"CP\": {}}");
+        loopTest.setModelService(service);
 
-        // Attemp to save into the database the entire loop
+        // Attempt to save into the database the entire loop
         Loop loopInDb = loopRepository.save(loopTest);
         assertThat(loopInDb).isNotNull();
+        assertThat(loopRepository.findById(loopInDb.getName()).get()).isNotNull();
+        assertThat(loopInDb.getCreatedDate()).isNotNull();
+        assertThat(loopInDb.getUpdatedDate()).isNotNull();
+        assertThat(loopInDb.getUpdatedDate()).isEqualTo(loopInDb.getCreatedDate());
         assertThat(loopInDb.getName()).isEqualTo("ControlLoopTest");
-        // Now set the ID in the previous model so that we can compare the objects
+        // Autogen id so now set the ID in the previous model so that we can compare the
+        // objects
         loopLog.setId(((LoopLog) loopInDb.getLoopLogs().toArray()[0]).getId());
 
-        assertThat(loopInDb).isEqualToIgnoringGivenFields(loopTest, "components");
+        assertThat(loopInDb).isEqualToIgnoringGivenFields(loopTest, "components", "createdDate", "updatedDate",
+                "createdBy", "updatedBy");
         assertThat(loopRepository.existsById(loopTest.getName())).isEqualTo(true);
         assertThat(operationalPolicyService.isExisting(opPolicy.getName())).isEqualTo(true);
         assertThat(microServicePolicyService.isExisting(microServicePolicy.getName())).isEqualTo(true);
         assertThat(loopLogRepository.existsById(loopLog.getId())).isEqualTo(true);
+        assertThat(loopTemplateRepository.existsById(loopInDb.getLoopTemplate().getName())).isEqualTo(true);
+        assertThat(loopTemplateRepository.existsById(loopInDb.getLoopTemplate().getName())).isEqualTo(true);
+        assertThat(servicesRepository.existsById(loopInDb.getModelService().getServiceUuid())).isEqualTo(true);
+        assertThat(microServiceModelsRepository.existsById(
+                loopInDb.getLoopTemplate().getMicroServiceModelUsed().first().getMicroServiceModel().getName()))
+                        .isEqualTo(true);
+        assertThat(policyModelsRepository.existsById(new PolicyModelId(
+                loopInDb.getLoopTemplate().getMicroServiceModelUsed().first().getMicroServiceModel().getPolicyModel()
+                        .getPolicyModelType(),
+                loopInDb.getLoopTemplate().getMicroServiceModelUsed().first().getMicroServiceModel().getPolicyModel()
+                        .getVersion()))).isEqualTo(true);
 
         // Now attempt to read from database
         Loop loopInDbRetrieved = loopRepository.findById(loopTest.getName()).get();
-        assertThat(loopInDbRetrieved).isEqualToIgnoringGivenFields(loopTest, "components");
+        assertThat(loopInDbRetrieved).isEqualToIgnoringGivenFields(loopTest, "components", "createdDate", "updatedDate",
+                "createdBy", "updatedBy");
+        assertThat(loopInDbRetrieved).isEqualToComparingOnlyGivenFields(loopInDb, "createdDate", "updatedDate",
+                "createdBy", "updatedBy");
         assertThat((LoopLog) loopInDbRetrieved.getLoopLogs().toArray()[0]).isEqualToComparingFieldByField(loopLog);
         assertThat((OperationalPolicy) loopInDbRetrieved.getOperationalPolicies().toArray()[0])
-            .isEqualToComparingFieldByField(opPolicy);
+                .isEqualToComparingFieldByField(opPolicy);
         assertThat((MicroServicePolicy) loopInDbRetrieved.getMicroServicePolicies().toArray()[0])
-            .isEqualToComparingFieldByField(microServicePolicy);
+                .isEqualToIgnoringGivenFields(microServicePolicy, "createdDate", "updatedDate", "createdBy",
+                        "updatedBy");
 
         // Attempt an update
         ((LoopLog) loopInDbRetrieved.getLoopLogs().toArray()[0]).setLogInstant(Instant.now());
-        loopRepository.save(loopInDbRetrieved);
-        Loop loopInDbRetrievedUpdated = loopRepository.findById(loopTest.getName()).get();
+        loopInDbRetrieved.setBlueprint("yaml2");
+        Loop loopInDbRetrievedUpdated = loopRepository.saveAndFlush(loopInDbRetrieved);
+        // Loop loopInDbRetrievedUpdated =
+        // loopRepository.findById(loopTest.getName()).get();
+        assertThat(loopInDbRetrievedUpdated.getBlueprint()).isEqualTo("yaml2");
         assertThat((LoopLog) loopInDbRetrievedUpdated.getLoopLogs().toArray()[0])
-            .isEqualToComparingFieldByField(loopInDbRetrieved.getLoopLogs().toArray()[0]);
+                .isEqualToComparingFieldByField(loopInDbRetrieved.getLoopLogs().toArray()[0]);
+        // UpdatedDate should have been changed
+        assertThat(loopInDbRetrievedUpdated.getUpdatedDate()).isNotEqualTo(loopInDbRetrievedUpdated.getCreatedDate());
+        // createdDate should have NOT been changed
+        assertThat(loopInDbRetrievedUpdated.getCreatedDate()).isEqualTo(loopInDb.getCreatedDate());
+        // other audit are the same
+        assertThat(loopInDbRetrievedUpdated.getCreatedBy()).isEqualTo("");
+        assertThat(loopInDbRetrievedUpdated.getUpdatedBy()).isEqualTo("");
 
         // Attempt to delete the object and check it has well been cascaded
+
         loopRepository.delete(loopInDbRetrieved);
         assertThat(loopRepository.existsById(loopTest.getName())).isEqualTo(false);
         assertThat(operationalPolicyService.isExisting(opPolicy.getName())).isEqualTo(false);
-        assertThat(microServicePolicyService.isExisting(microServicePolicy.getName())).isEqualTo(false);
+        assertThat(microServicePolicyService.isExisting(microServicePolicy.getName())).isEqualTo(true);
         assertThat(loopLogRepository.existsById(loopLog.getId())).isEqualTo(false);
+        assertThat(loopTemplateRepository.existsById(loopInDb.getLoopTemplate().getName())).isEqualTo(true);
+        assertThat(servicesRepository.existsById(loopInDb.getModelService().getServiceUuid())).isEqualTo(true);
+        assertThat(microServiceModelsRepository.existsById(
+                loopInDb.getLoopTemplate().getMicroServiceModelUsed().first().getMicroServiceModel().getName()))
+                        .isEqualTo(true);
+
+        assertThat(policyModelsRepository.existsById(new PolicyModelId(
+                loopInDb.getLoopTemplate().getMicroServiceModelUsed().first().getMicroServiceModel().getPolicyModel()
+                        .getPolicyModelType(),
+                loopInDb.getLoopTemplate().getMicroServiceModelUsed().first().getMicroServiceModel().getPolicyModel()
+                        .getVersion()))).isEqualTo(true);
+
+        // Cleanup
+        // microServiceModelsRepository
+        // .delete(loopInDb.getLoopTemplate().getMicroServiceModelUsed().first().getMicroServiceModel());
+        //
+        // policyModelsRepository.delete(
+        // loopInDb.getLoopTemplate().getMicroServiceModelUsed().first().getMicroServiceModel().getPolicyModel());
+        // loopTemplateRepository.delete(loopInDb.getLoopTemplate());
+        // servicesRepository.delete(service);
 
     }
 }
diff --git a/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java b/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java
index 28a92e3..d19c8a8 100644
--- a/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java
+++ b/src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java
@@ -33,7 +33,6 @@
 import javax.transaction.Transactional;
 
 import org.assertj.core.util.Lists;
-import org.junit.After;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.onap.clamp.clds.Application;
@@ -42,7 +41,7 @@
 import org.onap.clamp.loop.log.LoopLog;
 import org.onap.clamp.loop.log.LoopLogService;
 import org.onap.clamp.policy.microservice.MicroServicePolicy;
-import org.onap.clamp.policy.microservice.MicroservicePolicyService;
+import org.onap.clamp.policy.microservice.MicroServicePolicyService;
 import org.onap.clamp.policy.operational.OperationalPolicy;
 import org.onap.clamp.policy.operational.OperationalPolicyService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -63,7 +62,7 @@
     LoopsRepository loopsRepository;
 
     @Autowired
-    MicroservicePolicyService microServicePolicyService;
+    MicroServicePolicyService microServicePolicyService;
 
     @Autowired
     OperationalPolicyService operationalPolicyService;
@@ -71,11 +70,6 @@
     @Autowired
     LoopLogService loopLogService;
 
-    @After
-    public void tearDown() {
-        loopsRepository.deleteAll();
-    }
-
     @Test
     @Transactional
     public void shouldCreateEmptyLoop() {
@@ -96,7 +90,7 @@
         assertThat(actualLoop.getBlueprint()).isEqualTo(loopBlueprint);
         assertThat(actualLoop.getSvgRepresentation()).isEqualTo(loopSvg);
         assertThat(actualLoop.getGlobalPropertiesJson().getAsJsonPrimitive("testName").getAsString())
-            .isEqualTo("testValue");
+                .isEqualTo("testValue");
     }
 
     @Test
@@ -105,11 +99,11 @@
         // given
         saveTestLoopToDb();
         OperationalPolicy operationalPolicy = new OperationalPolicy("policyName", null,
-            JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class));
+                JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class));
 
         // when
         Loop actualLoop = loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME,
-            Lists.newArrayList(operationalPolicy));
+                Lists.newArrayList(operationalPolicy));
 
         // then
         assertThat(actualLoop).isNotNull();
@@ -128,20 +122,20 @@
         // given
         saveTestLoopToDb();
         MicroServicePolicy microServicePolicy = new MicroServicePolicy("policyName", "",
-            "tosca_definitions_version: tosca_simple_yaml_1_0_0", false,
-            JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
+                "tosca_definitions_version: tosca_simple_yaml_1_0_0", false,
+                JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
 
         // when
         Loop actualLoop = loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME,
-            Lists.newArrayList(microServicePolicy));
+                Lists.newArrayList(microServicePolicy));
 
         // then
         assertThat(actualLoop).isNotNull();
         assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME);
         Set<MicroServicePolicy> savedPolicies = actualLoop.getMicroServicePolicies();
         assertThat(savedPolicies).hasSize(1);
-        assertThat(savedPolicies).usingElementComparatorIgnoringFields("usedByLoops")
-            .containsExactly(microServicePolicy);
+        assertThat(savedPolicies).usingElementComparatorIgnoringFields("usedByLoops", "createdDate", "updatedDate",
+                "createdBy", "updatedBy").containsExactly(microServicePolicy);
         assertThat(savedPolicies).extracting("usedByLoops").hasSize(1);
 
     }
@@ -153,16 +147,16 @@
         saveTestLoopToDb();
 
         MicroServicePolicy firstMicroServicePolicy = new MicroServicePolicy("firstPolicyName", "", "", false,
-            JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
+                JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
         loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstMicroServicePolicy));
         MicroServicePolicy secondMicroServicePolicy = new MicroServicePolicy("secondPolicyName", "",
-            "tosca_definitions_version: tosca_simple_yaml_1_0_0", true, JsonUtils.GSON.fromJson("{}", JsonObject.class),
-            null);
+                "tosca_definitions_version: tosca_simple_yaml_1_0_0", true,
+                JsonUtils.GSON.fromJson("{}", JsonObject.class), null);
 
         // when
         firstMicroServicePolicy.setProperties(JsonUtils.GSON.fromJson("{\"name1\":\"value1\"}", JsonObject.class));
         Loop actualLoop = loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME,
-            Lists.newArrayList(firstMicroServicePolicy, secondMicroServicePolicy));
+                Lists.newArrayList(firstMicroServicePolicy, secondMicroServicePolicy));
 
         // then
         assertThat(actualLoop).isNotNull();
@@ -171,8 +165,8 @@
         assertThat(savedPolicies).hasSize(2);
         assertThat(savedPolicies).contains(firstMicroServicePolicy);
         assertThat(savedPolicies).contains(secondMicroServicePolicy);
-        assertThat(savedPolicies).usingElementComparatorIgnoringFields("usedByLoops")
-            .containsExactlyInAnyOrder(firstMicroServicePolicy, secondMicroServicePolicy);
+        assertThat(savedPolicies).usingElementComparatorIgnoringFields("usedByLoops", "createdDate", "updatedDate",
+                "createdBy", "updatedBy").containsExactlyInAnyOrder(firstMicroServicePolicy, secondMicroServicePolicy);
 
     }
 
@@ -189,24 +183,24 @@
         saveTestLoopToDb();
 
         MicroServicePolicy firstMicroServicePolicy = new MicroServicePolicy("firstPolicyName", "",
-            "\"tosca_definitions_version: tosca_simple_yaml_1_0_0\"", false,
-            JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
+                "\"tosca_definitions_version: tosca_simple_yaml_1_0_0\"", false,
+                JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
         loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstMicroServicePolicy));
 
         MicroServicePolicy secondMicroServicePolicy = new MicroServicePolicy("policyName", "", "secondPolicyTosca",
-            true, JsonUtils.GSON.fromJson("{}", JsonObject.class), null);
+                true, JsonUtils.GSON.fromJson("{}", JsonObject.class), null);
 
         // when
         Loop actualLoop = loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME,
-            Lists.newArrayList(secondMicroServicePolicy));
+                Lists.newArrayList(secondMicroServicePolicy));
 
         // then
         assertThat(actualLoop).isNotNull();
         assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME);
         Set<MicroServicePolicy> savedPolicies = actualLoop.getMicroServicePolicies();
         assertThat(savedPolicies).hasSize(1);
-        assertThat(savedPolicies).usingElementComparatorIgnoringFields("usedByLoops")
-            .containsExactly(secondMicroServicePolicy);
+        assertThat(savedPolicies).usingElementComparatorIgnoringFields("usedByLoops", "createdDate", "updatedDate",
+                "createdBy", "updatedBy").containsExactly(secondMicroServicePolicy);
 
     }
 
@@ -219,16 +213,16 @@
         JsonObject newJsonConfiguration = JsonUtils.GSON.fromJson("{}", JsonObject.class);
 
         OperationalPolicy firstOperationalPolicy = new OperationalPolicy("firstPolicyName", null,
-            JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class));
+                JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class));
         loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstOperationalPolicy));
 
         OperationalPolicy secondOperationalPolicy = new OperationalPolicy("secondPolicyName", null,
-            newJsonConfiguration);
+                newJsonConfiguration);
 
         // when
         firstOperationalPolicy.setConfigurationsJson(newJsonConfiguration);
         Loop actualLoop = loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME,
-            Lists.newArrayList(firstOperationalPolicy, secondOperationalPolicy));
+                Lists.newArrayList(firstOperationalPolicy, secondOperationalPolicy));
 
         // then
         assertThat(actualLoop).isNotNull();
@@ -236,9 +230,9 @@
         Set<OperationalPolicy> savedPolicies = actualLoop.getOperationalPolicies();
         assertThat(savedPolicies).hasSize(2);
         assertThat(savedPolicies).usingElementComparatorIgnoringFields("loop")
-            .containsExactlyInAnyOrder(firstOperationalPolicy, secondOperationalPolicy);
+                .containsExactlyInAnyOrder(firstOperationalPolicy, secondOperationalPolicy);
         Set<String> policiesLoops = Lists.newArrayList(savedPolicies).stream().map(OperationalPolicy::getLoop)
-            .map(Loop::getName).collect(Collectors.toSet());
+                .map(Loop::getName).collect(Collectors.toSet());
         assertThat(policiesLoops).containsExactly(EXAMPLE_LOOP_NAME);
     }
 
@@ -249,15 +243,15 @@
         saveTestLoopToDb();
 
         OperationalPolicy firstOperationalPolicy = new OperationalPolicy("firstPolicyName", null,
-            JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class));
+                JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class));
         loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(firstOperationalPolicy));
 
         OperationalPolicy secondOperationalPolicy = new OperationalPolicy("policyName", null,
-            JsonUtils.GSON.fromJson("{}", JsonObject.class));
+                JsonUtils.GSON.fromJson("{}", JsonObject.class));
 
         // when
         Loop actualLoop = loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME,
-            Lists.newArrayList(secondOperationalPolicy));
+                Lists.newArrayList(secondOperationalPolicy));
 
         // then
         assertThat(actualLoop).isNotNull();
@@ -300,21 +294,21 @@
         loop = loopService.saveOrUpdateLoop(loop);
         // Add op policy
         OperationalPolicy operationalPolicy = new OperationalPolicy("opPolicy", null,
-            JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class));
+                JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class));
         loopService.updateAndSaveOperationalPolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(operationalPolicy));
 
         // Add Micro service policy
         MicroServicePolicy microServicePolicy = new MicroServicePolicy("microPolicy", "",
-            "tosca_definitions_version: tosca_simple_yaml_1_0_0", false,
-            JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
+                "tosca_definitions_version: tosca_simple_yaml_1_0_0", false,
+                JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
         loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME, Lists.newArrayList(microServicePolicy));
 
         // Verify it's there
         assertThat(loopsRepository.findById(EXAMPLE_LOOP_NAME).orElse(null)).isNotNull();
         loopService.deleteLoop(EXAMPLE_LOOP_NAME);
-        // Verify it's well deleted and has been cascaded
+        // Verify it's well deleted and has been cascaded, except for Microservice
         assertThat(loopsRepository.findById(EXAMPLE_LOOP_NAME).orElse(null)).isNull();
-        assertThat(microServicePolicyService.isExisting("microPolicy")).isFalse();
+        assertThat(microServicePolicyService.isExisting("microPolicy")).isTrue();
         assertThat(operationalPolicyService.isExisting("opPolicy")).isFalse();
         assertThat(loopLogService.isExisting(((LoopLog) loop.getLoopLogs().toArray()[0]).getId())).isFalse();
     }
@@ -334,8 +328,8 @@
     public void testUpdateDcaeDeploymentFields() {
         saveTestLoopToDb();
         Loop loop = loopService.getLoop(EXAMPLE_LOOP_NAME);
-        loopService.updateDcaeDeploymentFields(loop,"CLAMP_c5ce429a-f570-48c5-a7ea-53bed8f86f85",
-                                               "https4://deployment-handler.onap:8443");
+        loopService.updateDcaeDeploymentFields(loop, "CLAMP_c5ce429a-f570-48c5-a7ea-53bed8f86f85",
+                "https4://deployment-handler.onap:8443");
         loop = loopService.getLoop(EXAMPLE_LOOP_NAME);
         assertThat(loop.getDcaeDeploymentId()).isEqualTo("CLAMP_c5ce429a-f570-48c5-a7ea-53bed8f86f85");
         assertThat(loop.getDcaeDeploymentStatusUrl()).isEqualTo("https4://deployment-handler.onap:8443");
@@ -347,8 +341,8 @@
         saveTestLoopToDb();
         assertThat(microServicePolicyService.isExisting("policyName")).isFalse();
         MicroServicePolicy microServicePolicy = new MicroServicePolicy("policyName", "",
-            "tosca_definitions_version: tosca_simple_yaml_1_0_0", false,
-            JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
+                "tosca_definitions_version: tosca_simple_yaml_1_0_0", false,
+                JsonUtils.GSON.fromJson(EXAMPLE_JSON, JsonObject.class), null);
         loopService.updateMicroservicePolicy(EXAMPLE_LOOP_NAME, microServicePolicy);
         assertThat(microServicePolicyService.isExisting("policyName")).isTrue();
     }
diff --git a/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java b/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java
index 68fe487..914c64e 100644
--- a/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java
+++ b/src/test/java/org/onap/clamp/loop/LoopToJsonTest.java
@@ -44,6 +44,9 @@
 import org.onap.clamp.loop.log.LogType;
 import org.onap.clamp.loop.log.LoopLog;
 import org.onap.clamp.loop.service.Service;
+import org.onap.clamp.loop.template.LoopTemplate;
+import org.onap.clamp.loop.template.MicroServiceModel;
+import org.onap.clamp.loop.template.PolicyModel;
 import org.onap.clamp.policy.microservice.MicroServicePolicy;
 import org.onap.clamp.policy.operational.OperationalPolicy;
 import org.skyscreamer.jsonassert.JSONAssert;
@@ -72,10 +75,30 @@
         MicroServicePolicy microService = new MicroServicePolicy(name, modelType, policyTosca, shared,
                 gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>());
         microService.setProperties(new Gson().fromJson(jsonProperties, JsonObject.class));
-
         return microService;
     }
 
+    private MicroServiceModel getMicroServiceModel(String yaml, String name, PolicyModel policyModel) {
+        MicroServiceModel model = new MicroServiceModel();
+        model.setBlueprint(yaml);
+        model.setName(name);
+        model.setPolicyModel(policyModel);
+        return model;
+    }
+
+    private PolicyModel getPolicyModel(String policyType, String policyModelTosca, String version, String policyAcronym,
+            String policyVariant) {
+        return new PolicyModel(policyType, policyModelTosca, version, policyAcronym, policyVariant);
+    }
+
+    private LoopTemplate getLoopTemplate(String name, String blueprint, String svgRepresentation,
+            Integer maxInstancesAllowed) {
+        LoopTemplate template = new LoopTemplate(name, blueprint, svgRepresentation, maxInstancesAllowed, null);
+        template.addMicroServiceModel(getMicroServiceModel("yaml", "microService1",
+                getPolicyModel("org.onap.policy.drools", "yaml", "1.0.0", "Drools", "type1")));
+        return template;
+    }
+
     private LoopLog getLoopLog(LogType type, String message, Loop loop) {
         LoopLog log = new LoopLog(message, type, "CLAMP", loop);
         log.setId(Long.valueOf(new Random().nextInt()));
@@ -95,6 +118,8 @@
         loopTest.addMicroServicePolicy(microServicePolicy);
         LoopLog loopLog = getLoopLog(LogType.INFO, "test message", loopTest);
         loopTest.addLog(loopLog);
+        LoopTemplate loopTemplate = getLoopTemplate("templateName", "yaml", "svg", 1);
+        loopTest.setLoopTemplate(loopTemplate);
 
         String jsonSerialized = JsonUtils.GSON_JPA_MODEL.toJson(loopTest);
         assertThat(jsonSerialized).isNotNull().isNotEmpty();
@@ -116,6 +141,9 @@
         assertThat(loopTestDeserialized.getLoopLogs()).containsExactly(loopLog);
         assertThat((LoopLog) loopTestDeserialized.getLoopLogs().toArray()[0]).isEqualToIgnoringGivenFields(loopLog,
                 "loop");
+
+        // Verify the loop template
+        assertThat(loopTestDeserialized.getLoopTemplate()).isEqualTo(loopTemplate);
     }
 
     @Test
@@ -128,17 +156,14 @@
         Service service = new Service(jsonModel.get("serviceDetails").getAsJsonObject(),
                 jsonModel.get("resourceDetails").getAsJsonObject(), "1.0");
         loopTest2.setModelService(service);
-
         String jsonSerialized = JsonUtils.GSON_JPA_MODEL.toJson(loopTest2);
         assertThat(jsonSerialized).isNotNull().isNotEmpty();
         System.out.println(jsonSerialized);
-        JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/loop.json"),
-                jsonSerialized, true);
 
         Loop loopTestDeserialized = JsonUtils.GSON_JPA_MODEL.fromJson(jsonSerialized, Loop.class);
         assertNotNull(loopTestDeserialized);
-        assertThat(loopTestDeserialized).isEqualToIgnoringGivenFields(loopTest2, "modelService", 
-            "svgRepresentation", "blueprint", "components");
+        assertThat(loopTestDeserialized).isEqualToIgnoringGivenFields(loopTest2, "modelService", "svgRepresentation",
+                "blueprint", "components");
     }
 
     @Test
diff --git a/src/test/java/org/onap/clamp/loop/PolicyModelServiceItCase.java b/src/test/java/org/onap/clamp/loop/PolicyModelServiceItCase.java
new file mode 100644
index 0000000..b284dd7
--- /dev/null
+++ b/src/test/java/org/onap/clamp/loop/PolicyModelServiceItCase.java
@@ -0,0 +1,161 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+
+package org.onap.clamp.loop;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.List;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+import javax.transaction.Transactional;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.clamp.clds.Application;
+import org.onap.clamp.loop.template.PolicyModel;
+import org.onap.clamp.loop.template.PolicyModelId;
+import org.onap.clamp.loop.template.PolicyModelsRepository;
+import org.onap.clamp.loop.template.PolicyModelsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = Application.class)
+public class PolicyModelServiceItCase {
+
+    @Autowired
+    PolicyModelsService policyModelsService;
+
+    @Autowired
+    PolicyModelsRepository policyModelsRepository;
+
+    private static final String POLICY_MODEL_TYPE_1 = "org.onap.test";
+    private static final String POLICY_MODEL_TYPE_1_VERSION_1 = "1.0.0";
+
+    private static final String POLICY_MODEL_TYPE_2 = "org.onap.test2";
+    private static final String POLICY_MODEL_TYPE_2_VERSION_1 = "1.0.0";
+    private static final String POLICY_MODEL_TYPE_2_VERSION_2 = "2.0.0";
+
+    private PolicyModel getPolicyModel(String policyType, String policyModelTosca, String version, String policyAcronym,
+            String policyVariant, String createdBy) {
+        PolicyModel policyModel = new PolicyModel();
+        policyModel.setCreatedBy(createdBy);
+        policyModel.setPolicyAcronym(policyAcronym);
+        policyModel.setPolicyModelTosca(policyModelTosca);
+        policyModel.setPolicyModelType(policyType);
+        policyModel.setPolicyVariant(policyVariant);
+        policyModel.setUpdatedBy(createdBy);
+        policyModel.setVersion(version);
+        return policyModel;
+    }
+
+    @Test
+    @Transactional
+    public void shouldCreatePolicyModel() {
+        // given
+        PolicyModel policyModel = getPolicyModel(POLICY_MODEL_TYPE_1, "yaml", POLICY_MODEL_TYPE_1_VERSION_1, "TEST",
+                "VARIANT", "user");
+
+        // when
+        PolicyModel actualPolicyModel = policyModelsService.saveOrUpdatePolicyModel(policyModel);
+
+        // then
+        assertThat(actualPolicyModel).isNotNull();
+        assertThat(actualPolicyModel).isEqualTo(policyModelsRepository
+                .findById(new PolicyModelId(actualPolicyModel.getPolicyModelType(), actualPolicyModel.getVersion()))
+                .get());
+        assertThat(actualPolicyModel.getPolicyModelType()).isEqualTo(policyModel.getPolicyModelType());
+        assertThat(actualPolicyModel.getCreatedBy()).isEqualTo("");
+        assertThat(actualPolicyModel.getCreatedDate()).isNotNull();
+        assertThat(actualPolicyModel.getPolicyAcronym()).isEqualTo(policyModel.getPolicyAcronym());
+        assertThat(actualPolicyModel.getPolicyModelTosca()).isEqualTo(policyModel.getPolicyModelTosca());
+        assertThat(actualPolicyModel.getPolicyVariant()).isEqualTo(policyModel.getPolicyVariant());
+        assertThat(actualPolicyModel.getUpdatedBy()).isEqualTo("");
+        assertThat(actualPolicyModel.getUpdatedDate()).isNotNull();
+        assertThat(actualPolicyModel.getVersion()).isEqualTo(policyModel.getVersion());
+
+        assertThat(policyModelsService.getPolicyModel(POLICY_MODEL_TYPE_1, POLICY_MODEL_TYPE_1_VERSION_1))
+                .isEqualToIgnoringGivenFields(policyModel, "createdDate", "updatedDate", "createdBy", "updatedBy");
+    }
+
+    @Test
+    @Transactional
+    public void shouldReturnAllPolicyModelTypes() {
+        // given
+        PolicyModel policyModel1 = getPolicyModel(POLICY_MODEL_TYPE_2, "yaml", POLICY_MODEL_TYPE_2_VERSION_1, "TEST",
+                "VARIANT", "user");
+        policyModelsService.saveOrUpdatePolicyModel(policyModel1);
+        PolicyModel policyModel2 = getPolicyModel(POLICY_MODEL_TYPE_2, "yaml", POLICY_MODEL_TYPE_2_VERSION_2, "TEST",
+                "VARIANT", "user");
+        policyModelsService.saveOrUpdatePolicyModel(policyModel2);
+        List<String> policyModelTypesList = policyModelsService.getAllPolicyModelTypes();
+
+        assertThat(policyModelTypesList).containsOnly(policyModel1.getPolicyModelType(),
+                policyModel2.getPolicyModelType());
+    }
+
+    @Test
+    @Transactional
+    public void shouldReturnAllPolicyModels() {
+        PolicyModel policyModel1 = getPolicyModel(POLICY_MODEL_TYPE_2, "yaml", POLICY_MODEL_TYPE_2_VERSION_1, "TEST",
+                "VARIANT", "user");
+        policyModelsService.saveOrUpdatePolicyModel(policyModel1);
+        PolicyModel policyModel2 = getPolicyModel(POLICY_MODEL_TYPE_2, "yaml", POLICY_MODEL_TYPE_2_VERSION_2, "TEST",
+                "VARIANT", "user");
+        policyModelsService.saveOrUpdatePolicyModel(policyModel2);
+
+        assertThat(policyModelsService.getAllPolicyModels()).containsOnly(policyModel1, policyModel2);
+    }
+
+    @Test
+    @Transactional
+    public void shouldReturnAllModelsByType() {
+        PolicyModel policyModel1 = getPolicyModel(POLICY_MODEL_TYPE_2, "yaml", POLICY_MODEL_TYPE_2_VERSION_1, "TEST",
+                "VARIANT", "user");
+        policyModelsService.saveOrUpdatePolicyModel(policyModel1);
+        PolicyModel policyModel2 = getPolicyModel(POLICY_MODEL_TYPE_2, "yaml", POLICY_MODEL_TYPE_2_VERSION_2, "TEST",
+                "VARIANT", "user");
+        policyModelsService.saveOrUpdatePolicyModel(policyModel2);
+
+        assertThat(policyModelsService.getAllPolicyModelsByType(POLICY_MODEL_TYPE_2)).containsOnly(policyModel1,
+                policyModel2);
+    }
+
+    @Test
+    @Transactional
+    public void shouldReturnSortedSet() {
+        PolicyModel policyModel1 = getPolicyModel(POLICY_MODEL_TYPE_2, "yaml", POLICY_MODEL_TYPE_2_VERSION_1, "TEST",
+                "VARIANT", "user");
+        policyModelsService.saveOrUpdatePolicyModel(policyModel1);
+        PolicyModel policyModel2 = getPolicyModel(POLICY_MODEL_TYPE_2, "yaml", POLICY_MODEL_TYPE_2_VERSION_2, "TEST",
+                "VARIANT", "user");
+        policyModelsService.saveOrUpdatePolicyModel(policyModel2);
+
+        SortedSet<PolicyModel> sortedSet = new TreeSet<>();
+        policyModelsService.getAllPolicyModels().forEach(sortedSet::add);
+        assertThat(sortedSet).containsExactly(policyModel2, policyModel1);
+    }
+}
diff --git a/src/test/java/org/onap/clamp/util/SemanticVersioningTest.java b/src/test/java/org/onap/clamp/util/SemanticVersioningTest.java
new file mode 100644
index 0000000..1fb5922
--- /dev/null
+++ b/src/test/java/org/onap/clamp/util/SemanticVersioningTest.java
@@ -0,0 +1,71 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2020 AT&T Intellectual Property. All rights
+ *                             reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License. 
+ * You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ * 
+ */
+
+package org.onap.clamp.util;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+
+public class SemanticVersioningTest {
+
+    @Test
+    public void compareTest() {
+        assertThat(SemanticVersioning.compare("1.0.0", "2.0.0")).isEqualTo(-1);
+        assertThat(SemanticVersioning.compare("1.5.0", "2.0.0")).isEqualTo(-1);
+        assertThat(SemanticVersioning.compare("1.5.0", "2.1.0")).isEqualTo(-1);
+        assertThat(SemanticVersioning.compare("1.5.3", "2.0.0")).isEqualTo(-1);
+        assertThat(SemanticVersioning.compare("2.5.3", "2.6.0")).isEqualTo(-1);
+        assertThat(SemanticVersioning.compare("2.5", "2.5.1")).isEqualTo(-1);
+        assertThat(SemanticVersioning.compare("2.5.0", "2.5.1")).isEqualTo(-1);
+        assertThat(SemanticVersioning.compare("2.5.0.0", "2.5.1")).isEqualTo(-1);
+        assertThat(SemanticVersioning.compare("2.5.1.0", "2.5.1")).isEqualTo(1);
+
+        assertThat(SemanticVersioning.compare("2.0.0", "1.0.0")).isEqualTo(1);
+        assertThat(SemanticVersioning.compare("2.0.0", "1.5.0")).isEqualTo(1);
+        assertThat(SemanticVersioning.compare("2.1.0", "1.5.0")).isEqualTo(1);
+        assertThat(SemanticVersioning.compare("2.0.0", "1.5.3")).isEqualTo(1);
+        assertThat(SemanticVersioning.compare("2.6.0", "2.5.3")).isEqualTo(1);
+        assertThat(SemanticVersioning.compare("2.5.1", "2.5")).isEqualTo(1);
+        assertThat(SemanticVersioning.compare("2.5.1", "2.5.0")).isEqualTo(1);
+        assertThat(SemanticVersioning.compare("2.5.1", "2.5.0.0")).isEqualTo(1);
+        assertThat(SemanticVersioning.compare("1", "1.2.3.0")).isEqualTo(-1);
+        assertThat(SemanticVersioning.compare("1.2", "1")).isEqualTo(1);
+    }
+
+    @Test
+    public void compareEqualsTest() {
+        assertThat(SemanticVersioning.compare("1.0.0", "1.0.0")).isEqualTo(0);
+        assertThat(SemanticVersioning.compare("1.0.0.0", "1.0.0")).isEqualTo(1);
+        assertThat(SemanticVersioning.compare("1.2.3", "1.2.3")).isEqualTo(0);
+        assertThat(SemanticVersioning.compare("1.2.3", "1.2.3.0")).isEqualTo(-1);
+
+    }
+
+    @Test
+    public void compareNullTest() {
+        assertThat(SemanticVersioning.compare(null, null)).isEqualTo(0);
+        assertThat(SemanticVersioning.compare(null, "1.0")).isEqualTo(-1);
+        assertThat(SemanticVersioning.compare("1.0", null)).isEqualTo(1);
+    }
+}
