Modify the template model 39/100539/6
authorsebdet <sebastien.determe@intl.att.com>
Tue, 21 Jan 2020 11:40:59 +0000 (12:40 +0100)
committersebdet <sebastien.determe@intl.att.com>
Thu, 23 Jan 2020 08:49:29 +0000 (09:49 +0100)
Add loopElement to loopTemplate so that operational policy can be added
into the template as well

Issue-ID: CLAMP-555
Change-Id: I298c05f7f92536e4dab840983c41b0f7ee22daac
Signed-off-by: sebdet <sebastien.determe@intl.att.com>
21 files changed:
extra/sql/bulkload/create-tables.sql
extra/sql/dump/test-data.sql
src/main/java/org/onap/clamp/loop/CsarInstaller.java
src/main/java/org/onap/clamp/loop/Loop.java
src/main/java/org/onap/clamp/loop/template/LoopElementModel.java [moved from src/main/java/org/onap/clamp/loop/template/MicroServiceModel.java with 61% similarity]
src/main/java/org/onap/clamp/loop/template/LoopElementModelsRepository.java [moved from src/main/java/org/onap/clamp/loop/template/MicroServiceModelsRepository.java with 92% similarity]
src/main/java/org/onap/clamp/loop/template/LoopTemplate.java
src/main/java/org/onap/clamp/loop/template/LoopTemplateLoopElementModel.java [moved from src/main/java/org/onap/clamp/loop/template/TemplateMicroServiceModel.java with 71% similarity]
src/main/java/org/onap/clamp/loop/template/LoopTemplateLoopElementModelId.java [moved from src/main/java/org/onap/clamp/loop/template/TemplateMicroServiceModelId.java with 77% similarity]
src/main/java/org/onap/clamp/loop/template/PolicyModel.java
src/main/java/org/onap/clamp/policy/Policy.java
src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicy.java
src/main/java/org/onap/clamp/policy/microservice/MicroServicePolicyService.java
src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
src/test/java/org/onap/clamp/clds/tosca/DictionaryRepositoriesTestItCase.java
src/test/java/org/onap/clamp/loop/DcaeComponentTest.java
src/test/java/org/onap/clamp/loop/LoopRepositoriesItCase.java
src/test/java/org/onap/clamp/loop/LoopServiceTestItCase.java
src/test/java/org/onap/clamp/loop/LoopToJsonTest.java
src/test/java/org/onap/clamp/loop/PolicyModelServiceItCase.java
src/test/java/org/onap/clamp/policy/microservice/MicroServicePayloadTest.java

index 50fdd36..2e626b6 100644 (file)
 
     insert into hibernate_sequence values ( 1 );
 
+    create table loop_element_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,
+        loop_element_type varchar(255) not null,
+        primary key (name)
+    ) engine=InnoDB;
+
     create table loop_logs (
        id bigint not null,
         log_component varchar(255) not null,
         primary key (name)
     ) engine=InnoDB;
 
+    create table loopelementmodels_to_policymodels (
+       loop_element_name varchar(255) not null,
+        policy_model_type varchar(255) not null,
+        policy_model_version varchar(255) not null,
+        primary key (loop_element_name, policy_model_type, policy_model_version)
+    ) engine=InnoDB;
+
     create table loops (
        name varchar(255) not null,
         created_by varchar(255),
         primary key (name)
     ) engine=InnoDB;
 
-    create table loops_microservicepolicies (
-       loop_id varchar(255) not null,
-        microservicepolicy_id varchar(255) not null,
-        primary key (loop_id, microservicepolicy_id)
+    create table loops_to_microservicepolicies (
+       loop_name varchar(255) not null,
+        microservicepolicy_name varchar(255) not null,
+        primary key (loop_name, microservicepolicy_name)
     ) 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)
+    create table looptemplates_to_loopelementmodels (
+       loop_element_model_name varchar(255) not null,
+        loop_template_name varchar(255) not null,
+        flow_order integer not null,
+        primary key (loop_element_model_name, loop_template_name)
     ) engine=InnoDB;
 
     create table micro_service_policies (
         created_timestamp datetime(6) not null,
         updated_by varchar(255),
         updated_timestamp datetime(6) not null,
+        configurations_json json,
+        json_representation json not null,
+        pdp_group varchar(255),
         context varchar(255),
         dcae_deployment_id varchar(255),
         dcae_deployment_status_url varchar(255),
         device_type_scope varchar(255),
-        json_representation json 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),
+        loop_element_model_id varchar(255),
         primary key (name)
     ) engine=InnoDB;
 
     create table operational_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,
         configurations_json json,
         json_representation json not null,
+        pdp_group varchar(255),
+        loop_element_model_id varchar(255),
         loop_id varchar(255) not null,
         policy_model_type varchar(255),
         policy_model_version 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;
 
         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);
 
        foreign key (service_uuid) 
        references services (service_uuid);
 
+    alter table loopelementmodels_to_policymodels 
+       add constraint FK23j2q74v6kaexefy0tdabsnda 
+       foreign key (policy_model_type, policy_model_version) 
+       references policy_models (policy_model_type, version);
+
+    alter table loopelementmodels_to_policymodels 
+       add constraint FKjag1iu0olojfwryfkvb5o0rk5 
+       foreign key (loop_element_name) 
+       references loop_element_models (name);
+
     alter table loops 
        add constraint FK844uwy82wt0l66jljkjqembpj 
        foreign key (loop_template_name) 
        foreign key (service_uuid) 
        references services (service_uuid);
 
-    alter table loops_microservicepolicies 
-       add constraint FKem7tp1cdlpwe28av7ef91j1yl 
-       foreign key (microservicepolicy_id
+    alter table loops_to_microservicepolicies 
+       add constraint FKle255jmi7b065fwbvmwbiehtb 
+       foreign key (microservicepolicy_name
        references micro_service_policies (name);
 
-    alter table loops_microservicepolicies 
-       add constraint FKsvx91jekgdkfh34iaxtjfgebt 
-       foreign key (loop_id
+    alter table loops_to_microservicepolicies 
+       add constraint FK8avfqaf7xl71l7sn7a5eri68d 
+       foreign key (loop_name
        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 looptemplates_to_loopelementmodels 
+       add constraint FK1k7nbrbugvqa0xfxkq3cj1yn9 
+       foreign key (loop_element_model_name) 
+       references loop_element_models (name);
+
+    alter table looptemplates_to_loopelementmodels 
+       add constraint FKj29yxyw0x7ue6mwgi6d3qg748 
+       foreign key (loop_template_name) 
+       references loop_templates (name);
 
     alter table micro_service_policies 
-       add constraint FK5p7lipy9m2v7d4n3fvlclwse 
-       foreign key (micro_service_model_id) 
-       references micro_service_models (name);
+       add constraint FKqvvdypacbww07fuv8xvlvdjgl 
+       foreign key (loop_element_model_id) 
+       references loop_element_models (name);
+
+    alter table operational_policies 
+       add constraint FKi9kh7my40737xeuaye9xwbnko 
+       foreign key (loop_element_model_id) 
+       references loop_element_models (name);
 
     alter table operational_policies 
        add constraint FK1ddoggk9ni2bnqighv6ecmuwu 
        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);
index 8a65d14..32ec9c3 100644 (file)
@@ -48,6 +48,15 @@ INSERT INTO `hibernate_sequence` VALUES (4);
 /*!40000 ALTER TABLE `hibernate_sequence` ENABLE KEYS */;
 UNLOCK TABLES;
 
+--
+-- Dumping data for table `loop_element_models`
+--
+
+LOCK TABLES `loop_element_models` WRITE;
+/*!40000 ALTER TABLE `loop_element_models` DISABLE KEYS */;
+/*!40000 ALTER TABLE `loop_element_models` ENABLE KEYS */;
+UNLOCK TABLES;
+
 --
 -- Dumping data for table `loop_logs`
 --
@@ -66,37 +75,46 @@ LOCK TABLES `loop_templates` WRITE;
 /*!40000 ALTER TABLE `loop_templates` ENABLE KEYS */;
 UNLOCK TABLES;
 
+--
+-- Dumping data for table `loopelementmodels_to_policymodels`
+--
+
+LOCK TABLES `loopelementmodels_to_policymodels` WRITE;
+/*!40000 ALTER TABLE `loopelementmodels_to_policymodels` DISABLE KEYS */;
+/*!40000 ALTER TABLE `loopelementmodels_to_policymodels` ENABLE KEYS */;
+UNLOCK TABLES;
+
 --
 -- Dumping data for table `loops`
 --
 
 LOCK TABLES `loops` WRITE;
 /*!40000 ALTER TABLE `loops` DISABLE KEYS */;
-INSERT INTO `loops` VALUES ('LOOP_1SnfX_v1_0_ResourceInstanceName1_tca','','2020-01-17 14:25:10.601618','','2020-01-17 14:25:10.601618','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-25adb412-52e8-42f7-a7f3-1550df7c3b44',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"TCA_1SnfX_v1_0_ResourceInstanceName1_tca\": {\n      \"location_id\": \"\",\n      \"service_id\": \"\",\n      \"policy_id\": \"TCA_1SnfX_v1_0_ResourceInstanceName1_tca\"\n    }\n  }\n}','DESIGN','<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-36a61cd6-b0b1-4cbd-bc86-7ca05cdfbae4\" 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-6b1d905d-30f3-4362-b570-bf1d3ac633af\" 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_1SnfX_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-2b89ccef-72c9-4faf-aec8-2259e04bdd6c\" 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-a0dceaa8-590c-4508-a3fe-bc3d700a3c63\" 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_1SnfX_v1_0_ResourceInstanceName1_tca_3','','2020-01-17 14:25:10.486285','','2020-01-17 14:25:10.486285','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-908e6565-5cab-4b27-b860-798d3ca101dc',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"tca_k8s_1SnfX_v1_0_ResourceInstanceName1_tca_3\": {\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_1SnfX_v1_0_ResourceInstanceName1_tca_3\"\n    }\n  }\n}','DESIGN','<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-891005c6-a56d-4221-809e-2567b87e4a4d\" 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-503b6de3-8fe4-40e9-89d7-933cca17e1dc\" 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_1SnfX_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-fa8c6512-4569-400e-b79c-71dd841c8b40\" 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-72d9a71a-6e13-469b-9d83-d82ed9871e08\" 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_1SnfX_v1_0_ResourceInstanceName2_tca_2','','2020-01-17 14:25:10.353971','','2020-01-17 14:25:10.353971','#\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-c1823c30-6b36-4351-b1f0-acc4faded33b',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"tca_k8s_1SnfX_v1_0_ResourceInstanceName2_tca_2\": {\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_1SnfX_v1_0_ResourceInstanceName2_tca_2\"\n    }\n  }\n}','DESIGN','<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-c07668ea-fd14-440d-ba5d-270fb4237715\" 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-8fe5f30d-5208-4315-930f-cbc6d8319a61\" 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_1SnfX_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-e2bddf38-53ff-4ff1-8eef-fae5130a901a\" 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-9d086b91-b60a-4960-82bd-c77270159069\" 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_Neavs_v1_0_ResourceInstanceName1_tca','','2020-01-23 09:42:15.427507','','2020-01-23 09:42:15.427507','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-32e402b4-8d90-4ace-ba3b-ecef5918d71a',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"TCA_Neavs_v1_0_ResourceInstanceName1_tca\": {\n      \"location_id\": \"\",\n      \"service_id\": \"\",\n      \"policy_id\": \"TCA_Neavs_v1_0_ResourceInstanceName1_tca\"\n    }\n  }\n}','DESIGN','<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-5fd6235b-f4d5-4154-98f2-7bb357f87a03\" 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-2b6bb9a1-6fbf-46e9-a996-cb604bb73b44\" 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_Neavs_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-9568b1c6-2e28-484a-9cf2-0abc22e61633\" 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-191cca4f-c019-43a9-bc0a-9d76bcafc0dc\" 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_Neavs_v1_0_ResourceInstanceName1_tca_3','','2020-01-23 09:42:15.302231','','2020-01-23 09:42:15.302231','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-de0f1827-bc0b-47e6-b96c-b9045702881f',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"tca_k8s_Neavs_v1_0_ResourceInstanceName1_tca_3\": {\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_Neavs_v1_0_ResourceInstanceName1_tca_3\"\n    }\n  }\n}','DESIGN','<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-8f91cc3e-b335-4dd8-b700-2ef9c4a7e234\" 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-05da2c6b-3c2e-462b-a8de-0e988da28cc9\" 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_Neavs_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-016859a1-fce5-4c3a-9122-b8a0fb1ecc3e\" 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-670ff0de-2ac7-466a-a2a4-924e71baced9\" 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_Neavs_v1_0_ResourceInstanceName2_tca_2','','2020-01-23 09:42:15.164411','','2020-01-23 09:42:15.164411','#\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-cb9f23e5-4d16-42ec-b65d-f421bd118244',NULL,NULL,'{\n  \"dcaeDeployParameters\": {\n    \"tca_k8s_Neavs_v1_0_ResourceInstanceName2_tca_2\": {\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_Neavs_v1_0_ResourceInstanceName2_tca_2\"\n    }\n  }\n}','DESIGN','<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-4549d2f3-3b63-4028-9b08-59ff15783924\" 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-83023377-f088-4362-9be1-f4a34b565117\" 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_Neavs_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-5992cdbd-3662-4a54-975c-ab194becc185\" 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-80403e8f-185d-4b7a-8ad7-e9a620b2b38a\" 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;
 
 --
--- Dumping data for table `loops_microservicepolicies`
+-- Dumping data for table `loops_to_microservicepolicies`
 --
 
-LOCK TABLES `loops_microservicepolicies` WRITE;
-/*!40000 ALTER TABLE `loops_microservicepolicies` DISABLE KEYS */;
-INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_1SnfX_v1_0_ResourceInstanceName1_tca','TCA_1SnfX_v1_0_ResourceInstanceName1_tca');
-INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_1SnfX_v1_0_ResourceInstanceName1_tca_3','tca_k8s_1SnfX_v1_0_ResourceInstanceName1_tca_3');
-INSERT INTO `loops_microservicepolicies` VALUES ('LOOP_1SnfX_v1_0_ResourceInstanceName2_tca_2','tca_k8s_1SnfX_v1_0_ResourceInstanceName2_tca_2');
-/*!40000 ALTER TABLE `loops_microservicepolicies` ENABLE KEYS */;
+LOCK TABLES `loops_to_microservicepolicies` WRITE;
+/*!40000 ALTER TABLE `loops_to_microservicepolicies` DISABLE KEYS */;
+INSERT INTO `loops_to_microservicepolicies` VALUES ('LOOP_Neavs_v1_0_ResourceInstanceName1_tca','TCA_Neavs_v1_0_ResourceInstanceName1_tca');
+INSERT INTO `loops_to_microservicepolicies` VALUES ('LOOP_Neavs_v1_0_ResourceInstanceName1_tca_3','tca_k8s_Neavs_v1_0_ResourceInstanceName1_tca_3');
+INSERT INTO `loops_to_microservicepolicies` VALUES ('LOOP_Neavs_v1_0_ResourceInstanceName2_tca_2','tca_k8s_Neavs_v1_0_ResourceInstanceName2_tca_2');
+/*!40000 ALTER TABLE `loops_to_microservicepolicies` ENABLE KEYS */;
 UNLOCK TABLES;
 
 --
--- Dumping data for table `micro_service_models`
+-- Dumping data for table `looptemplates_to_loopelementmodels`
 --
 
-LOCK TABLES `micro_service_models` WRITE;
-/*!40000 ALTER TABLE `micro_service_models` DISABLE KEYS */;
-/*!40000 ALTER TABLE `micro_service_models` ENABLE KEYS */;
+LOCK TABLES `looptemplates_to_loopelementmodels` WRITE;
+/*!40000 ALTER TABLE `looptemplates_to_loopelementmodels` DISABLE KEYS */;
+/*!40000 ALTER TABLE `looptemplates_to_loopelementmodels` ENABLE KEYS */;
 UNLOCK TABLES;
 
 --
@@ -105,9 +123,9 @@ UNLOCK TABLES;
 
 LOCK TABLES `micro_service_policies` WRITE;
 /*!40000 ALTER TABLE `micro_service_policies` DISABLE KEYS */;
-INSERT INTO `micro_service_policies` VALUES ('TCA_1SnfX_v1_0_ResourceInstanceName1_tca','','2020-01-17 14:25:10.605273','','2020-01-17 14:25:10.605273',NULL,NULL,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_1SnfX_v1_0_ResourceInstanceName1_tca_3','','2020-01-17 14:25:10.489651','','2020-01-17 14:25:10.489651',NULL,NULL,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_1SnfX_v1_0_ResourceInstanceName2_tca_2','','2020-01-17 14:25:10.367672','','2020-01-17 14:25:10.367672',NULL,NULL,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_Neavs_v1_0_ResourceInstanceName1_tca_3','','2020-01-23 09:42:15.305928','','2020-01-23 09:42:15.305928',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}',NULL,NULL,NULL,NULL,NULL,'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','\0',NULL);
+INSERT INTO `micro_service_policies` VALUES ('tca_k8s_Neavs_v1_0_ResourceInstanceName2_tca_2','','2020-01-23 09:42:15.177166','','2020-01-23 09:42:15.177166',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}',NULL,NULL,NULL,NULL,NULL,'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','\0',NULL);
+INSERT INTO `micro_service_policies` VALUES ('TCA_Neavs_v1_0_ResourceInstanceName1_tca','','2020-01-23 09:42:15.430589','','2020-01-23 09:42:15.430589',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}',NULL,NULL,NULL,NULL,NULL,'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','\0',NULL);
 /*!40000 ALTER TABLE `micro_service_policies` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -117,9 +135,9 @@ UNLOCK TABLES;
 
 LOCK TABLES `operational_policies` WRITE;
 /*!40000 ALTER TABLE `operational_policies` DISABLE KEYS */;
-INSERT INTO `operational_policies` VALUES ('OPERATIONAL_1SnfX_v1_0_ResourceInstanceName1_tca','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_1SnfX_v1_0_ResourceInstanceName1_tca\"\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}','LOOP_1SnfX_v1_0_ResourceInstanceName1_tca',NULL,NULL);
-INSERT INTO `operational_policies` VALUES ('OPERATIONAL_1SnfX_v1_0_ResourceInstanceName1_tca_3','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_1SnfX_v1_0_ResourceInstanceName1_tca_3\"\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}','LOOP_1SnfX_v1_0_ResourceInstanceName1_tca_3',NULL,NULL);
-INSERT INTO `operational_policies` VALUES ('OPERATIONAL_1SnfX_v1_0_ResourceInstanceName2_tca_2','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_1SnfX_v1_0_ResourceInstanceName2_tca_2\"\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}','LOOP_1SnfX_v1_0_ResourceInstanceName2_tca_2',NULL,NULL);
+INSERT INTO `operational_policies` VALUES ('OPERATIONAL_Neavs_v1_0_ResourceInstanceName1_tca','','2020-01-23 09:42:15.434613','','2020-01-23 09:42:15.434613','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_Neavs_v1_0_ResourceInstanceName1_tca\"\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}',NULL,NULL,'LOOP_Neavs_v1_0_ResourceInstanceName1_tca',NULL,NULL);
+INSERT INTO `operational_policies` VALUES ('OPERATIONAL_Neavs_v1_0_ResourceInstanceName1_tca_3','','2020-01-23 09:42:15.308546','','2020-01-23 09:42:15.308546','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_Neavs_v1_0_ResourceInstanceName1_tca_3\"\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}',NULL,NULL,'LOOP_Neavs_v1_0_ResourceInstanceName1_tca_3',NULL,NULL);
+INSERT INTO `operational_policies` VALUES ('OPERATIONAL_Neavs_v1_0_ResourceInstanceName2_tca_2','','2020-01-23 09:42:15.187766','','2020-01-23 09:42:15.187766','{\n  \"operational_policy\": {\n    \"controlLoop\": {\n      \"controlLoopName\": \"LOOP_Neavs_v1_0_ResourceInstanceName2_tca_2\"\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}',NULL,NULL,'LOOP_Neavs_v1_0_ResourceInstanceName2_tca_2',NULL,NULL);
 /*!40000 ALTER TABLE `operational_policies` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -141,15 +159,6 @@ LOCK TABLES `services` WRITE;
 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}','1.0');
 /*!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 */;
@@ -159,4 +168,4 @@ UNLOCK TABLES;
 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
--- Dump completed on 2020-01-17 13:26:38
+-- Dump completed on 2020-01-23  8:43:45
index 38a6f93..ab8069f 100644 (file)
@@ -52,8 +52,6 @@ import org.onap.clamp.policy.operational.OperationalPolicy;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Component;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
 
 /**
  * This class will be instantiated by spring config, and used by Sdc Controller.
@@ -129,7 +127,6 @@ public class CsarInstaller {
      * @throws SdcArtifactInstallerException The SdcArtifactInstallerException
      * @throws InterruptedException          The InterruptedException
      */
-    @Transactional(propagation = Propagation.REQUIRES_NEW)
     public void installTheLoop(CsarHandler csar, Service service)
             throws SdcArtifactInstallerException, InterruptedException {
         try {
index 3837830..6b9a924 100644 (file)
@@ -127,8 +127,8 @@ public class Loop extends AuditEntity implements Serializable {
 
     @Expose
     @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"))
+    @JoinTable(name = "loops_to_microservicepolicies", joinColumns = @JoinColumn(name = "loop_name"),
+            inverseJoinColumns = @JoinColumn(name = "microservicepolicy_name"))
     private Set<MicroServicePolicy> microServicePolicies = new HashSet<>();
 
     @Expose
@@ -28,6 +28,8 @@ import com.google.gson.annotations.Expose;
 import java.io.Serializable;
 import java.util.HashSet;
 import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
 
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
@@ -35,11 +37,12 @@ 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.JoinTable;
+import javax.persistence.ManyToMany;
 import javax.persistence.OneToMany;
 import javax.persistence.Table;
 
+import org.hibernate.annotations.SortNatural;
 import org.onap.clamp.loop.common.AuditEntity;
 
 /**
@@ -47,9 +50,9 @@ import org.onap.clamp.loop.common.AuditEntity;
  */
 
 @Entity
-@Table(name = "micro_service_models")
-public class MicroServiceModel extends AuditEntity implements Serializable {
-
+@Table(name = "loop_element_models")
+public class LoopElementModel extends AuditEntity implements Serializable {
+    public static final String DEFAULT_GROUP_NAME = "DEFAULT";
     /**
      * The serial version id.
      */
@@ -61,41 +64,50 @@ public class MicroServiceModel extends AuditEntity implements Serializable {
     private String name;
 
     /**
-     * This variable is used to store the type mentioned in the micro-service
-     * blueprint.
+     * Here we store the blueprint coming from DCAE.
      */
-    @Expose
-    @Column(nullable = false, name = "policy_type")
-    private String policyType;
-
     @Column(nullable = false, name = "blueprint_yaml")
     private String blueprint;
 
+    /**
+     * The type of element
+     */
+    @Column(nullable = false, name = "loop_element_type")
+    private String loopElementType;
+
+    /**
+     * This variable is used to store the type mentioned in the micro-service
+     * 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;
+    @ManyToMany(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH })
+    @JoinTable(name = "loopelementmodels_to_policymodels",
+            joinColumns = @JoinColumn(name = "loop_element_name", referencedColumnName = "name"),
+            inverseJoinColumns = { @JoinColumn(name = "policy_model_type", referencedColumnName = "policy_model_type"),
+                @JoinColumn(name = "policy_model_version", referencedColumnName = "version") })
+    @SortNatural
+    private SortedSet<PolicyModel> policyModels = new TreeSet<>();
 
-    @OneToMany(fetch = FetchType.LAZY, mappedBy = "microServiceModel", orphanRemoval = true)
-    private Set<TemplateMicroServiceModel> usedByLoopTemplates = new HashSet<>();
+    @OneToMany(fetch = FetchType.LAZY, mappedBy = "loopElementModel", orphanRemoval = true)
+    private Set<LoopTemplateLoopElementModel> usedByLoopTemplates = new HashSet<>();
 
     /**
-     * policyModel getter.
+     * policyModels getter.
      * 
      * @return the policyModel
      */
-    public PolicyModel getPolicyModel() {
-        return policyModel;
+    public SortedSet<PolicyModel> getPolicyModels() {
+        return policyModels;
     }
 
     /**
-     * policyModel setter.
+     * Method to add a new policyModel to the list.
      * 
-     * @param policyModel the policyModel to set
+     * @param policyModel
      */
-    public void setPolicyModel(PolicyModel policyModel) {
-        this.policyModel = policyModel;
+    public void addPolicyModel(PolicyModel policyModel) {
+        policyModels.add(policyModel);
+        policyModel.getUsedByElementModels().add(this);
     }
 
     /**
@@ -116,24 +128,6 @@ public class MicroServiceModel extends AuditEntity implements Serializable {
         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.
      * 
@@ -152,36 +146,47 @@ public class MicroServiceModel extends AuditEntity implements Serializable {
         this.blueprint = blueprint;
     }
 
+    /**
+     * @return the loopElementType
+     */
+    public String getLoopElementType() {
+        return loopElementType;
+    }
+
+    /**
+     * @param loopElementType the loopElementType to set
+     */
+    public void setLoopElementType(String loopElementType) {
+        this.loopElementType = loopElementType;
+    }
+
     /**
      * usedByLoopTemplates getter.
      * 
      * @return the usedByLoopTemplates
      */
-    public Set<TemplateMicroServiceModel> getUsedByLoopTemplates() {
+    public Set<LoopTemplateLoopElementModel> getUsedByLoopTemplates() {
         return usedByLoopTemplates;
     }
 
     /**
      * Default constructor for serialization.
      */
-    public MicroServiceModel() {
+    public LoopElementModel() {
     }
 
     /**
      * 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
+     * @param name            The name id
+     * @param loopElementType The type of loop element
+     * @param blueprint       The blueprint defined for dcae that contains the
+     *                        policy type to use
      */
-    public MicroServiceModel(String name, String policyType, String blueprint, PolicyModel policyModel) {
+    public LoopElementModel(String name, String loopElementType, String blueprint) {
         this.name = name;
-        this.policyType = policyType;
+        this.loopElementType = loopElementType;
         this.blueprint = blueprint;
-        this.policyModel = policyModel;
     }
 
     @Override
@@ -203,7 +208,7 @@ public class MicroServiceModel extends AuditEntity implements Serializable {
         if (getClass() != obj.getClass()) {
             return false;
         }
-        MicroServiceModel other = (MicroServiceModel) obj;
+        LoopElementModel other = (LoopElementModel) obj;
         if (name == null) {
             if (other.name != null) {
                 return false;
@@ -27,5 +27,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Repository;
 
 @Repository
-public interface MicroServiceModelsRepository extends JpaRepository<MicroServiceModel, String> {
+public interface LoopElementModelsRepository extends JpaRepository<LoopElementModel, String> {
 }
index 10367e7..20574ff 100644 (file)
@@ -72,7 +72,7 @@ public class LoopTemplate extends AuditEntity implements Serializable {
     @Expose
     @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "loopTemplate", orphanRemoval = true)
     @SortNatural
-    private SortedSet<TemplateMicroServiceModel> microServiceModelUsed = new TreeSet<>();
+    private SortedSet<LoopTemplateLoopElementModel> loopElementModelsUsed = new TreeSet<>();
 
     @Expose
     @ManyToOne(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH })
@@ -138,12 +138,12 @@ public class LoopTemplate extends AuditEntity implements Serializable {
     }
 
     /**
-     * microServiceModelUsed getter.
+     * loopElementModelsUsed getter.
      * 
-     * @return the microServiceModelUsed
+     * @return the loopElementModelsUsed
      */
-    public SortedSet<TemplateMicroServiceModel> getMicroServiceModelUsed() {
-        return microServiceModelUsed;
+    public SortedSet<LoopTemplateLoopElementModel> getLoopElementModelsUsed() {
+        return loopElementModelsUsed;
     }
 
     /**
@@ -165,29 +165,30 @@ public class LoopTemplate extends AuditEntity implements Serializable {
     }
 
     /**
-     * Add a microService model to the current template, the microservice is added
-     * at the end of the list so the flowOrder is computed automatically.
+     * Add a loopElement to the current template, the loopElementModel is added at
+     * the end of the list so the flowOrder is computed automatically.
      * 
-     * @param microServiceModel The microserviceModel to add
+     * @param loopElementModel The loopElementModel to add
      */
-    public void addMicroServiceModel(MicroServiceModel microServiceModel) {
-        TemplateMicroServiceModel jointEntry = new TemplateMicroServiceModel(this, microServiceModel,
-                this.microServiceModelUsed.size());
-        this.microServiceModelUsed.add(jointEntry);
-        microServiceModel.getUsedByLoopTemplates().add(jointEntry);
+    public void addLoopElementModel(LoopElementModel loopElementModel) {
+        LoopTemplateLoopElementModel jointEntry = new LoopTemplateLoopElementModel(this, loopElementModel,
+                this.loopElementModelsUsed.size());
+        this.loopElementModelsUsed.add(jointEntry);
+        loopElementModel.getUsedByLoopTemplates().add(jointEntry);
     }
 
     /**
-     * Add a microService model to the current template, the flow order must be
+     * Add a loopElement 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
+     * @param loopElementModel The loopElementModel 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);
+    public void addLoopElementModel(LoopElementModel loopElementModel, Integer listPosition) {
+        LoopTemplateLoopElementModel jointEntry = new LoopTemplateLoopElementModel(this, loopElementModel,
+                listPosition);
+        this.loopElementModelsUsed.add(jointEntry);
+        loopElementModel.getUsedByLoopTemplates().add(jointEntry);
     }
 
     /**
@@ -38,8 +38,8 @@ import javax.persistence.MapsId;
 import javax.persistence.Table;
 
 @Entity
-@Table(name = "templates_microservicemodels")
-public class TemplateMicroServiceModel implements Serializable, Comparable<TemplateMicroServiceModel> {
+@Table(name = "looptemplates_to_loopelementmodels")
+public class LoopTemplateLoopElementModel implements Serializable, Comparable<LoopTemplateLoopElementModel> {
 
     /**
      * Serial ID.
@@ -47,7 +47,7 @@ public class TemplateMicroServiceModel implements Serializable, Comparable<Templ
     private static final long serialVersionUID = 5924989899078094245L;
 
     @EmbeddedId
-    private TemplateMicroServiceModelId templateMicroServiceModelId;
+    private LoopTemplateLoopElementModelId loopTemplateLoopElementModelId;
 
     @ManyToOne(fetch = FetchType.LAZY)
     @MapsId("loopTemplateName")
@@ -56,9 +56,9 @@ public class TemplateMicroServiceModel implements Serializable, Comparable<Templ
 
     @Expose
     @ManyToOne(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH })
-    @MapsId("microServiceModelName")
-    @JoinColumn(name = "micro_service_model_name")
-    private MicroServiceModel microServiceModel;
+    @MapsId("loopElementModelName")
+    @JoinColumn(name = "loop_element_model_name")
+    private LoopElementModel loopElementModel;
 
     @Expose
     @Column(nullable = false, name = "flow_order")
@@ -67,24 +67,24 @@ public class TemplateMicroServiceModel implements Serializable, Comparable<Templ
     /**
      * Default constructor for serialization.
      */
-    public TemplateMicroServiceModel() {
+    public LoopTemplateLoopElementModel() {
 
     }
 
     /**
      * Constructor.
      * 
-     * @param loopTemplate      The loop template object
-     * @param microServiceModel The microServiceModel object
-     * @param flowOrder         The position of the micro service in the flow
+     * @param loopTemplate     The loop template object
+     * @param loopElementModel The loopElementModel object
+     * @param flowOrder        The position of the micro service in the flow
      */
-    public TemplateMicroServiceModel(LoopTemplate loopTemplate, MicroServiceModel microServiceModel,
+    public LoopTemplateLoopElementModel(LoopTemplate loopTemplate, LoopElementModel loopElementModel,
             Integer flowOrder) {
         this.loopTemplate = loopTemplate;
-        this.microServiceModel = microServiceModel;
+        this.loopElementModel = loopElementModel;
         this.flowOrder = flowOrder;
-        this.templateMicroServiceModelId = new TemplateMicroServiceModelId(loopTemplate.getName(),
-                microServiceModel.getName());
+        this.loopTemplateLoopElementModelId = new LoopTemplateLoopElementModelId(loopTemplate.getName(),
+                loopElementModel.getName());
     }
 
     /**
@@ -106,21 +106,21 @@ public class TemplateMicroServiceModel implements Serializable, Comparable<Templ
     }
 
     /**
-     * microServiceModel getter.
+     * loopElementModel getter.
      * 
-     * @return the microServiceModel
+     * @return the loopElementModel
      */
-    public MicroServiceModel getMicroServiceModel() {
-        return microServiceModel;
+    public LoopElementModel getLoopElementModel() {
+        return loopElementModel;
     }
 
     /**
-     * microServiceModel setter.
+     * loopElementModel setter.
      * 
-     * @param microServiceModel the microServiceModel to set
+     * @param loopElementModel the loopElementModel to set
      */
-    public void setMicroServiceModel(MicroServiceModel microServiceModel) {
-        this.microServiceModel = microServiceModel;
+    public void setLoopElementModel(LoopElementModel loopElementModel) {
+        this.loopElementModel = loopElementModel;
     }
 
     /**
@@ -142,7 +142,7 @@ public class TemplateMicroServiceModel implements Serializable, Comparable<Templ
     }
 
     @Override
-    public int compareTo(TemplateMicroServiceModel arg0) {
+    public int compareTo(LoopTemplateLoopElementModel arg0) {
         // Reverse it, so that by default we have the latest
         if (getFlowOrder() == null) {
             return 1;
@@ -158,7 +158,7 @@ public class TemplateMicroServiceModel implements Serializable, Comparable<Templ
         final int prime = 31;
         int result = 1;
         result = prime * result + ((loopTemplate == null) ? 0 : loopTemplate.hashCode());
-        result = prime * result + ((microServiceModel == null) ? 0 : microServiceModel.hashCode());
+        result = prime * result + ((loopElementModel == null) ? 0 : loopElementModel.hashCode());
         return result;
     }
 
@@ -173,7 +173,7 @@ public class TemplateMicroServiceModel implements Serializable, Comparable<Templ
         if (getClass() != obj.getClass()) {
             return false;
         }
-        TemplateMicroServiceModel other = (TemplateMicroServiceModel) obj;
+        LoopTemplateLoopElementModel other = (LoopTemplateLoopElementModel) obj;
         if (loopTemplate == null) {
             if (other.loopTemplate != null) {
                 return false;
@@ -181,11 +181,11 @@ public class TemplateMicroServiceModel implements Serializable, Comparable<Templ
         } else if (!loopTemplate.equals(other.loopTemplate)) {
             return false;
         }
-        if (microServiceModel == null) {
-            if (other.microServiceModel != null) {
+        if (loopElementModel == null) {
+            if (other.loopElementModel != null) {
                 return false;
             }
-        } else if (!microServiceModel.equals(other.microServiceModel)) {
+        } else if (!loopElementModel.equals(other.loopElementModel)) {
             return false;
         }
         return true;
@@ -31,7 +31,7 @@ import javax.persistence.Column;
 import javax.persistence.Embeddable;
 
 @Embeddable
-public class TemplateMicroServiceModelId implements Serializable {
+public class LoopTemplateLoopElementModelId implements Serializable {
 
     /**
      * Serial ID.
@@ -43,13 +43,13 @@ public class TemplateMicroServiceModelId implements Serializable {
     private String loopTemplateName;
 
     @Expose
-    @Column(name = "micro_service_model_name")
-    private String microServiceModelName;
+    @Column(name = "loop_element_model_name")
+    private String loopElementModelName;
 
     /**
      * Default constructor for serialization.
      */
-    public TemplateMicroServiceModelId() {
+    public LoopTemplateLoopElementModelId() {
 
     }
 
@@ -59,9 +59,9 @@ public class TemplateMicroServiceModelId implements Serializable {
      * @param loopTemplateName      The loop template name id
      * @param microServiceModelName THe micro Service name id
      */
-    public TemplateMicroServiceModelId(String loopTemplateName, String microServiceModelName) {
+    public LoopTemplateLoopElementModelId(String loopTemplateName, String microServiceModelName) {
         this.loopTemplateName = loopTemplateName;
-        this.microServiceModelName = microServiceModelName;
+        this.loopElementModelName = microServiceModelName;
     }
 
     /**
@@ -87,16 +87,16 @@ public class TemplateMicroServiceModelId implements Serializable {
      * 
      * @return the microServiceModelName
      */
-    public String getMicroServiceModelName() {
-        return microServiceModelName;
+    public String getLoopElementModelName() {
+        return loopElementModelName;
     }
 
     /**
-     * microServiceModelName setter.
+     * loopElementModelName setter.
      * 
-     * @param microServiceModelName the microServiceModelName to set
+     * @param loopElementModelName the loopElementModelName to set
      */
-    public void setMicroServiceModelName(String microServiceModelName) {
-        this.microServiceModelName = microServiceModelName;
+    public void setLoopElementModelName(String loopElementModelName) {
+        this.loopElementModelName = loopElementModelName;
     }
 }
index e6580be..00d58a8 100644 (file)
@@ -26,11 +26,15 @@ 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.Column;
 import javax.persistence.Entity;
+import javax.persistence.FetchType;
 import javax.persistence.Id;
 import javax.persistence.IdClass;
+import javax.persistence.ManyToMany;
 import javax.persistence.Table;
 
 import org.onap.clamp.loop.common.AuditEntity;
@@ -74,9 +78,15 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable
     @Column(name = "policy_acronym")
     private String policyAcronym;
 
-    @Expose
-    @Column(name = "policy_variant")
-    private String policyVariant;
+    @ManyToMany(mappedBy = "policyModels", fetch = FetchType.EAGER)
+    private Set<LoopElementModel> usedByElementModels = new HashSet<>();
+
+    /**
+     * @return the usedByElementModels
+     */
+    public Set<LoopElementModel> getUsedByElementModels() {
+        return usedByElementModels;
+    }
 
     /**
      * policyModelTosca getter.
@@ -151,24 +161,6 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable
         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.
      */
@@ -181,16 +173,13 @@ public class PolicyModel extends AuditEntity implements Serializable, Comparable
      * @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) {
+    public PolicyModel(String policyType, String policyModelTosca, String version, String policyAcronym) {
         this.policyModelType = policyType;
         this.policyModelTosca = policyModelTosca;
         this.version = version;
         this.policyAcronym = policyAcronym;
-        this.policyVariant = policyVariant;
     }
 
     @Override
index fc097bd..c656820 100644 (file)
 package org.onap.clamp.policy;
 
 import com.google.gson.JsonObject;
+import com.google.gson.annotations.Expose;
 
 import java.io.UnsupportedEncodingException;
 
-public interface Policy {
+import javax.persistence.Column;
+import javax.persistence.FetchType;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.MappedSuperclass;
 
-    String getName();
+import org.hibernate.annotations.Type;
+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.template.LoopElementModel;
 
-    JsonObject getJsonRepresentation();
+@MappedSuperclass
+@TypeDefs({ @TypeDef(name = "json", typeClass = StringJsonUserType.class) })
+public abstract class Policy extends AuditEntity {
 
-    String createPolicyPayload() throws UnsupportedEncodingException;
+    @Expose
+    @Type(type = "json")
+    @Column(columnDefinition = "json", name = "json_representation", nullable = false)
+    private JsonObject jsonRepresentation;
+
+    @Expose
+    @Type(type = "json")
+    @Column(columnDefinition = "json", name = "configurations_json")
+    private JsonObject configurationsJson;
+
+    @Expose
+    @ManyToOne(fetch = FetchType.EAGER)
+    @JoinColumn(name = "loop_element_model_id")
+    private LoopElementModel loopElementModel;
+
+    @Expose
+    @Column(name = "pdp_group")
+    private String pdpGroup;
+
+    public abstract String createPolicyPayload() throws UnsupportedEncodingException;
+
+    /**
+     * Name getter.
+     * 
+     * @return the name
+     */
+    public abstract String getName();
+
+    /**
+     * Name setter.
+     * 
+     */
+    public abstract void setName(String name);
+
+    /**
+     * jsonRepresentation getter.
+     * 
+     * @return the jsonRepresentation
+     */
+    public JsonObject getJsonRepresentation() {
+        return jsonRepresentation;
+    }
+
+    /**
+     * jsonRepresentation setter.
+     * 
+     * @param jsonRepresentation The jsonRepresentation to set
+     */
+    public void setJsonRepresentation(JsonObject jsonRepresentation) {
+        this.jsonRepresentation = jsonRepresentation;
+    }
+
+    /**
+     * configurationsJson getter.
+     * 
+     * @return The configurationsJson
+     */
+    public JsonObject getConfigurationsJson() {
+        return configurationsJson;
+    }
+
+    /**
+     * configurationsJson setter.
+     * 
+     * @param configurationsJson the configurationsJson to set
+     */
+    public void setConfigurationsJson(JsonObject configurationsJson) {
+        this.configurationsJson = configurationsJson;
+    }
+
+    /**
+     * loopElementModel getter.
+     * 
+     * @return the loopElementModel
+     */
+    public LoopElementModel getLoopElementModel() {
+        return loopElementModel;
+    }
+
+    /**
+     * loopElementModel setter.
+     * 
+     * @param loopElementModel the loopElementModel to set
+     */
+    public void setLoopElementModel(LoopElementModel loopElementModel) {
+        this.loopElementModel = loopElementModel;
+    }
+
+    /**
+     * pdpGroup getter.
+     * 
+     * @return the pdpGroup
+     */
+    public String getPdpGroup() {
+        return pdpGroup;
+    }
+
+    /**
+     * pdpGroup setter.
+     * 
+     * @param pdpGroup the pdpGroup to set
+     */
+    public void setPdpGroup(String pdpGroup) {
+        this.pdpGroup = pdpGroup;
+    }
 
     /**
      * Generate the policy name.
      *
-     * @param policyType
-     *        The policy type
-     * @param serviceName
-     *        The service name
-     * @param serviceVersion
-     *        The service version
-     * @param resourceName
-     *        The resource name
-     * @param blueprintFilename
-     *        The blueprint file name
+     * @param policyType        The policy type
+     * @param serviceName       The service name
+     * @param serviceVersion    The service version
+     * @param resourceName      The resource name
+     * @param blueprintFilename The blueprint file name
      * @return The generated policy name
      */
-    static String generatePolicyName(String policyType, String serviceName, String serviceVersion, String resourceName,
-        String blueprintFilename) {
+    public static String generatePolicyName(String policyType, String serviceName, String serviceVersion,
+            String resourceName, String blueprintFilename) {
         StringBuilder buffer = new StringBuilder(policyType).append("_").append(serviceName).append("_v")
-            .append(serviceVersion).append("_").append(resourceName).append("_")
-            .append(blueprintFilename.replaceAll(".yaml", ""));
+                .append(serviceVersion).append("_").append(resourceName).append("_")
+                .append(blueprintFilename.replaceAll(".yaml", ""));
         return buffer.toString().replace('.', '_').replaceAll(" ", "");
     }
 
index 3e4dd8f..445c1d5 100644 (file)
@@ -40,13 +40,10 @@ import javax.persistence.Column;
 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;
 
-import org.hibernate.annotations.Type;
 import org.hibernate.annotations.TypeDef;
 import org.hibernate.annotations.TypeDefs;
 import org.json.JSONObject;
@@ -54,15 +51,13 @@ import org.onap.clamp.clds.tosca.ToscaYamlToJsonConvertor;
 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 extends AuditEntity implements Serializable, Policy {
+public class MicroServicePolicy extends Policy implements Serializable {
     /**
      * The serial version ID.
      */
@@ -88,11 +83,6 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
     @Column(name = "device_type_scope")
     private String deviceTypeScope;
 
-    @Expose
-    @Type(type = "json")
-    @Column(columnDefinition = "json", name = "properties")
-    private JsonObject properties;
-
     @Expose
     @Column(name = "shared", nullable = false)
     private Boolean shared;
@@ -100,19 +90,9 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
     @Column(columnDefinition = "MEDIUMTEXT", name = "policy_tosca", nullable = false)
     private String policyTosca;
 
-    @Expose
-    @Type(type = "json")
-    @Column(columnDefinition = "json", name = "json_representation", nullable = false)
-    private JsonObject jsonRepresentation;
-
     @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;
-
     @Expose
     @Column(name = "dcae_deployment_id")
     private String dcaeDeploymentId;
@@ -141,8 +121,8 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
         this.modelType = modelType;
         this.policyTosca = policyTosca;
         this.shared = shared;
-        this.jsonRepresentation = JsonUtils.GSON_JPA_MODEL
-                .fromJson(new ToscaYamlToJsonConvertor().parseToscaYaml(policyTosca, modelType), JsonObject.class);
+        this.setJsonRepresentation(JsonUtils.GSON_JPA_MODEL
+                .fromJson(new ToscaYamlToJsonConvertor().parseToscaYaml(policyTosca, modelType), JsonObject.class));
         this.usedByLoops = usedByLoops;
     }
 
@@ -171,7 +151,7 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
         this.policyTosca = policyTosca;
         this.shared = shared;
         this.usedByLoops = usedByLoops;
-        this.jsonRepresentation = jsonRepresentation;
+        this.setJsonRepresentation(jsonRepresentation);
     }
 
     @Override
@@ -179,6 +159,16 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
         return name;
     }
 
+    /**
+     * name setter.
+     * 
+     * @param name the name to set
+     */
+    @Override
+    public void setName(String name) {
+        this.name = name;
+    }
+
     public String getModelType() {
         return modelType;
     }
@@ -187,14 +177,6 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
         this.modelType = modelType;
     }
 
-    public JsonObject getProperties() {
-        return properties;
-    }
-
-    public void setProperties(JsonObject properties) {
-        this.properties = properties;
-    }
-
     public Boolean getShared() {
         return shared;
     }
@@ -211,15 +193,6 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
         this.policyTosca = policyTosca;
     }
 
-    @Override
-    public JsonObject getJsonRepresentation() {
-        return jsonRepresentation;
-    }
-
-    void setJsonRepresentation(JsonObject jsonRepresentation) {
-        this.jsonRepresentation = jsonRepresentation;
-    }
-
     public Set<Loop> getUsedByLoops() {
         return usedByLoops;
     }
@@ -245,24 +218,8 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
     }
 
     /**
-     * microServiceModel getter.
-     * 
-     * @return the microServiceModel
-     */
-    public MicroServiceModel getMicroServiceModel() {
-        return microServiceModel;
-    }
-
-    /**
-     * microServiceModel setter.
+     * dcaeDeploymentId getter.
      * 
-     * @param microServiceModel the microServiceModel to set
-     */
-    public void setMicroServiceModel(MicroServiceModel microServiceModel) {
-        this.microServiceModel = microServiceModel;
-    }
-
-    /**
      * @return the dcaeDeploymentId
      */
     public String getDcaeDeploymentId() {
@@ -270,6 +227,8 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
     }
 
     /**
+     * dcaeDeploymentId setter.
+     * 
      * @param dcaeDeploymentId the dcaeDeploymentId to set
      */
     public void setDcaeDeploymentId(String dcaeDeploymentId) {
@@ -277,6 +236,8 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
     }
 
     /**
+     * dcaeDeploymentStatusUrl getter.
+     * 
      * @return the dcaeDeploymentStatusUrl
      */
     public String getDcaeDeploymentStatusUrl() {
@@ -284,21 +245,14 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
     }
 
     /**
+     * dcaeDeploymentStatusUrl setter.
+     * 
      * @param dcaeDeploymentStatusUrl the dcaeDeploymentStatusUrl to set
      */
     public void setDcaeDeploymentStatusUrl(String dcaeDeploymentStatusUrl) {
         this.dcaeDeploymentStatusUrl = dcaeDeploymentStatusUrl;
     }
 
-    /**
-     * name setter.
-     * 
-     * @param name the name to set
-     */
-    public void setName(String name) {
-        this.name = name;
-    }
-
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -362,7 +316,7 @@ public class MicroServicePolicy extends AuditEntity implements Serializable, Pol
 
         JsonObject policyProperties = new JsonObject();
         policyDetails.add("properties", policyProperties);
-        policyProperties.add(this.getMicroServicePropertyNameFromTosca(toscaJson), this.getProperties());
+        policyProperties.add(this.getMicroServicePropertyNameFromTosca(toscaJson), this.getConfigurationsJson());
         String policyPayload = new GsonBuilder().setPrettyPrinting().create().toJson(policyPayloadResult);
         logger.info("Micro service policy payload: " + policyPayload);
         return policyPayload;
index 346cdf6..c431767 100644 (file)
@@ -73,7 +73,7 @@ public class MicroServicePolicyService implements PolicyService<MicroServicePoli
 
     private MicroServicePolicy updateMicroservicePolicyProperties(MicroServicePolicy oldPolicy,
         MicroServicePolicy newPolicy, Loop loop) {
-        oldPolicy.setProperties(newPolicy.getProperties());
+        oldPolicy.setConfigurationsJson(newPolicy.getConfigurationsJson());
         if (!oldPolicy.getUsedByLoops().contains(loop)) {
             oldPolicy.getUsedByLoops().add(loop);
         }
index d9e8a57..a1c8cdb 100644 (file)
@@ -51,7 +51,6 @@ import javax.persistence.ManyToOne;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
-import org.hibernate.annotations.Type;
 import org.hibernate.annotations.TypeDef;
 import org.hibernate.annotations.TypeDefs;
 import org.onap.clamp.dao.model.jsontype.StringJsonUserType;
@@ -64,7 +63,7 @@ import org.yaml.snakeyaml.Yaml;
 @Entity
 @Table(name = "operational_policies")
 @TypeDefs({ @TypeDef(name = "json", typeClass = StringJsonUserType.class) })
-public class OperationalPolicy implements Serializable, Policy {
+public class OperationalPolicy extends Policy implements Serializable {
     /**
      * The serial version ID.
      */
@@ -78,16 +77,6 @@ public class OperationalPolicy implements Serializable, Policy {
     @Column(nullable = false, name = "name", unique = true)
     private String name;
 
-    @Expose
-    @Type(type = "json")
-    @Column(columnDefinition = "json", name = "configurations_json")
-    private JsonObject configurationsJson;
-
-    @Expose
-    @Type(type = "json")
-    @Column(columnDefinition = "json", name = "json_representation", nullable = false)
-    private JsonObject jsonRepresentation;
-
     @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumn(name = "loop_id", nullable = false)
     private Loop loop;
@@ -113,22 +102,17 @@ public class OperationalPolicy implements Serializable, Policy {
     public OperationalPolicy(String name, Loop loop, JsonObject configurationsJson) {
         this.name = name;
         this.loop = loop;
-        this.configurationsJson = configurationsJson;
-        LegacyOperationalPolicy.preloadConfiguration(this.configurationsJson, loop);
+        this.setConfigurationsJson(configurationsJson);
+        LegacyOperationalPolicy.preloadConfiguration(configurationsJson, loop);
         try {
-            this.jsonRepresentation = OperationalPolicyRepresentationBuilder
-                    .generateOperationalPolicySchema(loop.getModelService());
+            this.setJsonRepresentation(
+                    OperationalPolicyRepresentationBuilder.generateOperationalPolicySchema(loop.getModelService()));
         } catch (JsonSyntaxException | IOException | NullPointerException e) {
             logger.error("Unable to generate the operational policy Schema ... ", e);
-            this.jsonRepresentation = new JsonObject();
+            this.setJsonRepresentation(new JsonObject());
         }
     }
 
-    @Override
-    public String getName() {
-        return name;
-    }
-
     public void setLoop(Loop loopName) {
         this.loop = loopName;
     }
@@ -137,12 +121,19 @@ public class OperationalPolicy implements Serializable, Policy {
         return loop;
     }
 
-    public JsonObject getConfigurationsJson() {
-        return configurationsJson;
+    @Override
+    public String getName() {
+        return name;
     }
 
-    public void setConfigurationsJson(JsonObject configurationsJson) {
-        this.configurationsJson = configurationsJson;
+    /**
+     * name setter.
+     * 
+     * @param name the name to set
+     */
+    @Override
+    public void setName(String name) {
+        this.name = name;
     }
 
     /**
@@ -163,24 +154,6 @@ public class OperationalPolicy implements Serializable, Policy {
         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;
-    }
-
-    void setJsonRepresentation(JsonObject jsonRepresentation) {
-        this.jsonRepresentation = jsonRepresentation;
-    }
-
     @Override
     public int hashCode() {
         final int prime = 31;
@@ -240,7 +213,7 @@ public class OperationalPolicy implements Serializable, Policy {
         metadata.addProperty("policy-id", this.name);
 
         operationalPolicyDetails.add("properties", LegacyOperationalPolicy
-                .reworkPayloadAttributes(this.configurationsJson.get("operational_policy").deepCopy()));
+                .reworkPayloadAttributes(this.getConfigurationsJson().get("operational_policy").deepCopy()));
 
         DumperOptions options = new DumperOptions();
         options.setIndent(2);
@@ -256,8 +229,11 @@ public class OperationalPolicy implements Serializable, Policy {
         // Now using the legacy payload fo Dublin
         JsonObject payload = new JsonObject();
         payload.addProperty("policy-id", this.getName());
-        payload.addProperty("content", URLEncoder.encode(LegacyOperationalPolicy.createPolicyPayloadYamlLegacy(
-                this.configurationsJson.get("operational_policy")), StandardCharsets.UTF_8.toString()));
+        payload.addProperty("content",
+                URLEncoder.encode(
+                        LegacyOperationalPolicy
+                                .createPolicyPayloadYamlLegacy(this.getConfigurationsJson().get("operational_policy")),
+                        StandardCharsets.UTF_8.toString()));
         String opPayload = new GsonBuilder().setPrettyPrinting().create().toJson(payload);
         logger.info("Operational policy payload: " + opPayload);
         return opPayload;
@@ -283,16 +259,16 @@ public class OperationalPolicy implements Serializable, Policy {
     }
 
     /**
-    * Regenerate the Operational Policy Json Representation.
-    *
-    */
+     * Regenerate the Operational Policy Json Representation.
+     *
+     */
     public void updateJsonRepresentation() {
         try {
-            this.jsonRepresentation = OperationalPolicyRepresentationBuilder
-                    .generateOperationalPolicySchema(loop.getModelService());
+            this.setJsonRepresentation(
+                    OperationalPolicyRepresentationBuilder.generateOperationalPolicySchema(loop.getModelService()));
         } catch (JsonSyntaxException | IOException | NullPointerException e) {
             logger.error("Unable to generate the operational policy Schema ... ", e);
-            this.jsonRepresentation = new JsonObject();
+            this.setJsonRepresentation(new JsonObject());
         }
     }
 }
index 7f5b690..2274fcf 100644 (file)
@@ -20,6 +20,7 @@
  * ===================================================================
  *
  */
+
 package org.onap.clamp.clds.tosca;
 
 import static org.assertj.core.api.Assertions.assertThat;
@@ -60,7 +61,7 @@ public class DictionaryRepositoriesTestItCase {
         element1.setSubDictionary("subDictionary1");
         element1.setType("type1");
         element1.setDescription("description1");
-        
+
         LinkedList<DictionaryElement> elementList1 = new LinkedList<DictionaryElement>();
         elementList1.add(element1);
         dictionaryTest1.setDictionaryElements(elementList1);
index 557fdce..9692151 100644 (file)
@@ -57,7 +57,7 @@ public class DcaeComponentTest {
         MicroServicePolicy microServicePolicy = new MicroServicePolicy("configPolicyTest", "",
             "tosca_definitions_version: tosca_simple_yaml_1_0_0", true,
             new Gson().fromJson("{\"configtype\":\"json\"}", JsonObject.class), new HashSet<>());
-        microServicePolicy.setProperties(new Gson().fromJson("{\"param1\":\"value1\"}", JsonObject.class));
+        microServicePolicy.setConfigurationsJson(new Gson().fromJson("{\"param1\":\"value1\"}", JsonObject.class));
 
         loopTest.addMicroServicePolicy(microServicePolicy);
         return loopTest;
index 44feaeb..e0c112c 100644 (file)
@@ -42,10 +42,10 @@ 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.LoopElementModel;
+import org.onap.clamp.loop.template.LoopElementModelsRepository;
 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;
@@ -80,7 +80,7 @@ public class LoopRepositoriesItCase {
     private LoopTemplatesRepository loopTemplateRepository;
 
     @Autowired
-    private MicroServiceModelsRepository microServiceModelsRepository;
+    private LoopElementModelsRepository microServiceModelsRepository;
 
     @Autowired
     private PolicyModelsRepository policyModelsRepository;
@@ -96,21 +96,22 @@ public class LoopRepositoriesItCase {
         return new OperationalPolicy(name, null, new Gson().fromJson(configJson, JsonObject.class));
     }
 
-    private MicroServiceModel getMicroServiceModel(String yaml, String name, String policyType, String createdBy,
+    private LoopElementModel getLoopElementModel(String yaml, String name, String policyType, String createdBy,
             PolicyModel policyModel) {
-        MicroServiceModel model = new MicroServiceModel(name, policyType, yaml, policyModel);
+        LoopElementModel model = new LoopElementModel(name, policyType, yaml);
+        model.addPolicyModel(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);
+        return new PolicyModel(policyType, policyModelTosca, version, policyAcronym);
     }
 
     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,
+        template.addLoopElementModel(getLoopElementModel("yaml", "microService1", "org.onap.policy.drools", createdBy,
                 getPolicyModel("org.onap.policy.drools", "yaml", "1.0.0", "Drools", "type1", createdBy)));
         return template;
     }
@@ -134,7 +135,7 @@ public class LoopRepositoriesItCase {
             String policyTosca, String jsonProperties, boolean shared) {
         MicroServicePolicy microService = new MicroServicePolicy(name, modelType, policyTosca, shared,
                 gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>());
-        microService.setProperties(new Gson().fromJson(jsonProperties, JsonObject.class));
+        microService.setConfigurationsJson(new Gson().fromJson(jsonProperties, JsonObject.class));
         return microService;
     }
 
@@ -182,13 +183,13 @@ public class LoopRepositoriesItCase {
         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()))
+                loopInDb.getLoopTemplate().getLoopElementModelsUsed().first().getLoopElementModel().getName()))
                         .isEqualTo(true);
         assertThat(policyModelsRepository.existsById(new PolicyModelId(
-                loopInDb.getLoopTemplate().getMicroServiceModelUsed().first().getMicroServiceModel().getPolicyModel()
-                        .getPolicyModelType(),
-                loopInDb.getLoopTemplate().getMicroServiceModelUsed().first().getMicroServiceModel().getPolicyModel()
-                        .getVersion()))).isEqualTo(true);
+                loopInDb.getLoopTemplate().getLoopElementModelsUsed().first().getLoopElementModel().getPolicyModels()
+                        .first().getPolicyModelType(),
+                loopInDb.getLoopTemplate().getLoopElementModelsUsed().first().getLoopElementModel().getPolicyModels()
+                        .first().getVersion()))).isEqualTo(true);
 
         // Now attempt to read from database
         Loop loopInDbRetrieved = loopRepository.findById(loopTest.getName()).get();
@@ -198,7 +199,16 @@ public class LoopRepositoriesItCase {
                 "createdBy", "updatedBy");
         assertThat((LoopLog) loopInDbRetrieved.getLoopLogs().toArray()[0]).isEqualToComparingFieldByField(loopLog);
         assertThat((OperationalPolicy) loopInDbRetrieved.getOperationalPolicies().toArray()[0])
-                .isEqualToComparingFieldByField(opPolicy);
+                .isEqualToIgnoringGivenFields(opPolicy, "createdDate", "updatedDate", "createdBy", "updatedBy");
+        assertThat(((OperationalPolicy) loopInDbRetrieved.getOperationalPolicies().toArray()[0]).getCreatedDate())
+                .isNotNull();
+        assertThat(((OperationalPolicy) loopInDbRetrieved.getOperationalPolicies().toArray()[0]).getUpdatedDate())
+                .isNotNull();
+        assertThat(((OperationalPolicy) loopInDbRetrieved.getOperationalPolicies().toArray()[0]).getCreatedBy())
+                .isNotNull();
+        assertThat(((OperationalPolicy) loopInDbRetrieved.getOperationalPolicies().toArray()[0]).getUpdatedBy())
+                .isNotNull();
+
         assertThat((MicroServicePolicy) loopInDbRetrieved.getMicroServicePolicies().toArray()[0])
                 .isEqualToIgnoringGivenFields(microServicePolicy, "createdDate", "updatedDate", "createdBy",
                         "updatedBy");
@@ -230,23 +240,14 @@ public class LoopRepositoriesItCase {
         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()))
+                loopInDb.getLoopTemplate().getLoopElementModelsUsed().first().getLoopElementModel().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);
+                loopInDb.getLoopTemplate().getLoopElementModelsUsed().first().getLoopElementModel().getPolicyModels()
+                        .first().getPolicyModelType(),
+                loopInDb.getLoopTemplate().getLoopElementModelsUsed().first().getLoopElementModel().getPolicyModels()
+                        .first().getVersion()))).isEqualTo(true);
 
     }
 }
index d19c8a8..338aaa3 100644 (file)
@@ -110,7 +110,9 @@ public class LoopServiceTestItCase {
         assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME);
         Set<OperationalPolicy> savedPolicies = actualLoop.getOperationalPolicies();
         assertThat(savedPolicies).hasSize(1);
-        assertThat(savedPolicies).usingElementComparatorIgnoringFields("loop").contains(operationalPolicy);
+        assertThat(savedPolicies)
+                .usingElementComparatorIgnoringFields("loop", "createdBy", "createdDate", "updatedBy", "updatedDate")
+                .contains(operationalPolicy);
         OperationalPolicy savedPolicy = savedPolicies.iterator().next();
         assertThat(savedPolicy.getLoop().getName()).isEqualTo(EXAMPLE_LOOP_NAME);
 
@@ -154,7 +156,8 @@ public class LoopServiceTestItCase {
                 JsonUtils.GSON.fromJson("{}", JsonObject.class), null);
 
         // when
-        firstMicroServicePolicy.setProperties(JsonUtils.GSON.fromJson("{\"name1\":\"value1\"}", JsonObject.class));
+        firstMicroServicePolicy
+                .setConfigurationsJson(JsonUtils.GSON.fromJson("{\"name1\":\"value1\"}", JsonObject.class));
         Loop actualLoop = loopService.updateAndSaveMicroservicePolicies(EXAMPLE_LOOP_NAME,
                 Lists.newArrayList(firstMicroServicePolicy, secondMicroServicePolicy));
 
@@ -229,7 +232,8 @@ public class LoopServiceTestItCase {
         assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME);
         Set<OperationalPolicy> savedPolicies = actualLoop.getOperationalPolicies();
         assertThat(savedPolicies).hasSize(2);
-        assertThat(savedPolicies).usingElementComparatorIgnoringFields("loop")
+        assertThat(savedPolicies)
+                .usingElementComparatorIgnoringFields("loop", "createdDate", "updatedDate", "createdBy", "updatedBy")
                 .containsExactlyInAnyOrder(firstOperationalPolicy, secondOperationalPolicy);
         Set<String> policiesLoops = Lists.newArrayList(savedPolicies).stream().map(OperationalPolicy::getLoop)
                 .map(Loop::getName).collect(Collectors.toSet());
@@ -258,7 +262,9 @@ public class LoopServiceTestItCase {
         assertThat(actualLoop.getName()).isEqualTo(EXAMPLE_LOOP_NAME);
         Set<OperationalPolicy> savedPolicies = actualLoop.getOperationalPolicies();
         assertThat(savedPolicies).hasSize(1);
-        assertThat(savedPolicies).usingElementComparatorIgnoringFields("loop").containsExactly(secondOperationalPolicy);
+        assertThat(savedPolicies)
+                .usingElementComparatorIgnoringFields("loop", "createdDate", "updatedDate", "createdBy", "updatedBy")
+                .containsExactly(secondOperationalPolicy);
         OperationalPolicy savedPolicy = savedPolicies.iterator().next();
         assertThat(savedPolicy.getLoop().getName()).isEqualTo(EXAMPLE_LOOP_NAME);
 
index 914c64e..af8f227 100644 (file)
@@ -44,8 +44,8 @@ import org.onap.clamp.loop.components.external.PolicyComponent;
 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.LoopElementModel;
 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;
@@ -74,27 +74,28 @@ public class LoopToJsonTest {
             String policyTosca, String jsonProperties, boolean shared) {
         MicroServicePolicy microService = new MicroServicePolicy(name, modelType, policyTosca, shared,
                 gson.fromJson(jsonRepresentation, JsonObject.class), new HashSet<>());
-        microService.setProperties(new Gson().fromJson(jsonProperties, JsonObject.class));
+        microService.setConfigurationsJson(new Gson().fromJson(jsonProperties, JsonObject.class));
         return microService;
     }
 
-    private MicroServiceModel getMicroServiceModel(String yaml, String name, PolicyModel policyModel) {
-        MicroServiceModel model = new MicroServiceModel();
+    private LoopElementModel getLoopElementModel(String yaml, String name, PolicyModel policyModel) {
+        LoopElementModel model = new LoopElementModel();
         model.setBlueprint(yaml);
         model.setName(name);
-        model.setPolicyModel(policyModel);
+        model.addPolicyModel(policyModel);
+        model.setLoopElementType("OPERATIONAL_POLICY");
         return model;
     }
 
     private PolicyModel getPolicyModel(String policyType, String policyModelTosca, String version, String policyAcronym,
             String policyVariant) {
-        return new PolicyModel(policyType, policyModelTosca, version, policyAcronym, policyVariant);
+        return new PolicyModel(policyType, policyModelTosca, version, policyAcronym);
     }
 
     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",
+        template.addLoopElementModel(getLoopElementModel("yaml", "microService1",
                 getPolicyModel("org.onap.policy.drools", "yaml", "1.0.0", "Drools", "type1")));
         return template;
     }
index b284dd7..39468a1 100644 (file)
@@ -66,7 +66,6 @@ public class PolicyModelServiceItCase {
         policyModel.setPolicyAcronym(policyAcronym);
         policyModel.setPolicyModelTosca(policyModelTosca);
         policyModel.setPolicyModelType(policyType);
-        policyModel.setPolicyVariant(policyVariant);
         policyModel.setUpdatedBy(createdBy);
         policyModel.setVersion(version);
         return policyModel;
@@ -92,7 +91,6 @@ public class PolicyModelServiceItCase {
         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());
index 68925a9..1556ac6 100644 (file)
@@ -39,7 +39,7 @@ public class MicroServicePayloadTest {
     public void testPayloadConstruction() throws IOException {
         MicroServicePolicy policy = new MicroServicePolicy("testPolicy", "onap.policies.monitoring.cdap.tca.hi.lo.app",
             ResourceFileUtil.getResourceAsString("tosca/tosca_example.yaml"), false, new HashSet<>());
-        policy.setProperties(JsonUtils.GSON.fromJson(
+        policy.setConfigurationsJson(JsonUtils.GSON.fromJson(
             ResourceFileUtil.getResourceAsString("tosca/micro-service-policy-properties.json"), JsonObject.class));
         JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/micro-service-policy-payload.json"),
             policy.createPolicyPayload(), false);