Create documentation for policy participant smoke tests 63/125363/3
authorwaynedunican <wayne.dunican@est.tech>
Fri, 22 Oct 2021 08:47:05 +0000 (09:47 +0100)
committerWayne Dunican <wayne.dunican@est.tech>
Tue, 26 Oct 2021 13:02:46 +0000 (14:02 +0100)
Issue-ID: POLICY-3730
Change-Id: I30b06d38aef5f0b4081878cea23f33411d2ff6f3
Signed-off-by: Wayne Dunican <wayne.dunican@est.tech>
docs/development/devtools/devtools.rst
docs/development/devtools/images/pol-part-controlloop-creation-ver.png [new file with mode: 0644]
docs/development/devtools/images/pol-part-controlloop-pmcontrol-deploy-ver.png [new file with mode: 0644]
docs/development/devtools/images/pol-part-controlloop-pmcontrol-nf.png [new file with mode: 0644]
docs/development/devtools/images/pol-part-controlloop-pmcontrol-undep-ver.png [new file with mode: 0644]
docs/development/devtools/images/pol-part-controlloop-pmcontrol-ver.png [new file with mode: 0644]
docs/development/devtools/images/pol-part-controlloop-sirisha-nf.png [new file with mode: 0644]
docs/development/devtools/images/pol-part-controlloop-sirisha-ver.png [new file with mode: 0644]
docs/development/devtools/policy-participant-smoke.rst [new file with mode: 0644]
docs/development/devtools/tosca/instantiation_pptnt_smoke.json [new file with mode: 0644]
docs/development/devtools/tosca/tosca_service_template_pptnt_smoke.yaml [new file with mode: 0644]

index e9a9a00..3445952 100644 (file)
@@ -278,6 +278,8 @@ familiar with the Policy Framework components and test any local changes.
 
    policy-gui-controlloop-smoke.rst
 
+   policy-participant-smoke.rst
+
    db-migrator-smoke.rst
 ..
    api-smoke.rst
diff --git a/docs/development/devtools/images/pol-part-controlloop-creation-ver.png b/docs/development/devtools/images/pol-part-controlloop-creation-ver.png
new file mode 100644 (file)
index 0000000..36fdfaf
Binary files /dev/null and b/docs/development/devtools/images/pol-part-controlloop-creation-ver.png differ
diff --git a/docs/development/devtools/images/pol-part-controlloop-pmcontrol-deploy-ver.png b/docs/development/devtools/images/pol-part-controlloop-pmcontrol-deploy-ver.png
new file mode 100644 (file)
index 0000000..10f3da7
Binary files /dev/null and b/docs/development/devtools/images/pol-part-controlloop-pmcontrol-deploy-ver.png differ
diff --git a/docs/development/devtools/images/pol-part-controlloop-pmcontrol-nf.png b/docs/development/devtools/images/pol-part-controlloop-pmcontrol-nf.png
new file mode 100644 (file)
index 0000000..1f10411
Binary files /dev/null and b/docs/development/devtools/images/pol-part-controlloop-pmcontrol-nf.png differ
diff --git a/docs/development/devtools/images/pol-part-controlloop-pmcontrol-undep-ver.png b/docs/development/devtools/images/pol-part-controlloop-pmcontrol-undep-ver.png
new file mode 100644 (file)
index 0000000..d023a83
Binary files /dev/null and b/docs/development/devtools/images/pol-part-controlloop-pmcontrol-undep-ver.png differ
diff --git a/docs/development/devtools/images/pol-part-controlloop-pmcontrol-ver.png b/docs/development/devtools/images/pol-part-controlloop-pmcontrol-ver.png
new file mode 100644 (file)
index 0000000..0be48b1
Binary files /dev/null and b/docs/development/devtools/images/pol-part-controlloop-pmcontrol-ver.png differ
diff --git a/docs/development/devtools/images/pol-part-controlloop-sirisha-nf.png b/docs/development/devtools/images/pol-part-controlloop-sirisha-nf.png
new file mode 100644 (file)
index 0000000..293c760
Binary files /dev/null and b/docs/development/devtools/images/pol-part-controlloop-sirisha-nf.png differ
diff --git a/docs/development/devtools/images/pol-part-controlloop-sirisha-ver.png b/docs/development/devtools/images/pol-part-controlloop-sirisha-ver.png
new file mode 100644 (file)
index 0000000..dfa4a9d
Binary files /dev/null and b/docs/development/devtools/images/pol-part-controlloop-sirisha-ver.png differ
diff --git a/docs/development/devtools/policy-participant-smoke.rst b/docs/development/devtools/policy-participant-smoke.rst
new file mode 100644 (file)
index 0000000..0aeb089
--- /dev/null
@@ -0,0 +1,335 @@
+.. This work is licensed under a
+.. Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+CLAMP Policy Participant Smoke Tests
+------------------------------------
+
+1. Introduction
+***************
+The Smoke testing of the policy participant is executed in a local CLAMP/Policy environment. The CLAMP-Controlloop interfaces interact with the Policy Framework to perform actions based on the state of the policy participant. The goal of the Smoke tests is the ensure that CLAMP Policy Participant and Policy Framework work together as expected.
+
+2. Setup Guide
+**************
+This section will show the developer how to set up their environment to start testing in GUI with some instruction on how to carry out the tests. There are a number of prerequisites. Note that this guide is written by a Linux user - although the majority of the steps show will be exactly the same in Windows or other systems.
+
+2.1 Prerequisites
+=================
+- Java 11
+- Maven 3
+- Git
+- Refer to this guide for basic environment setup `Setting up dev environment <https://wiki.onap.org/display/DW/Setting+Up+Your+Development+Environment>`_
+
+2.2 Assumptions
+===============
+- You are accessing the policy repositories through gerrit
+- You are using "git review".
+The following repositories are required for development in this project. These repositories should be present on your machine and you should run "mvn clean install" on all of them so that the packages are present in your .m2 repository.
+- policy/parent
+- policy/common
+- policy/models
+- policy/clamp
+- policy/docker
+- policy/gui
+- policy/api
+In this setup guide, we will be setting up all the components technically required for a working convenient dev environment.
+
+2.3 Setting up the components
+=============================
+2.3.1 MariaDB Setup
+^^^^^^^^^^^^^^^^^^^
+We will be using Docker to run our mariadb instance. It will have a total of two databases running in it.
+- controlloop: the runtime-controlloop db
+- policyadmin: the policy-api db
+The easiest way to do this is to perform a small alteration on an SQL script provided by the clamp backend in the file "runtime/extra/sql/bulkload/create-db.sql"
+.. code-block:: mysql
+    CREATE DATABASE `controlloop`;
+    USE `controlloop`;
+    DROP USER 'policy';
+    CREATE USER 'policy';
+    GRANT ALL on controlloop.* to 'policy' identified by 'P01icY' with GRANT OPTION;
+    CREATE DATABASE `policyadmin`;
+    USE `policyadmin`;
+    DROP USER 'policy_user';
+    CREATE USER 'policy_user';
+    GRANT ALL on controlloop.* to 'policy_user' identified by 'policy_user' with GRANT OPTION;
+    FLUSH PRIVILEGES;
+Once this has been done, we can run the bash script provided here: "runtime/extra/bin-for-dev/start-db.sh"
+.. code-block:: bash
+    ./start-db.sh
+This will setup the two databases needed. The database will be exposed locally on port 3306 and will be backed by an anonymous docker volume.
+
+2.3.2 DMAAP Simulator
+^^^^^^^^^^^^^^^^^^^^^
+For convenience, a dmaap simulator has been provided in the policy/models repository. To start the simulator, you can do the following:
+1. Navigate to /models-sim/policy-models-simulators in the policy/models repository.
+2. Add a configuration file to src/test/resources with the following contents:
+.. code-block:: json
+    {
+       "dmaapProvider":{
+          "name":"DMaaP simulator",
+          "topicSweepSec":900
+       },
+       "restServers":[
+          {
+             "name":"DMaaP simulator",
+             "providerClass":"org.onap.policy.models.sim.dmaap.rest.DmaapSimRestControllerV1",
+             "host":"localhost",
+             "port":3904,
+             "https":false
+          }
+       ]
+    }
+3. You can then start dmaap with:
+.. code-block:: bash
+    mvn exec:java  -Dexec.mainClass=org.onap.policy.models.simulators.Main -Dexec.args="src/test/resources/YOUR_CONF_FILE.json"
+At this stage the dmaap simulator should be running on your local machine on port 3904.
+
+2.3.3 Policy API
+^^^^^^^^^^^^^^^^
+In the policy-api repo, you should find the file "src/main/resources/etc/defaultConfig.json". This file must be altered slightly - as below with the restServerParameters and databaseProviderParameters shown. Note how the database parameters match-up with what you setup in Mariadb:
+.. code-block:: json
+    {
+        "restServerParameters": {
+            "host": "0.0.0.0",
+            "port": 6970,
+            "userName": "healthcheck",
+            "password": "zb!XztG34",
+            "prometheus": true,
+            "https": false,
+            "aaf": false
+        },
+        "databaseProviderParameters": {
+            "name": "PolicyProviderParameterGroup",
+            "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
+            "databaseDriver": "org.mariadb.jdbc.Driver",
+            "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin",
+            "databaseUser": "policy_user",
+            "databasePassword": "policy_user",
+            "persistenceUnit": "PolicyMariaDb"
+        },
+    }
+Next, navigate to the "/main" directory. You can then run the following command to start the policy api:
+.. code-block:: bash
+    mvn exec:java -Dexec.mainClass=org.onap.policy.api.main.startstop.Main -Dexec.args=" -c ../packages/policy-api-tarball/src/main/resources/etc/defaultConfig.json"
+
+2.3.4 Policy PAP
+^^^^^^^^^^^^^^^^
+In the policy-pap repo, you should find the file 'main/src/test/resources/parameters/PapConfigParameters.json'. This file may need to be altered slightly as below:
+.. code-block:: json
+    {
+        "name": "PapGroup",
+        "restServerParameters": {
+            "host": "0.0.0.0",
+            "port": 6968,
+            "userName": "healthcheck",
+            "password": "zb!XztG34",
+            "https": false
+        },
+        "pdpParameters": {
+            "heartBeatMs": 60000,
+            "updateParameters": {
+                "maxRetryCount": 1,
+                "maxWaitMs": 30000
+            },
+            "stateChangeParameters": {
+                "maxRetryCount": 1,
+                "maxWaitMs": 30000
+            }
+        },
+        "databaseProviderParameters": {
+            "name": "PolicyProviderParameterGroup",
+            "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
+            "databaseDriver": "org.mariadb.jdbc.Driver",
+            "databaseUrl": "jdbc:mariadb://localhost:3306/policyadmin",
+            "databaseUser": "policy_user",
+            "databasePassword": "policy_user",
+            "persistenceUnit": "PolicyMariaDb"
+        },
+        "topicParameterGroup": {
+            "topicSources" : [{
+                "topic" : "POLICY-PDP-PAP",
+                "servers" : [ "localhost:3904" ],
+                "topicCommInfrastructure" : "dmaap"
+            }],
+            "topicSinks" : [{
+                "topic" : "POLICY-PDP-PAP",
+                "servers" : [ "localhost:3904" ],
+                "topicCommInfrastructure" : "dmaap"
+            },{
+                "topic" : "POLICY-NOTIFICATION",
+                "servers" : [ "localhost:3904" ],
+                "topicCommInfrastructure" : "dmaap"
+            }]
+        },
+        "healthCheckRestClientParameters":[{
+            "clientName": "api",
+            "hostname": "policy-api",
+            "port": 6968,
+            "userName": "healthcheck",
+            "password": "zb!XztG34",
+            "useHttps": false,
+            "basePath": "policy/api/v1/healthcheck"
+        },
+        {
+            "clientName": "distribution",
+            "hostname": "policy-distribution",
+            "port": 6970,
+            "userName": "healthcheck",
+            "password": "zb!XztG34",
+            "useHttps": false,
+            "basePath": "healthcheck"
+        }]
+    }
+Next, navigate to the "/main" directory. You can then run the following command to start the policy pap
+.. code-block:: bash
+    mvn -q -e clean compile exec:java -Dexec.mainClass="org.onap.policy.pap.main.startstop.Main" -Dexec.args="-c /src/test/resources/parameters/PapConfigParameters.json"
+
+2.3.5 Controlloop Runtime
+^^^^^^^^^^^^^^^^^^^^^^^^^
+To start the controlloop runtime we need to go the "runtime-controlloop" directory in the clamp repo. There is a config file that is used, by default, for the controlloop runtime. That config file is here: "src/main/resources/application.yaml". For development in your local environment, it shouldn't need any adjustment and we can just run the controlloop runtime with:
+.. code-block:: bash
+    mvn spring-boot:run
+
+2.3.6 Controlloop Policy Participant
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+To start the policy participant we need to go to the "participant-impl/participant-impl-policy" directory in the clamp repo. There is a config file under "src/main/resources/config/application.yaml". For development in your local environment, we will need to adjust this file slightly:
+.. code-block:: yaml
+    server:
+        port: 8082
+
+    participant:
+      pdpGroup: defaultGroup
+      pdpType: apex
+      policyApiParameters:
+        clientName: api
+        hostname: localhost
+        port: 6970
+        userName: healthcheck
+        password: zb!XztG34
+        https: true
+        allowSelfSignedCerts: true
+      policyPapParameters:
+        clientName: pap
+        hostname: localhost
+        port: 6968
+        userName: healthcheck
+        password: zb!XztG34
+        https: true
+        allowSelfSignedCerts: true
+      intermediaryParameters:
+        reportingTimeIntervalMs: 120000
+        description: Participant Description
+        participantId:
+          name: org.onap.PM_Policy
+          version: 1.0.0
+        participantType:
+          name: org.onap.policy.controlloop.PolicyControlLoopParticipant
+          version: 2.3.1
+        clampControlLoopTopics:
+          topicSources:
+            -
+              topic: POLICY-CLRUNTIME-PARTICIPANT
+              servers:
+                - ${topicServer:localhost}
+              topicCommInfrastructure: dmaap
+              fetchTimeout: 15000
+          topicSinks:
+            -
+              topic: POLICY-CLRUNTIME-PARTICIPANT
+              servers:
+                - ${topicServer:localhost}
+              topicCommInfrastructure: dmaap
+Navigate to the participant-impl/particpant-impl-policy/main directory. We can then run the policy-participant with the following command:
+.. code-block:: bash
+    mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8082 --topicServer=localhost"
+
+3. Testing Procedure
+====================
+3.1 Testing Outline
+^^^^^^^^^^^^^^^^^^^
+To perform the Smoke testing of the policy-participant we will be verifying the behaviours of the participant when the control loop changes state. The scenarios are:
+- UNINITIALISED to PASSIVE: participant creates policies and policyTypes specified in the ToscaServiceTemplate using policy-api
+- PASSIVE to RUNNING: participant deploys created policies specified in the ToscaServiceTemplate
+- RUNNING to PASSIVE: participant undeploys policies which have been deployed
+- PASSIVE to UNINITIALISED: participant deletes policies and policyTypes which has been created
+
+3.2 Testing Steps
+^^^^^^^^^^^^^^^^^
+
+Creation of Controlloop:
+************************
+A Control Loop is created by commissioning a Tosca template with Control loop definitions and instantiating the Control Loop with the state "UNINITIALISED".
+Using postman, commision a TOSCA template and instantiate using the following template:
+:download:'Tosca Service Template <tosca/tosca_service_template_pptnt_smoke.yaml>'
+:download:'Instantiate Controlloop <tosca/instantiation_pptnt_smoke.json>'
+To verify this, we check that the Controlloop has been created and is in state UNINITIALISED.
+    .. image:: images/pol-part-controlloop-creation-ver.png
+
+Creation of policies and policyTypes:
+*************************************
+The Controlloop STATE is changed from UNINITIALISED to PASSIVE using postman:
+.. code-block::json
+    {
+        "orderedState": "PASSIVE",
+        "controlLoopIdentifierList": [
+            {
+                "name": "PMSHInstance0",
+                "version": "1.0.1"
+            }
+        ]
+    }
+This state change will trigger the creation of policies and policyTypes using the policy-api. To verify this we will check, using policy-api endpoints, that the "Sirisha" policyType, which is specified in the service template, has been created.
+    .. image:: images/pol-part-controlloop-sirisha-ver.png
+We can also check that the pm-control policy has been created.
+    .. image:: images/pol-part-controlloop-pmcontrol-ver.png
+
+Deployment of policies:
+***********************
+The Controlloop STATE is changed from PASSIVE to RUNNING using postman:
+.. code-block::json
+    {
+        "orderedState": "RUNNING",
+        "controlLoopIdentifierList": [
+            {
+                "name": "PMSHInstance0",
+                "version": "1.0.1"
+            }
+        ]
+    }
+This state change will trigger the deployment of the policies specified in the ToscaServiceTemplate. To verify this, we will check that the apex pmcontrol policy has been deployed to the defaultGroup. We check this using pap:
+    .. image:: images/pol-part-controlloop-pmcontrol-deploy-ver.png
+
+Undeployment of policies:
+*************************
+
+The Controlloop STATE is changed from RUNNING to PASSIVE using postman:
+.. code-block::json
+    {
+        "orderedState": "PASSIVE",
+        "controlLoopIdentifierList": [
+            {
+                "name": "PMSHInstance0",
+                "version": "1.0.1"
+            }
+        ]
+    }
+This state change will trigger the undeployment of the pmcontrol policy which was deployed previously. To verifiy this we do a PdpGroup Query as before and check that the pmcontrol policy has been undeployed and removed from the defaultGroup:
+    .. image:: images/pol-part-controlloop-pmcontrol-undep-ver.png
+
+Deletion of policies and policyTypes:
+*************************************
+The Controlloop STATE is changed from PASSIVE to UNINITIALISED using postman:
+.. code-block::json
+    {
+        "orderedState": "UNINITIALISED",
+        "controlLoopIdentifierList": [
+            {
+                "name": "PMSHInstance0",
+                "version": "1.0.1"
+            }
+        ]
+    }
+This state change will trigger the deletion of the previously created policies and policyTypes. To verify this, as before, we can check that the Sirisha policyType is not found this time and likewise for the pmcontrol policy:
+    .. image:: images/pol-part-controlloop-sirisha-nf.png
+    .. image:: images/pol-part-controlloop-pmcontrol-nf.png
diff --git a/docs/development/devtools/tosca/instantiation_pptnt_smoke.json b/docs/development/devtools/tosca/instantiation_pptnt_smoke.json
new file mode 100644 (file)
index 0000000..3aa5381
--- /dev/null
@@ -0,0 +1,851 @@
+{
+    "controlLoopList": [
+        {
+            "name": "PMSHInstance0",
+            "version": "1.0.1",
+            "definition": {
+                "name": "org.onap.domain.pmsh.PMSHControlLoopDefinition",
+                "version": "1.2.3"
+            },
+            "state": "UNINITIALISED",
+            "orderedState": "UNINITIALISED",
+            "description": "PMSH control loop instance 0",
+            "elements": {
+                "709c62b3-8918-41b9-a747-d21eb79c6c21": {
+                    "id": "709c62b3-8918-41b9-a747-d21eb79c6c21",
+                    "definition": {
+                        "name": "org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement",
+                        "version": "1.2.3"
+                    },
+                   "participantType":{
+                        "name":"org.onap.policy.controlloop.PolicyControlLoopParticipant",
+                        "version":"2.3.1"
+                    },
+                   "participantId":{
+                        "name":"org.onap.PM_Policy",
+                        "version":"1.0.0"
+                    },
+                    "state":"UNINITIALISED",
+                    "orderedState":"UNINITIALISED",
+                    "toscaServiceTemplateFragment":{
+                      "data_types":{
+                         "onap.datatype.controlloop.Actor":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "payload":{
+                                  "name":"payload",
+                                  "type":"map",
+                                  "type_version":"0.0.0",
+                                  "description":"Name/value pairs of payload information passed by Policy to the actor",
+                                  "required":false,
+                                  "entry_schema":{
+                                     "type":"string",
+                                     "type_version":"0.0.0"
+                                  },
+                                  "metadata":{
+                                     "clamp_possible_values":"ClampExecution:CDS/payload"
+                                  }
+                               },
+                               "target":{
+                                  "name":"target",
+                                  "type":"onap.datatype.controlloop.Target",
+                                  "type_version":"0.0.0",
+                                  "description":"The resource the operation should be performed on.",
+                                  "required":true
+                               },
+                               "actor":{
+                                  "name":"actor",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"The actor performing the operation.",
+                                  "required":true,
+                                  "metadata":{
+                                     "clamp_possible_values":"Dictionary:DefaultActors,ClampExecution:CDS/actor"
+                                  }
+                               },
+                               "operation":{
+                                  "name":"operation",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"The operation the actor is performing.",
+                                  "required":true,
+                                  "metadata":{
+                                     "clamp_possible_values":"Dictionary:DefaultOperations,ClampExecution:CDS/operation"
+                                  }
+                               }
+                            },
+                            "name":"onap.datatype.controlloop.Actor",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            },
+                            "description":"An actor/operation/target definition"
+                         },
+                         "onap.datatype.controlloop.Operation":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "failure_retries":{
+                                  "name":"failure_retries",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Points to the operation to invoke when the current operation has exceeded its max retries.",
+                                  "default":"final_failure_retries",
+                                  "required":false
+                               },
+                               "id":{
+                                  "name":"id",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Unique identifier for the operation",
+                                  "required":true
+                               },
+                               "failure_timeout":{
+                                  "name":"failure_timeout",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Points to the operation to invoke when the time out for the operation occurs.",
+                                  "default":"final_failure_timeout",
+                                  "required":false
+                               },
+                               "failure":{
+                                  "name":"failure",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Points to the operation to invoke on Actor operation failure.",
+                                  "default":"final_failure",
+                                  "required":false
+                               },
+                               "operation":{
+                                  "name":"operation",
+                                  "type":"onap.datatype.controlloop.Actor",
+                                  "type_version":"0.0.0",
+                                  "description":"The definition of the operation to be performed.",
+                                  "required":true
+                               },
+                               "failure_guard":{
+                                  "name":"failure_guard",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.",
+                                  "default":"final_failure_guard",
+                                  "required":false
+                               },
+                               "retries":{
+                                  "name":"retries",
+                                  "type":"integer",
+                                  "type_version":"0.0.0",
+                                  "description":"The number of retries the actor should attempt to perform the operation.",
+                                  "default":0.0,
+                                  "required":true
+                               },
+                               "timeout":{
+                                  "name":"timeout",
+                                  "type":"integer",
+                                  "type_version":"0.0.0",
+                                  "description":"The amount of time for the actor to perform the operation.",
+                                  "required":true
+                               },
+                               "failure_exception":{
+                                  "name":"failure_exception",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Points to the operation to invoke when the current operation causes an exception.",
+                                  "default":"final_failure_exception",
+                                  "required":false
+                               },
+                               "description":{
+                                  "name":"description",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"A user-friendly description of the intent for the operation",
+                                  "required":false
+                               },
+                               "success":{
+                                  "name":"success",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Points to the operation to invoke on success. A value of \"final_success\" indicates and end to the operation.",
+                                  "default":"final_success",
+                                  "required":false
+                               }
+                            },
+                            "name":"onap.datatype.controlloop.Operation",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            },
+                            "description":"An operation supported by an actor"
+                         },
+                         "onap.datatype.controlloop.Target":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "entityIds":{
+                                  "name":"entityIds",
+                                  "type":"map",
+                                  "type_version":"0.0.0",
+                                  "description":"Map of values that identify the resource. If none are provided, it is assumed that the\nentity that generated the ONSET event will be the target.\n",
+                                  "required":false,
+                                  "entry_schema":{
+                                     "type":"string",
+                                     "type_version":"0.0.0"
+                                  },
+                                  "metadata":{
+                                     "clamp_possible_values":"ClampExecution:CSAR_RESOURCES"
+                                  }
+                               },
+                               "targetType":{
+                                  "name":"targetType",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Category for the target type",
+                                  "required":true,
+                                  "constraints":[
+                                     {
+                                        "valid_values":[
+                                           "VNF",
+                                           "VM",
+                                           "VFMODULE",
+                                           "PNF"
+                                        ]
+                                     }
+                                  ]
+                               }
+                            },
+                            "name":"onap.datatype.controlloop.Target",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            },
+                            "description":"Definition for a entity in A&AI to perform a control loop operation on"
+                         },
+                         "onap.datatypes.ToscaConceptIdentifier":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "version":{
+                                  "name":"version",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "required":true
+                               },
+                               "name":{
+                                  "name":"name",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "required":true
+                               }
+                            },
+                            "name":"onap.datatypes.ToscaConceptIdentifier",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            }
+                         },
+                         "onap.datatypes.monitoring.managedObjectDNsBasic":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "DN":{
+                                  "name":"DN",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Managed object distinguished name",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "metadata":{
+
+                                  }
+                               }
+                            },
+                            "name":"onap.datatypes.monitoring.managedObjectDNsBasic",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            }
+                         },
+                         "onap.datatypes.monitoring.managedObjectDNsBasics":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "managedObjectDNsBasic":{
+                                  "name":"managedObjectDNsBasic",
+                                  "type":"map",
+                                  "type_version":"0.0.0",
+                                  "description":"Managed object distinguished name object",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"onap.datatypes.monitoring.managedObjectDNsBasic",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               }
+                            },
+                            "name":"onap.datatypes.monitoring.managedObjectDNsBasics",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            }
+                         },
+                         "onap.datatypes.monitoring.measurementGroup":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "measurementTypes":{
+                                  "name":"measurementTypes",
+                                  "type":"list",
+                                  "type_version":"0.0.0",
+                                  "description":"List of measurement types",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"onap.datatypes.monitoring.measurementTypes",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               },
+                               "managedObjectDNsBasic":{
+                                  "name":"managedObjectDNsBasic",
+                                  "type":"list",
+                                  "type_version":"0.0.0",
+                                  "description":"List of managed object distinguished names",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"onap.datatypes.monitoring.managedObjectDNsBasics",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               }
+                            },
+                            "name":"onap.datatypes.monitoring.measurementGroup",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            }
+                         },
+                         "onap.datatypes.monitoring.measurementGroups":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "measurementGroup":{
+                                  "name":"measurementGroup",
+                                  "type":"map",
+                                  "type_version":"0.0.0",
+                                  "description":"Measurement Group",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"onap.datatypes.monitoring.measurementGroup",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               }
+                            },
+                            "name":"onap.datatypes.monitoring.measurementGroups",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            }
+                         },
+                         "onap.datatypes.monitoring.measurementType":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "measurementType":{
+                                  "name":"measurementType",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Measurement type",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "metadata":{
+
+                                  }
+                               }
+                            },
+                            "name":"onap.datatypes.monitoring.measurementType",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            }
+                         },
+                         "onap.datatypes.monitoring.measurementTypes":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "measurementType":{
+                                  "name":"measurementType",
+                                  "type":"map",
+                                  "type_version":"0.0.0",
+                                  "description":"Measurement type object",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"onap.datatypes.monitoring.measurementType",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               }
+                            },
+                            "name":"onap.datatypes.monitoring.measurementTypes",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            }
+                         },
+                         "onap.datatypes.monitoring.nfFilter":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "modelVersionIDs":{
+                                  "name":"modelVersionIDs",
+                                  "type":"list",
+                                  "type_version":"0.0.0",
+                                  "description":"List of model version IDs",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"string",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               },
+                               "modelInvariantIDs":{
+                                  "name":"modelInvariantIDs",
+                                  "type":"list",
+                                  "type_version":"0.0.0",
+                                  "description":"List of model invariant IDs",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"string",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               },
+                               "modelNames":{
+                                  "name":"modelNames",
+                                  "type":"list",
+                                  "type_version":"0.0.0",
+                                  "description":"List of model names",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"string",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               },
+                               "nfNames":{
+                                  "name":"nfNames",
+                                  "type":"list",
+                                  "type_version":"0.0.0",
+                                  "description":"List of network functions",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"string",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               }
+                            },
+                            "name":"onap.datatypes.monitoring.nfFilter",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            }
+                         },
+                         "onap.datatypes.monitoring.subscription":{
+                            "constraints":[
+
+                            ],
+                            "properties":{
+                               "measurementGroups":{
+                                  "name":"measurementGroups",
+                                  "type":"list",
+                                  "type_version":"0.0.0",
+                                  "description":"Measurement Groups",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"onap.datatypes.monitoring.measurementGroups",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               },
+                               "fileBasedGP":{
+                                  "name":"fileBasedGP",
+                                  "type":"integer",
+                                  "type_version":"0.0.0",
+                                  "description":"File based granularity period",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "metadata":{
+
+                                  }
+                               },
+                               "fileLocation":{
+                                  "name":"fileLocation",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"ROP file location",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "metadata":{
+
+                                  }
+                               },
+                               "subscriptionName":{
+                                  "name":"subscriptionName",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Name of the subscription",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "metadata":{
+
+                                  }
+                               },
+                               "administrativeState":{
+                                  "name":"administrativeState",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"State of the subscription",
+                                  "required":true,
+                                  "constraints":[
+                                     {
+                                        "valid_values":[
+                                           "LOCKED",
+                                           "UNLOCKED"
+                                        ]
+                                     }
+                                  ],
+                                  "metadata":{
+
+                                  }
+                               },
+                               "nfFilter":{
+                                  "name":"nfFilter",
+                                  "type":"map",
+                                  "type_version":"0.0.0",
+                                  "description":"Network function filter",
+                                  "required":true,
+                                  "constraints":[
+
+                                  ],
+                                  "entry_schema":{
+                                     "type":"onap.datatypes.monitoring.nfFilter",
+                                     "type_version":"0.0.0",
+                                     "constraints":[
+
+                                     ]
+                                  },
+                                  "metadata":{
+
+                                  }
+                               }
+                            },
+                            "name":"onap.datatypes.monitoring.subscription",
+                            "version":"0.0.0",
+                            "derived_from":"tosca.datatypes.Root",
+                            "metadata":{
+
+                            }
+                         }
+                      },
+                      "policy_types":{
+                         "onap.policies.Monitoring":{
+                            "properties":{
+
+                            },
+                            "name":"onap.policies.Monitoring",
+                            "version":"1.0.0",
+                            "derived_from":"tosca.policies.Root",
+                            "metadata":{
+
+                            },
+                            "description":"a base policy type for all policies that govern monitoring provisioning"
+                         },
+                         "onap.policies.Sirisha":{
+                            "properties":{
+
+                            },
+                            "name":"onap.policies.Sirisha",
+                            "version":"1.0.0",
+                            "derived_from":"tosca.policies.Root",
+                            "metadata":{
+
+                            },
+                            "description":"a base policy type for all policies that govern monitoring provisioning"
+                         },
+                         "onap.policies.controlloop.operational.Common":{
+                            "properties":{
+                               "abatement":{
+                                  "name":"abatement",
+                                  "type":"boolean",
+                                  "type_version":"0.0.0",
+                                  "description":"Whether an abatement event message will be expected for the control loop from DCAE.",
+                                  "default":false,
+                                  "required":true
+                               },
+                               "operations":{
+                                  "name":"operations",
+                                  "type":"list",
+                                  "type_version":"0.0.0",
+                                  "description":"List of operations to be performed when Control Loop is triggered.",
+                                  "required":true,
+                                  "entry_schema":{
+                                     "type":"onap.datatype.controlloop.Operation",
+                                     "type_version":"0.0.0"
+                                  }
+                               },
+                               "trigger":{
+                                  "name":"trigger",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Initial operation to execute upon receiving an Onset event message for the Control Loop.",
+                                  "required":true
+                               },
+                               "timeout":{
+                                  "name":"timeout",
+                                  "type":"integer",
+                                  "type_version":"0.0.0",
+                                  "description":"Overall timeout for executing all the operations. This timeout should equal or exceed the total\ntimeout for each operation listed.\n",
+                                  "required":true
+                               },
+                               "id":{
+                                  "name":"id",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"The unique control loop id.",
+                                  "required":true
+                               }
+                            },
+                            "name":"onap.policies.controlloop.operational.Common",
+                            "version":"1.0.0",
+                            "derived_from":"tosca.policies.Root",
+                            "metadata":{
+
+                            },
+                            "description":"Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant\nPolicy Types. This does NOT support the legacy Policy YAML policy type.\n"
+                         },
+                         "onap.policies.controlloop.operational.common.Apex":{
+                            "properties":{
+                               "engineServiceParameters":{
+                                  "name":"engineServiceParameters",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"The engine parameters like name, instanceCount, policy implementation, parameters etc.",
+                                  "required":true
+                               },
+                               "eventOutputParameters":{
+                                  "name":"eventOutputParameters",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"The event output parameters.",
+                                  "required":true
+                               },
+                               "javaProperties":{
+                                  "name":"javaProperties",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"Name/value pairs of properties to be set for APEX if needed.",
+                                  "required":false
+                               },
+                               "eventInputParameters":{
+                                  "name":"eventInputParameters",
+                                  "type":"string",
+                                  "type_version":"0.0.0",
+                                  "description":"The event input parameters.",
+                                  "required":true
+                               }
+                            },
+                            "name":"onap.policies.controlloop.operational.common.Apex",
+                            "version":"1.0.0",
+                            "derived_from":"onap.policies.controlloop.operational.Common",
+                            "metadata":{
+
+                            },
+                            "description":"Operational policies for Apex PDP"
+                         },
+                         "onap.policies.monitoring.dcae-pm-subscription-handler":{
+                            "properties":{
+                               "pmsh_policy":{
+                                  "name":"pmsh_policy",
+                                  "type":"onap.datatypes.monitoring.subscription",
+                                  "type_version":"0.0.0",
+                                  "description":"PMSH Policy JSON",
+                                  "required":false,
+                                  "constraints":[
+
+                                  ],
+                                  "metadata":{
+
+                                  }
+                               }
+                            },
+                            "name":"onap.policies.monitoring.dcae-pm-subscription-handler",
+                            "version":"1.0.0",
+                            "derived_from":"onap.policies.Monitoring",
+                            "metadata":{
+
+                            }
+                         }
+                      },
+                      "topology_template":{
+
+                      },
+                      "name":"NULL",
+                      "version":"0.0.0"
+                     },
+                    "propertiesMap": {
+                        "provider_instance": {
+                            "name": "provider_instance",
+                            "version": "1.2.3",
+                            "type": "org.onap.datatypes.policy.clamp.controlloop.policControlLoopElement.Chart",
+                            "typeVersion": "1.0.0",
+                            "description": "The helm chart for the microservice",
+                            "required": true
+                        }
+                     },
+                     "description": "Monitoring Policy Control Loop Element for the PMSH instance 0 control loop"
+                },
+                "709c62b3-8918-41b9-a747-d21eb79c6c22": {
+                    "id": "709c62b3-8918-41b9-a747-d21eb79c6c22",
+                    "definition": {
+                        "name": "org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement",
+                        "version": "1.2.3"
+                    },
+                   "participantType":{
+                        "name":"org.onap.policy.controlloop.PolicyControlLoopParticipant",
+                        "version":"2.3.1"
+                    },
+                   "participantId":{
+                        "name":"org.onap.PM_Policy",
+                        "version":"1.0.0"
+                    },
+                    "state":"UNINITIALISED",
+                    "orderedState":"UNINITIALISED",
+                    "propertiesMap": {
+                        "provider_instance": {
+                            "name": "provider_instance",
+                            "version": "1.2.3",
+                            "type": "org.onap.datatypes.policy.clamp.controlloop.policControlLoopElement.Chart",
+                            "typeVersion": "1.0.0",
+                            "description": "The helm chart for the microservice",
+                            "required": true
+                        }
+                     },
+                     "description": "Operational Policy Control Loop Element for the PMSH instance 0 control loop"
+                }
+            }
+        }
+    ]
+}
\ No newline at end of file
diff --git a/docs/development/devtools/tosca/tosca_service_template_pptnt_smoke.yaml b/docs/development/devtools/tosca/tosca_service_template_pptnt_smoke.yaml
new file mode 100644 (file)
index 0000000..11be3e5
--- /dev/null
@@ -0,0 +1,2982 @@
+tosca_definitions_version: tosca_simple_yaml_1_1_0
+data_types:
+  onap.datatypes.ToscaConceptIdentifier:
+    derived_from: tosca.datatypes.Root
+    properties:
+      name:
+        type: string
+        required: true
+      version:
+        type: string
+        required: true
+  org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo:
+    name: org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo
+    version: 0.0.0
+    derived_from: tosca.datatypes.Root
+    properties:
+      consulUrl:
+        name: consulUrl
+        type: string
+        typeVersion: 0.0.0
+        description: Consul url for this entry
+        required: true
+      consul_body:
+        name: consulBody
+        type: string
+        typeVersion: 0.0.0
+        description: Body of Consul entry
+        required: true
+  onap.datatype.controlloop.Target:
+    derived_from: tosca.datatypes.Root
+    description: Definition for a entity in A&AI to perform a control loop operation on
+    properties:
+      targetType:
+        type: string
+        description: Category for the target type
+        required: true
+        constraints:
+          - valid_values:
+              - VNF
+              - VM
+              - VFMODULE
+              - PNF
+      entityIds:
+        type: map
+        description: |
+          Map of values that identify the resource. If none are provided, it is assumed that the
+          entity that generated the ONSET event will be the target.
+        required: false
+        metadata:
+          clamp_possible_values: ClampExecution:CSAR_RESOURCES
+        entry_schema:
+          type: string
+  onap.datatype.controlloop.Actor:
+    derived_from: tosca.datatypes.Root
+    description: An actor/operation/target definition
+    properties:
+      actor:
+        type: string
+        description: The actor performing the operation.
+        required: true
+        metadata:
+          clamp_possible_values: Dictionary:DefaultActors,ClampExecution:CDS/actor
+      operation:
+        type: string
+        description: The operation the actor is performing.
+        metadata:
+          clamp_possible_values: Dictionary:DefaultOperations,ClampExecution:CDS/operation
+        required: true
+      target:
+        type: onap.datatype.controlloop.Target
+        description: The resource the operation should be performed on.
+        required: true
+      payload:
+        type: map
+        description: Name/value pairs of payload information passed by Policy to the actor
+        required: false
+        metadata:
+          clamp_possible_values: ClampExecution:CDS/payload
+        entry_schema:
+          type: string
+  onap.datatype.controlloop.Operation:
+    derived_from: tosca.datatypes.Root
+    description: An operation supported by an actor
+    properties:
+      id:
+        type: string
+        description: Unique identifier for the operation
+        required: true
+      description:
+        type: string
+        description: A user-friendly description of the intent for the operation
+        required: false
+      operation:
+        type: onap.datatype.controlloop.Actor
+        description: The definition of the operation to be performed.
+        required: true
+      timeout:
+        type: integer
+        description: The amount of time for the actor to perform the operation.
+        required: true
+      retries:
+        type: integer
+        description: The number of retries the actor should attempt to perform the operation.
+        required: true
+        default: 0
+      success:
+        type: string
+        description: Points to the operation to invoke on success. A value of "final_success" indicates and end to the operation.
+        required: false
+        default: final_success
+      failure:
+        type: string
+        description: Points to the operation to invoke on Actor operation failure.
+        required: false
+        default: final_failure
+      failure_timeout:
+        type: string
+        description: Points to the operation to invoke when the time out for the operation occurs.
+        required: false
+        default: final_failure_timeout
+      failure_retries:
+        type: string
+        description: Points to the operation to invoke when the current operation has exceeded its max retries.
+        required: false
+        default: final_failure_retries
+      failure_exception:
+        type: string
+        description: Points to the operation to invoke when the current operation causes an exception.
+        required: false
+        default: final_failure_exception
+      failure_guard:
+        type: string
+        description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.
+        required: false
+        default: final_failure_guard
+policy_types:
+  onap.policies.Monitoring:
+    derived_from: tosca.policies.Root
+    description: a base policy type for all policies that govern monitoring provisioning
+    version: 1.0.0
+    name: onap.policies.Monitoring
+  onap.policies.Sirisha:
+    derived_from: tosca.policies.Root
+    description: a base policy type for all policies that govern monitoring provisioning
+    version: 1.0.0
+    name: onap.policies.Sirisha
+  onap.policies.controlloop.operational.Common:
+    derived_from: tosca.policies.Root
+    version: 1.0.0
+    name: onap.policies.controlloop.operational.Common
+    description: |
+      Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant
+      Policy Types. This does NOT support the legacy Policy YAML policy type.
+    properties:
+      id:
+        type: string
+        description: The unique control loop id.
+        required: true
+      timeout:
+        type: integer
+        description: |
+          Overall timeout for executing all the operations. This timeout should equal or exceed the total
+          timeout for each operation listed.
+        required: true
+      abatement:
+        type: boolean
+        description: Whether an abatement event message will be expected for the control loop from DCAE.
+        required: true
+        default: false
+      trigger:
+        type: string
+        description: Initial operation to execute upon receiving an Onset event message for the Control Loop.
+        required: true
+      operations:
+        type: list
+        description: List of operations to be performed when Control Loop is triggered.
+        required: true
+        entry_schema:
+          type: onap.datatype.controlloop.Operation
+  onap.policies.controlloop.operational.common.Apex:
+    derived_from: onap.policies.controlloop.operational.Common
+    type_version: 1.0.0
+    version: 1.0.0
+    name: onap.policies.controlloop.operational.common.Apex
+    description: Operational policies for Apex PDP
+    properties:
+      engineServiceParameters:
+        type: string
+        description: The engine parameters like name, instanceCount, policy implementation, parameters etc.
+        required: true
+      eventInputParameters:
+        type: string
+        description: The event input parameters.
+        required: true
+      eventOutputParameters:
+        type: string
+        description: The event output parameters.
+        required: true
+      javaProperties:
+        type: string
+        description: Name/value pairs of properties to be set for APEX if needed.
+        required: false
+node_types:
+  org.onap.policy.clamp.controlloop.Participant:
+    version: 1.0.1
+    derived_from: tosca.nodetypes.Root
+    properties:
+      provider:
+        type: string
+        requred: false
+  org.onap.policy.clamp.controlloop.ControlLoopElement:
+    version: 1.0.1
+    derived_from: tosca.nodetypes.Root
+    properties:
+      provider:
+        type: string
+        required: false
+        metadata:
+          common: true
+        description: Specifies the organization that provides the control loop element
+      participantType:
+        type: onap.datatypes.ToscaConceptIdentifier
+        required: true
+        metadata:
+          common: true
+        description: The identity of the participant type that hosts this type of Control Loop Element
+      startPhase:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        metadata:
+          common: true
+        description: A value indicating the start phase in which this control loop element will be started, the
+          first start phase is zero. Control Loop Elements are started in their start_phase order and stopped
+          in reverse start phase order. Control Loop Elements with the same start phase are started and
+          stopped simultaneously
+      uninitializedToPassiveTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from uninitialized to passive
+      passiveToRunningTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from passive to running
+      runningToPassiveTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from running to passive
+      passiveToUninitializedTimeout:
+        type: integer
+        required: false
+        constraints:
+          - greater_or_equal: 0
+        default: 60
+        metadata:
+          common: true
+        description: The maximum time in seconds to wait for a state chage from passive to uninitialized
+  org.onap.policy.clamp.controlloop.ControlLoop:
+    version: 1.0.1
+    derived_from: tosca.nodetypes.Root
+    properties:
+      provider:
+        type: string
+        required: false
+        metadata:
+          common: true
+        description: Specifies the organization that provides the control loop element
+      elements:
+        type: list
+        required: true
+        metadata:
+          common: true
+        entry_schema:
+          type: onap.datatypes.ToscaConceptIdentifier
+        description: Specifies a list of control loop element definitions that make up this control loop definition
+  org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement:
+    version: 1.0.1
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      dcae_blueprint_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        requred: false
+      dcae_blueprint:
+        type: onap.dcae.cloudify_blueprint
+        requred: false
+      consul_info:
+        type: list
+        required: false
+        entry_schema:
+          type: org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo
+  org.onap.policy.clamp.controlloop.PolicyControlLoopElement:
+    version: 1.0.1
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      policy_type_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        requred: true
+      policy_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        requred: false
+  org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement:
+    version: 1.0.1
+    derived_from: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
+    properties:
+      policy_type_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        requred: true
+      policy_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        requred: false
+  org.onap.policy.clamp.controlloop.DerivedDerivedPolicyControlLoopElement:
+    version: 1.0.1
+    derived_from: org.onap.policy.clamp.controlloop.DerivedPolicyControlLoopElement
+    properties:
+      policy_type_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        requred: true
+      policy_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        requred: false
+  org.onap.policy.clamp.controlloop.CDSControlLoopElement:
+    version: 1.0.1
+    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+    properties:
+      cds_blueprint_id:
+        type: onap.datatypes.ToscaConceptIdentifier
+        requred: true
+topology_template:
+  inputs:
+    pmsh_monitoring_policy:
+      type: onap.datatypes.ToscaConceptIdentifier
+      description: The ID of the PMSH monitoring policy to use
+      default:
+        name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
+        version: 1.0.0
+    pmsh_operational_policy:
+      type: onap.datatypes.ToscaConceptIdentifier
+      description: The ID of the PMSH operational policy to use
+      default:
+        name: operational.apex.pmcontrol
+        version: 1.0.0
+  node_templates:
+    org.onap.policy.controlloop.PolicyControlLoopParticipant:
+      version: 2.3.1
+      type: org.onap.policy.clamp.controlloop.Participant
+      type_version: 1.0.1
+      description: Participant for DCAE microservices
+      properties:
+        provider: ONAP
+    
+    org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:
+      version: 1.2.3
+      type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
+      type_version: 1.0.0
+      description: Control loop element for the monitoring policy for Performance Management Subscription Handling
+      properties:
+        provider: Ericsson
+        participantType:
+          name: org.onap.policy.controlloop.PolicyControlLoopParticipant
+          version: 2.3.1
+        policy_type_id:
+          name: onap.policies.monitoring.pm-subscription-handler
+          version: 1.0.0
+        policy_id:
+          get_input: pmsh_monitoring_policy
+    org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:
+      version: 1.2.3
+      type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
+      type_version: 1.0.0
+      description: Control loop element for the operational policy for Performance Management Subscription Handling
+      properties:
+        provider: Ericsson
+        participantType:
+          name: org.onap.policy.controlloop.PolicyControlLoopParticipant
+          version: 2.3.1
+        policy_type_id:
+          name: onap.policies.operational.pm-subscription-handler
+          version: 1.0.0
+        policy_id:
+          get_input: pmsh_operational_policy
+    org.onap.domain.pmsh.PMSHControlLoopDefinition:
+      version: 1.2.3
+      type: org.onap.policy.clamp.controlloop.ControlLoop
+      type_version: 1.0.0
+      description: Control loop for Performance Management Subscription Handling
+      properties:
+        provider: Ericsson
+        elements:
+          - name: org.onap.domain.pmsh.PMSH_DCAEMicroservice
+            version: 1.2.3
+          - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement
+            version: 1.2.3
+          - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement
+            version: 1.2.3
+  policies:
+    - operational.apex.pmcontrol:
+        type: onap.policies.controlloop.operational.common.Apex
+        type_version: 1.0.0
+        version: 1.0.0
+        metadata:
+          policy-id: operational.apex.pmcontrol
+          policy-version: 1
+        properties:
+          engineServiceParameters:
+            name: MyApexEngine
+            version: 0.0.1
+            id: 45
+            instanceCount: 2
+            deploymentPort: 12561
+            policy_type_impl:
+              apexPolicyModel:
+                key:
+                  name: PMControlPolicy
+                  version: 0.0.1
+                keyInformation:
+                  key:
+                    name: PMControlPolicy_KeyInfo
+                    version: 0.0.1
+                  keyInfoMap:
+                    entry:
+                      - key:
+                          name: CDSActionIdentifiersType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSActionIdentifiersType
+                            version: 0.0.1
+                          UUID: 6e5fa19b-14df-37e3-a4ae-8c537e861a82
+                          description: Generated description for concept referred to by key "CDSActionIdentifiersType:0.0.1"
+                      - key:
+                          name: CDSCreateResponseEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateResponseEvent
+                            version: 0.0.1
+                          UUID: 14b29e38-ac75-3273-aa4e-8583c0aa7dad
+                          description: Generated description for concept referred to by key "CDSCreateResponseEvent:0.0.1"
+                      - key:
+                          name: CDSCreateResponsePayloadType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateResponsePayloadType
+                            version: 0.0.1
+                          UUID: 04573f8f-e772-30a5-b1d9-d7318d4a1e13
+                          description: Generated description for concept referred to by key "CDSCreateResponsePayloadType:0.0.1"
+                      - key:
+                          name: CDSCreateResponsePolicy
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateResponsePolicy
+                            version: 0.0.1
+                          UUID: e126c965-fc09-3bfe-8f55-70f380a4a49c
+                          description: Generated description for concept referred to by key "CDSCreateResponsePolicy:0.0.1"
+                      - key:
+                          name: CDSCreateResponseTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateResponseTask
+                            version: 0.0.1
+                          UUID: 6165ee82-afd2-3aab-a517-f00b3f2461d2
+                          description: Generated description for concept referred to by key "CDSCreateResponseTask:0.0.1"
+                      - key:
+                          name: CDSCreateSubscriptionPayloadType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateSubscriptionPayloadType
+                            version: 0.0.1
+                          UUID: 8350ac5e-c157-38b9-9614-a0f93a830e60
+                          description: Generated description for concept referred to by key "CDSCreateSubscriptionPayloadType:0.0.1"
+                      - key:
+                          name: CDSCreateSubscriptionRequestEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateSubscriptionRequestEvent
+                            version: 0.0.1
+                          UUID: cfa325ba-226b-3a31-9183-ec43e2b6e9a2
+                          description: Generated description for concept referred to by key "CDSCreateSubscriptionRequestEvent:0.0.1"
+                      - key:
+                          name: CDSDeleteResponseEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteResponseEvent
+                            version: 0.0.1
+                          UUID: 8be9c0fa-7437-3841-aff2-b3cec6ae3bd8
+                          description: Generated description for concept referred to by key "CDSDeleteResponseEvent:0.0.1"
+                      - key:
+                          name: CDSDeleteResponsePayloadType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteResponsePayloadType
+                            version: 0.0.1
+                          UUID: 3fbfe0c9-152e-34d3-a504-09cd13c058d0
+                          description: Generated description for concept referred to by key "CDSDeleteResponsePayloadType:0.0.1"
+                      - key:
+                          name: CDSDeleteResponsePolicy
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteResponsePolicy
+                            version: 0.0.1
+                          UUID: a780251c-edd5-3132-b865-04313246b43c
+                          description: Generated description for concept referred to by key "CDSDeleteResponsePolicy:0.0.1"
+                      - key:
+                          name: CDSDeleteResponseTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteResponseTask
+                            version: 0.0.1
+                          UUID: afce4555-3aa3-3521-a7d8-ee8cdf0d3efc
+                          description: Generated description for concept referred to by key "CDSDeleteResponseTask:0.0.1"
+                      - key:
+                          name: CDSDeleteSubscriptionPayloadType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteSubscriptionPayloadType
+                            version: 0.0.1
+                          UUID: 12658406-9147-3c9d-a38c-5ad5e30b092b
+                          description: Generated description for concept referred to by key "CDSDeleteSubscriptionPayloadType:0.0.1"
+                      - key:
+                          name: CDSDeleteSubscriptionRequestEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteSubscriptionRequestEvent
+                            version: 0.0.1
+                          UUID: 24380c95-9289-36e6-8cbf-0edefa15ccd9
+                          description: Generated description for concept referred to by key "CDSDeleteSubscriptionRequestEvent:0.0.1"
+                      - key:
+                          name: CDSRequestCommonHeaderType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSRequestCommonHeaderType
+                            version: 0.0.1
+                          UUID: 35590ac0-062c-39f1-8786-b4ff716e30b1
+                          description: Generated description for concept referred to by key "CDSRequestCommonHeaderType:0.0.1"
+                      - key:
+                          name: CDSResponseCommonHeaderType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSResponseCommonHeaderType
+                            version: 0.0.1
+                          UUID: dd7e1805-885a-350b-aaf9-ed541321ae3c
+                          description: Generated description for concept referred to by key "CDSResponseCommonHeaderType:0.0.1"
+                      - key:
+                          name: CDSResponseStatusEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSResponseStatusEvent
+                            version: 0.0.1
+                          UUID: 7986e21b-32f7-302e-9554-31f21b673493
+                          description: Generated description for concept referred to by key "CDSResponseStatusEvent:0.0.1"
+                      - key:
+                          name: CDSResponseStatusType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSResponseStatusType
+                            version: 0.0.1
+                          UUID: 92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa
+                          description: Generated description for concept referred to by key "CDSResponseStatusType:0.0.1"
+                      - key:
+                          name: CreateSubscriptionPayloadEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CreateSubscriptionPayloadEvent
+                            version: 0.0.1
+                          UUID: 92162397-1a8e-3a3f-a469-d2af7700af4a
+                          description: Generated description for concept referred to by key "CreateSubscriptionPayloadEvent:0.0.1"
+                      - key:
+                          name: CreateSubscriptionPayloadTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CreateSubscriptionPayloadTask
+                            version: 0.0.1
+                          UUID: bc0c69f0-52ed-38ea-b468-ae4a6fd1730d
+                          description: Generated description for concept referred to by key "CreateSubscriptionPayloadTask:0.0.1"
+                      - key:
+                          name: CreateSubscriptionRequestTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CreateSubscriptionRequestTask
+                            version: 0.0.1
+                          UUID: 89cb75e9-f06c-30d3-b4ff-698d45f63869
+                          description: Generated description for concept referred to by key "CreateSubscriptionRequestTask:0.0.1"
+                      - key:
+                          name: DeleteSubscriptionPayloadEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: DeleteSubscriptionPayloadEvent
+                            version: 0.0.1
+                          UUID: 994fa441-04ab-33bb-832d-1cd12ab5d074
+                          description: Generated description for concept referred to by key "DeleteSubscriptionPayloadEvent:0.0.1"
+                      - key:
+                          name: DeleteSubscriptionPayloadTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: DeleteSubscriptionPayloadTask
+                            version: 0.0.1
+                          UUID: 0f519117-5fea-3e4b-941f-8f778100465f
+                          description: Generated description for concept referred to by key "DeleteSubscriptionPayloadTask:0.0.1"
+                      - key:
+                          name: DeleteSubscriptionRequestTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: DeleteSubscriptionRequestTask
+                            version: 0.0.1
+                          UUID: acb772fe-d442-39e3-98f9-b1080caf4150
+                          description: Generated description for concept referred to by key "DeleteSubscriptionRequestTask:0.0.1"
+                      - key:
+                          name: MRResponseEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: MRResponseEvent
+                            version: 0.0.1
+                          UUID: 13c747a3-6bae-3bcf-9c80-b152e01dc194
+                          description: Generated description for concept referred to by key "MRResponseEvent:0.0.1"
+                      - key:
+                          name: PMControlPolicy
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMControlPolicy
+                            version: 0.0.1
+                          UUID: acf1e55c-7bc5-3bd5-975a-0ca54afcd8a4
+                          description: Generated description for concept referred to by key "PMControlPolicy:0.0.1"
+                      - key:
+                          name: PMControlPolicy_Albums
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMControlPolicy_Albums
+                            version: 0.0.1
+                          UUID: b38ad204-c2c8-32f4-9b5a-dda0aeb0145b
+                          description: Generated description for concept referred to by key "PMControlPolicy_Albums:0.0.1"
+                      - key:
+                          name: PMControlPolicy_Events
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMControlPolicy_Events
+                            version: 0.0.1
+                          UUID: be3871a0-c42a-3113-a066-82d192840eca
+                          description: Generated description for concept referred to by key "PMControlPolicy_Events:0.0.1"
+                      - key:
+                          name: PMControlPolicy_KeyInfo
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMControlPolicy_KeyInfo
+                            version: 0.0.1
+                          UUID: ced37634-28a4-3178-b7f6-2980794927b0
+                          description: Generated description for concept referred to by key "PMControlPolicy_KeyInfo:0.0.1"
+                      - key:
+                          name: PMControlPolicy_Policies
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMControlPolicy_Policies
+                            version: 0.0.1
+                          UUID: be3d180d-ef9c-3a75-8e9c-84271a038bed
+                          description: Generated description for concept referred to by key "PMControlPolicy_Policies:0.0.1"
+                      - key:
+                          name: PMControlPolicy_Schemas
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMControlPolicy_Schemas
+                            version: 0.0.1
+                          UUID: e61973f1-189c-39e5-82f6-0d3afe298a20
+                          description: Generated description for concept referred to by key "PMControlPolicy_Schemas:0.0.1"
+                      - key:
+                          name: PMControlPolicy_Tasks
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMControlPolicy_Tasks
+                            version: 0.0.1
+                          UUID: 5658adb3-2962-30a3-a241-fae75bb8eb4a
+                          description: Generated description for concept referred to by key "PMControlPolicy_Tasks:0.0.1"
+                      - key:
+                          name: PMSubscriptionAlbum
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMSubscriptionAlbum
+                            version: 0.0.1
+                          UUID: c2bd6f0d-6854-317a-9be2-97c08338428c
+                          description: Generated description for concept referred to by key "PMSubscriptionAlbum:0.0.1"
+                      - key:
+                          name: PMSubscriptionOutputEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMSubscriptionOutputEvent
+                            version: 0.0.1
+                          UUID: 992b7819-9f69-3aa0-bb0f-6e45ea15ce05
+                          description: Generated description for concept referred to by key "PMSubscriptionOutputEvent:0.0.1"
+                      - key:
+                          name: PMSubscriptionType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMSubscriptionType
+                            version: 0.0.1
+                          UUID: 73c1c397-4fc3-357f-93b6-a8ad707fbaae
+                          description: Generated description for concept referred to by key "PMSubscriptionType:0.0.1"
+                      - key:
+                          name: ReceiveEventPolicy
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: ReceiveEventPolicy
+                            version: 0.0.1
+                          UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1
+                          description: Generated description for concept referred to by key "ReceiveEventPolicy:0.0.1"
+                      - key:
+                          name: ReceiveSubscriptionTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: ReceiveSubscriptionTask
+                            version: 0.0.1
+                          UUID: f596afc8-100c-35eb-92c8-352355ea457d
+                          description: Generated description for concept referred to by key "ReceiveSubscriptionTask:0.0.1"
+                      - key:
+                          name: SimpleIntType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: SimpleIntType
+                            version: 0.0.1
+                          UUID: 153791fd-ae0a-36a7-88a5-309a7936415d
+                          description: Generated description for concept referred to by key "SimpleIntType:0.0.1"
+                      - key:
+                          name: SimpleStringType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: SimpleStringType
+                            version: 0.0.1
+                          UUID: 8a4957cf-9493-3a76-8c22-a208e23259af
+                          description: Generated description for concept referred to by key "SimpleStringType:0.0.1"
+                      - key:
+                          name: SubscriptionStatusType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: SubscriptionStatusType
+                            version: 0.0.1
+                          UUID: 597643b1-9db1-31ce-85d0-e1c63c43b30b
+                          description: Generated description for concept referred to by key "SubscriptionStatusType:0.0.1"
+                      - key:
+                          name: SubscriptionType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: SubscriptionType
+                            version: 0.0.1
+                          UUID: 184547bb-7d64-3cb2-a273-d7185102c5ce
+                          description: Generated description for concept referred to by key "SubscriptionType:0.0.1"
+                      - key:
+                          name: UUIDType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: UUIDType
+                            version: 0.0.1
+                          UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c
+                          description: Generated description for concept referred to by key "UUIDType:0.0.1"
+                      - key:
+                          name: pmsh-operational-policy
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: pmsh-operational-policy
+                            version: 0.0.1
+                          UUID: fdf2c9ff-6422-3ea6-b6b6-49b12116265d
+                          description: Generated description for concept referred to by key "pmsh-operational-policy:0.0.1"
+                policies:
+                  key:
+                    name: PMControlPolicy_Policies
+                    version: 0.0.1
+                  policyMap:
+                    entry:
+                      - key:
+                          name: CDSCreateResponsePolicy
+                          version: 0.0.1
+                        value:
+                          policyKey:
+                            name: CDSCreateResponsePolicy
+                            version: 0.0.1
+                          template: Freestyle
+                          state:
+                            entry:
+                              - key: CDSCreateResponseState
+                                value:
+                                  stateKey:
+                                    parentKeyName: CDSCreateResponsePolicy
+                                    parentKeyVersion: 0.0.1
+                                    parentLocalName: 'NULL'
+                                    localName: CDSCreateResponseState
+                                  trigger:
+                                    name: CDSCreateResponseEvent
+                                    version: 0.0.1
+                                  stateOutputs:
+                                    entry:
+                                      - key: ResponseOutput
+                                        value:
+                                          key:
+                                            parentKeyName: CDSCreateResponsePolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CDSCreateResponseState
+                                            localName: ResponseOutput
+                                          outgoingEvent:
+                                            name: CDSResponseStatusEvent
+                                            version: 0.0.1
+                                          nextState:
+                                            parentKeyName: 'NULL'
+                                            parentKeyVersion: 0.0.0
+                                            parentLocalName: 'NULL'
+                                            localName: 'NULL'
+                                  contextAlbumReference: []
+                                  taskSelectionLogic:
+                                    key: 'NULL'
+                                    logicFlavour: UNDEFINED
+                                    logic: ''
+                                  stateFinalizerLogicMap:
+                                    entry: []
+                                  defaultTask:
+                                    name: CDSCreateResponseTask
+                                    version: 0.0.1
+                                  taskReferences:
+                                    entry:
+                                      - key:
+                                          name: CDSCreateResponseTask
+                                          version: 0.0.1
+                                        value:
+                                          key:
+                                            parentKeyName: CDSCreateResponsePolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CDSCreateResponseState
+                                            localName: CDSCreateResponsePolicy
+                                          outputType: DIRECT
+                                          output:
+                                            parentKeyName: CDSCreateResponsePolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CDSCreateResponseState
+                                            localName: ResponseOutput
+                          firstState: CDSCreateResponseState
+                      - key:
+                          name: CDSDeleteResponsePolicy
+                          version: 0.0.1
+                        value:
+                          policyKey:
+                            name: CDSDeleteResponsePolicy
+                            version: 0.0.1
+                          template: Freestyle
+                          state:
+                            entry:
+                              - key: CDSDeleteResponseState
+                                value:
+                                  stateKey:
+                                    parentKeyName: CDSDeleteResponsePolicy
+                                    parentKeyVersion: 0.0.1
+                                    parentLocalName: 'NULL'
+                                    localName: CDSDeleteResponseState
+                                  trigger:
+                                    name: CDSDeleteResponseEvent
+                                    version: 0.0.1
+                                  stateOutputs:
+                                    entry:
+                                      - key: ResponseOutput
+                                        value:
+                                          key:
+                                            parentKeyName: CDSDeleteResponsePolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CDSDeleteResponseState
+                                            localName: ResponseOutput
+                                          outgoingEvent:
+                                            name: CDSResponseStatusEvent
+                                            version: 0.0.1
+                                          nextState:
+                                            parentKeyName: 'NULL'
+                                            parentKeyVersion: 0.0.0
+                                            parentLocalName: 'NULL'
+                                            localName: 'NULL'
+                                  contextAlbumReference: []
+                                  taskSelectionLogic:
+                                    key: 'NULL'
+                                    logicFlavour: UNDEFINED
+                                    logic: ''
+                                  stateFinalizerLogicMap:
+                                    entry: []
+                                  defaultTask:
+                                    name: CDSDeleteResponseTask
+                                    version: 0.0.1
+                                  taskReferences:
+                                    entry:
+                                      - key:
+                                          name: CDSDeleteResponseTask
+                                          version: 0.0.1
+                                        value:
+                                          key:
+                                            parentKeyName: CDSDeleteResponsePolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CDSDeleteResponseState
+                                            localName: CDSDeleteResponsePolicy
+                                          outputType: DIRECT
+                                          output:
+                                            parentKeyName: CDSDeleteResponsePolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CDSDeleteResponseState
+                                            localName: ResponseOutput
+                          firstState: CDSDeleteResponseState
+                      - key:
+                          name: ReceiveEventPolicy
+                          version: 0.0.1
+                        value:
+                          policyKey:
+                            name: ReceiveEventPolicy
+                            version: 0.0.1
+                          template: Freestyle
+                          state:
+                            entry:
+                              - key: CreateOrDeleteState
+                                value:
+                                  stateKey:
+                                    parentKeyName: ReceiveEventPolicy
+                                    parentKeyVersion: 0.0.1
+                                    parentLocalName: 'NULL'
+                                    localName: CreateOrDeleteState
+                                  trigger:
+                                    name: PMSubscriptionOutputEvent
+                                    version: 0.0.1
+                                  stateOutputs:
+                                    entry:
+                                      - key: CreateSubscriptionPayload
+                                        value:
+                                          key:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CreateOrDeleteState
+                                            localName: CreateSubscriptionPayload
+                                          outgoingEvent:
+                                            name: CreateSubscriptionPayloadEvent
+                                            version: 0.0.1
+                                          nextState:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: 'NULL'
+                                            localName: CreateSubscription
+                                      - key: DeleteSubscriptionPayload
+                                        value:
+                                          key:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CreateOrDeleteState
+                                            localName: DeleteSubscriptionPayload
+                                          outgoingEvent:
+                                            name: DeleteSubscriptionPayloadEvent
+                                            version: 0.0.1
+                                          nextState:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: 'NULL'
+                                            localName: DeleteSubscription
+                                  contextAlbumReference:
+                                    - name: PMSubscriptionAlbum
+                                      version: 0.0.1
+                                  taskSelectionLogic:
+                                    key: TaskSelectionLogic
+                                    logicFlavour: JAVASCRIPT
+                                    logic: |-
+                                      /*
+                                       * ============LICENSE_START=======================================================
+                                       *  Copyright (C) 2020 Nordix. All rights reserved.
+                                       * ================================================================================
+                                       * Licensed under the Apache License, Version 2.0 (the "License");
+                                       * you may not use this file except in compliance with the License.
+                                       * You may obtain a copy of the License at
+                                       *
+                                       *      http://www.apache.org/licenses/LICENSE-2.0
+                                       *
+                                       * Unless required by applicable law or agreed to in writing, software
+                                       * distributed under the License is distributed on an "AS IS" BASIS,
+                                       * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+                                       * See the License for the specific language governing permissions and
+                                       * limitations under the License.
+                                       *
+                                       * SPDX-License-Identifier: Apache-2.0
+                                       * ============LICENSE_END=========================================================
+                                       */
+
+                                      executor.logger.info(executor.subject.id);
+
+                                      var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+                                      var changeType = pmSubscriptionInfo.get("changeType").toString()
+
+                                      executor.logger.info("Change Type is " + changeType)
+
+                                      if ("CREATE".equals(changeType)) {
+                                          executor.logger.info("Choosing to create a subscription")
+                                          executor.subject.getTaskKey("CreateSubscriptionPayloadTask").copyTo(executor.selectedTask);
+                                      }
+                                      else if ("DELETE".equals(changeType)) {
+                                          executor.logger.info("Choosing to delete a subscription")
+                                          executor.subject.getTaskKey("DeleteSubscriptionPayloadTask").copyTo(executor.selectedTask);
+                                      }
+
+                                      //var returnValue = executor.isTrue;
+                                      true;
+                                  stateFinalizerLogicMap:
+                                    entry: []
+                                  defaultTask:
+                                    name: CreateSubscriptionPayloadTask
+                                    version: 0.0.1
+                                  taskReferences:
+                                    entry:
+                                      - key:
+                                          name: CreateSubscriptionPayloadTask
+                                          version: 0.0.1
+                                        value:
+                                          key:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CreateOrDeleteState
+                                            localName: ReceiveEventPolicy
+                                          outputType: DIRECT
+                                          output:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CreateOrDeleteState
+                                            localName: CreateSubscriptionPayload
+                                      - key:
+                                          name: DeleteSubscriptionPayloadTask
+                                          version: 0.0.1
+                                        value:
+                                          key:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CreateOrDeleteState
+                                            localName: ReceiveEventPolicy
+                                          outputType: DIRECT
+                                          output:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CreateOrDeleteState
+                                            localName: DeleteSubscriptionPayload
+                              - key: CreateSubscription
+                                value:
+                                  stateKey:
+                                    parentKeyName: ReceiveEventPolicy
+                                    parentKeyVersion: 0.0.1
+                                    parentLocalName: 'NULL'
+                                    localName: CreateSubscription
+                                  trigger:
+                                    name: CreateSubscriptionPayloadEvent
+                                    version: 0.0.1
+                                  stateOutputs:
+                                    entry:
+                                      - key: IssueCreateSubscriptionRequestOutput
+                                        value:
+                                          key:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CreateSubscription
+                                            localName: IssueCreateSubscriptionRequestOutput
+                                          outgoingEvent:
+                                            name: CDSCreateSubscriptionRequestEvent
+                                            version: 0.0.1
+                                          nextState:
+                                            parentKeyName: 'NULL'
+                                            parentKeyVersion: 0.0.0
+                                            parentLocalName: 'NULL'
+                                            localName: 'NULL'
+                                  contextAlbumReference:
+                                    - name: PMSubscriptionAlbum
+                                      version: 0.0.1
+                                  taskSelectionLogic:
+                                    key: 'NULL'
+                                    logicFlavour: UNDEFINED
+                                    logic: ''
+                                  stateFinalizerLogicMap:
+                                    entry: []
+                                  defaultTask:
+                                    name: CreateSubscriptionRequestTask
+                                    version: 0.0.1
+                                  taskReferences:
+                                    entry:
+                                      - key:
+                                          name: CreateSubscriptionRequestTask
+                                          version: 0.0.1
+                                        value:
+                                          key:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CreateSubscription
+                                            localName: ReceiveEventPolicy
+                                          outputType: DIRECT
+                                          output:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: CreateSubscription
+                                            localName: IssueCreateSubscriptionRequestOutput
+                              - key: DeleteSubscription
+                                value:
+                                  stateKey:
+                                    parentKeyName: ReceiveEventPolicy
+                                    parentKeyVersion: 0.0.1
+                                    parentLocalName: 'NULL'
+                                    localName: DeleteSubscription
+                                  trigger:
+                                    name: DeleteSubscriptionPayloadEvent
+                                    version: 0.0.1
+                                  stateOutputs:
+                                    entry:
+                                      - key: IssueDeleteSubscriptionRequestOutput
+                                        value:
+                                          key:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: DeleteSubscription
+                                            localName: IssueDeleteSubscriptionRequestOutput
+                                          outgoingEvent:
+                                            name: CDSDeleteSubscriptionRequestEvent
+                                            version: 0.0.1
+                                          nextState:
+                                            parentKeyName: 'NULL'
+                                            parentKeyVersion: 0.0.0
+                                            parentLocalName: 'NULL'
+                                            localName: 'NULL'
+                                  contextAlbumReference:
+                                    - name: PMSubscriptionAlbum
+                                      version: 0.0.1
+                                  taskSelectionLogic:
+                                    key: 'NULL'
+                                    logicFlavour: UNDEFINED
+                                    logic: ''
+                                  stateFinalizerLogicMap:
+                                    entry: []
+                                  defaultTask:
+                                    name: DeleteSubscriptionRequestTask
+                                    version: 0.0.1
+                                  taskReferences:
+                                    entry:
+                                      - key:
+                                          name: DeleteSubscriptionRequestTask
+                                          version: 0.0.1
+                                        value:
+                                          key:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: DeleteSubscription
+                                            localName: ReceiveEventPolicy
+                                          outputType: DIRECT
+                                          output:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: DeleteSubscription
+                                            localName: IssueDeleteSubscriptionRequestOutput
+                              - key: ReceiveSubscriptionState
+                                value:
+                                  stateKey:
+                                    parentKeyName: ReceiveEventPolicy
+                                    parentKeyVersion: 0.0.1
+                                    parentLocalName: 'NULL'
+                                    localName: ReceiveSubscriptionState
+                                  trigger:
+                                    name: pmsh-operational-policy
+                                    version: 0.0.1
+                                  stateOutputs:
+                                    entry:
+                                      - key: ReceivePMSubscriptionOutput
+                                        value:
+                                          key:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: ReceiveSubscriptionState
+                                            localName: ReceivePMSubscriptionOutput
+                                          outgoingEvent:
+                                            name: PMSubscriptionOutputEvent
+                                            version: 0.0.1
+                                          nextState:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: 'NULL'
+                                            localName: CreateOrDeleteState
+                                  contextAlbumReference:
+                                    - name: PMSubscriptionAlbum
+                                      version: 0.0.1
+                                  taskSelectionLogic:
+                                    key: 'NULL'
+                                    logicFlavour: UNDEFINED
+                                    logic: ''
+                                  stateFinalizerLogicMap:
+                                    entry: []
+                                  defaultTask:
+                                    name: ReceiveSubscriptionTask
+                                    version: 0.0.1
+                                  taskReferences:
+                                    entry:
+                                      - key:
+                                          name: ReceiveSubscriptionTask
+                                          version: 0.0.1
+                                        value:
+                                          key:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: ReceiveSubscriptionState
+                                            localName: ReceiveEventPolicy
+                                          outputType: DIRECT
+                                          output:
+                                            parentKeyName: ReceiveEventPolicy
+                                            parentKeyVersion: 0.0.1
+                                            parentLocalName: ReceiveSubscriptionState
+                                            localName: ReceivePMSubscriptionOutput
+                          firstState: ReceiveSubscriptionState
+                tasks:
+                  key:
+                    name: PMControlPolicy_Tasks
+                    version: 0.0.1
+                  taskMap:
+                    entry:
+                      - key:
+                          name: CDSCreateResponseTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateResponseTask
+                            version: 0.0.1
+                          inputFields:
+                            entry:
+                              - key: actionIdentifiers
+                                value:
+                                  key: actionIdentifiers
+                                  fieldSchemaKey:
+                                    name: CDSActionIdentifiersType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: commonHeader
+                                value:
+                                  key: commonHeader
+                                  fieldSchemaKey:
+                                    name: CDSResponseCommonHeaderType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSCreateResponsePayloadType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: status
+                                value:
+                                  key: status
+                                  fieldSchemaKey:
+                                    name: CDSResponseStatusType
+                                    version: 0.0.1
+                                  optional: false
+                          outputFields:
+                            entry:
+                              - key: status
+                                value:
+                                  key: status
+                                  fieldSchemaKey:
+                                    name: SubscriptionStatusType
+                                    version: 0.0.1
+                                  optional: false
+                          taskParameters:
+                            entry: []
+                          contextAlbumReference:
+                            - name: PMSubscriptionAlbum
+                              version: 0.0.1
+                          taskLogic:
+                            key: TaskLogic
+                            logicFlavour: JAVASCRIPT
+                            logic: |-
+                              /*
+                               * ============LICENSE_START=======================================================
+                               *  Copyright (C) 2020 Nordix. All rights reserved.
+                               * ================================================================================
+                               * Licensed under the Apache License, Version 2.0 (the "License");
+                               * you may not use this file except in compliance with the License.
+                               * You may obtain a copy of the License at
+                               *
+                               *      http://www.apache.org/licenses/LICENSE-2.0
+                               *
+                               * Unless required by applicable law or agreed to in writing, software
+                               * distributed under the License is distributed on an "AS IS" BASIS,
+                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+                               * See the License for the specific language governing permissions and
+                               * limitations under the License.
+                               *
+                               * SPDX-License-Identifier: Apache-2.0
+                               * ============LICENSE_END=========================================================
+                               */
+
+                              executor.logger.info(executor.subject.id);
+
+                              var commonHeader = executor.inFields.get("commonHeader")
+                              var response = executor.inFields.get("payload")
+                              var albumID = commonHeader.get("requestId")
+
+                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
+                              var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
+
+                              responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+                              responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
+                              responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
+
+                              var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
+
+                              executor.logger.info("RESPONSE STATUS = " + status)
+
+                              if(status == "success") {
+                                  responseStatus.put("message", "success")
+                              } else {
+                                  responseStatus.put("message", "failed")
+                              }
+
+                              executor.outFields.put("status", responseStatus)
+
+                              //var returnValue = executor.isTrue;
+                              true;
+                      - key:
+                          name: CDSDeleteResponseTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteResponseTask
+                            version: 0.0.1
+                          inputFields:
+                            entry:
+                              - key: actionIdentifiers
+                                value:
+                                  key: actionIdentifiers
+                                  fieldSchemaKey:
+                                    name: CDSActionIdentifiersType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: commonHeader
+                                value:
+                                  key: commonHeader
+                                  fieldSchemaKey:
+                                    name: CDSResponseCommonHeaderType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSDeleteResponsePayloadType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: status
+                                value:
+                                  key: status
+                                  fieldSchemaKey:
+                                    name: CDSResponseStatusType
+                                    version: 0.0.1
+                                  optional: false
+                          outputFields:
+                            entry:
+                              - key: status
+                                value:
+                                  key: status
+                                  fieldSchemaKey:
+                                    name: SubscriptionStatusType
+                                    version: 0.0.1
+                                  optional: false
+                          taskParameters:
+                            entry: []
+                          contextAlbumReference:
+                            - name: PMSubscriptionAlbum
+                              version: 0.0.1
+                          taskLogic:
+                            key: TaskLogic
+                            logicFlavour: JAVASCRIPT
+                            logic: |-
+                              /*
+                               * ============LICENSE_START=======================================================
+                               *  Copyright (C) 2020 Nordix. All rights reserved.
+                               * ================================================================================
+                               * Licensed under the Apache License, Version 2.0 (the "License");
+                               * you may not use this file except in compliance with the License.
+                               * You may obtain a copy of the License at
+                               *
+                               *      http://www.apache.org/licenses/LICENSE-2.0
+                               *
+                               * Unless required by applicable law or agreed to in writing, software
+                               * distributed under the License is distributed on an "AS IS" BASIS,
+                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+                               * See the License for the specific language governing permissions and
+                               * limitations under the License.
+                               *
+                               * SPDX-License-Identifier: Apache-2.0
+                               * ============LICENSE_END=========================================================
+                               */
+
+                              executor.logger.info(executor.subject.id);
+
+                              var commonHeader = executor.inFields.get("commonHeader")
+                              var response = executor.inFields.get("payload")
+                              var albumID = commonHeader.get("requestId")
+
+                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
+                              var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
+
+                              responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+                              responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
+                              responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
+
+                              var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
+
+                              executor.logger.info("RESPONSE STATUS = " + status)
+
+                              if(status == "success") {
+                                  responseStatus.put("message", "success")
+                              } else {
+                                  responseStatus.put("message", "failed")
+                              }
+
+                              executor.outFields.put("status", responseStatus)
+
+                              //var returnValue = executor.isTrue;
+                              true;
+                      - key:
+                          name: CreateSubscriptionPayloadTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CreateSubscriptionPayloadTask
+                            version: 0.0.1
+                          inputFields:
+                            entry:
+                              - key: albumID
+                                value:
+                                  key: albumID
+                                  fieldSchemaKey:
+                                    name: UUIDType
+                                    version: 0.0.1
+                                  optional: false
+                          outputFields:
+                            entry:
+                              - key: albumID
+                                value:
+                                  key: albumID
+                                  fieldSchemaKey:
+                                    name: UUIDType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSCreateSubscriptionPayloadType
+                                    version: 0.0.1
+                                  optional: false
+                          taskParameters:
+                            entry: []
+                          contextAlbumReference:
+                            - name: PMSubscriptionAlbum
+                              version: 0.0.1
+                          taskLogic:
+                            key: TaskLogic
+                            logicFlavour: JAVASCRIPT
+                            logic: |-
+                              /*
+                               * ============LICENSE_START=======================================================
+                               *  Copyright (C) 2020 Nordix. All rights reserved.
+                               * ================================================================================
+                               * Licensed under the Apache License, Version 2.0 (the "License");
+                               * you may not use this file except in compliance with the License.
+                               * You may obtain a copy of the License at
+                               *
+                               *      http://www.apache.org/licenses/LICENSE-2.0
+                               *
+                               * Unless required by applicable law or agreed to in writing, software
+                               * distributed under the License is distributed on an "AS IS" BASIS,
+                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+                               * See the License for the specific language governing permissions and
+                               * limitations under the License.
+                               *
+                               * SPDX-License-Identifier: Apache-2.0
+                               * ============LICENSE_END=========================================================
+                               */
+
+                              executor.logger.info(executor.subject.id);
+
+                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+
+                              var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+
+                              var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
+
+                              payloadProperties.put("nfName",  pmSubscriptionInfo.get("nfName"))
+                              payloadProperties.put("subscriptionName",  pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+                              payloadProperties.put("administrativeState", pmSubscriptionInfo.get("subscription").get("administrativeState"))
+                              payloadProperties.put("fileBasedGP",  pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
+                              payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
+                              payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
+
+                              var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
+                              payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
+
+                              var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
+                              payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
+
+                              executor.outFields.put("albumID", executor.inFields.get("albumID"))
+                              executor.outFields.put("payload", payload);
+
+                              //var returnValue = executor.isTrue;
+                              true;
+                      - key:
+                          name: CreateSubscriptionRequestTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CreateSubscriptionRequestTask
+                            version: 0.0.1
+                          inputFields:
+                            entry:
+                              - key: albumID
+                                value:
+                                  key: albumID
+                                  fieldSchemaKey:
+                                    name: UUIDType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSCreateSubscriptionPayloadType
+                                    version: 0.0.1
+                                  optional: false
+                          outputFields:
+                            entry:
+                              - key: actionIdentifiers
+                                value:
+                                  key: actionIdentifiers
+                                  fieldSchemaKey:
+                                    name: CDSActionIdentifiersType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: commonHeader
+                                value:
+                                  key: commonHeader
+                                  fieldSchemaKey:
+                                    name: CDSRequestCommonHeaderType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSCreateSubscriptionPayloadType
+                                    version: 0.0.1
+                                  optional: false
+                          taskParameters:
+                            entry: []
+                          contextAlbumReference:
+                            - name: PMSubscriptionAlbum
+                              version: 0.0.1
+                          taskLogic:
+                            key: TaskLogic
+                            logicFlavour: JAVASCRIPT
+                            logic: |-
+                              /*
+                               * ============LICENSE_START=======================================================
+                               *  Copyright (C) 2020 Nordix. All rights reserved.
+                               * ================================================================================
+                               * Licensed under the Apache License, Version 2.0 (the "License");
+                               * you may not use this file except in compliance with the License.
+                               * You may obtain a copy of the License at
+                               *
+                               *      http://www.apache.org/licenses/LICENSE-2.0
+                               *
+                               * Unless required by applicable law or agreed to in writing, software
+                               * distributed under the License is distributed on an "AS IS" BASIS,
+                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+                               * See the License for the specific language governing permissions and
+                               * limitations under the License.
+                               *
+                               * SPDX-License-Identifier: Apache-2.0
+                               * ============LICENSE_END=========================================================
+                               */
+
+                              executor.logger.info(executor.subject.id);
+
+                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+
+                              var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+                              var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
+                              var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
+                              var payload = executor.inFields.get("payload")
+                              var actionName = changeType + "-subscription"
+
+                              var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
+                              commonHeader.put("originatorId", "sdnc");
+                              commonHeader.put("requestId", executor.inFields.get("albumID").toString());
+                              commonHeader.put("subRequestId", "sub-123456-1000");
+
+                              var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
+                              actionIdentifiers.put("actionName", actionName);
+                              actionIdentifiers.put("blueprintName", blueprintName);
+                              actionIdentifiers.put("blueprintVersion", blueprintVersion);
+                              actionIdentifiers.put("mode", "sync");
+
+                              executor.outFields.put("commonHeader", commonHeader);
+                              executor.outFields.put("actionIdentifiers", actionIdentifiers);
+                              executor.outFields.put("payload", payload);
+
+                              //var returnValue = executor.isTrue;
+                              true;
+                      - key:
+                          name: DeleteSubscriptionPayloadTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: DeleteSubscriptionPayloadTask
+                            version: 0.0.1
+                          inputFields:
+                            entry:
+                              - key: albumID
+                                value:
+                                  key: albumID
+                                  fieldSchemaKey:
+                                    name: UUIDType
+                                    version: 0.0.1
+                                  optional: false
+                          outputFields:
+                            entry:
+                              - key: albumID
+                                value:
+                                  key: albumID
+                                  fieldSchemaKey:
+                                    name: UUIDType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSDeleteSubscriptionPayloadType
+                                    version: 0.0.1
+                                  optional: false
+                          taskParameters:
+                            entry: []
+                          contextAlbumReference:
+                            - name: PMSubscriptionAlbum
+                              version: 0.0.1
+                          taskLogic:
+                            key: TaskLogic
+                            logicFlavour: JAVASCRIPT
+                            logic: |-
+                              /*
+                               * ============LICENSE_START=======================================================
+                               *  Copyright (C) 2020 Nordix. All rights reserved.
+                               * ================================================================================
+                               * Licensed under the Apache License, Version 2.0 (the "License");
+                               * you may not use this file except in compliance with the License.
+                               * You may obtain a copy of the License at
+                               *
+                               *      http://www.apache.org/licenses/LICENSE-2.0
+                               *
+                               * Unless required by applicable law or agreed to in writing, software
+                               * distributed under the License is distributed on an "AS IS" BASIS,
+                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+                               * See the License for the specific language governing permissions and
+                               * limitations under the License.
+                               *
+                               * SPDX-License-Identifier: Apache-2.0
+                               * ============LICENSE_END=========================================================
+                               */
+
+                              executor.logger.info(executor.subject.id);
+
+                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+
+                              var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+
+                              var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
+
+                              payloadProperties.put("nfName",  pmSubscriptionInfo.get("nfName"))
+                              payloadProperties.put("subscriptionName",  pmSubscriptionInfo.get("subscription").get("subscriptionName"))
+                              payloadProperties.put("administrativeState", pmSubscriptionInfo.get("subscription").get("administrativeState"))
+                              payloadProperties.put("fileBasedGP",  pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
+                              payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
+                              payloadProperties.put("measurementGroups", pmSubscriptionInfo.get("subscription").get("measurementGroups"))
+
+                              var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
+                              payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
+
+                              var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
+                              payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
+
+                              executor.outFields.put("albumID", executor.inFields.get("albumID"))
+                              executor.outFields.put("payload", payload);
+
+                              //var returnValue = executor.isTrue;
+                              true;
+                      - key:
+                          name: DeleteSubscriptionRequestTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: DeleteSubscriptionRequestTask
+                            version: 0.0.1
+                          inputFields:
+                            entry:
+                              - key: albumID
+                                value:
+                                  key: albumID
+                                  fieldSchemaKey:
+                                    name: UUIDType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSDeleteSubscriptionPayloadType
+                                    version: 0.0.1
+                                  optional: false
+                          outputFields:
+                            entry:
+                              - key: actionIdentifiers
+                                value:
+                                  key: actionIdentifiers
+                                  fieldSchemaKey:
+                                    name: CDSActionIdentifiersType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: commonHeader
+                                value:
+                                  key: commonHeader
+                                  fieldSchemaKey:
+                                    name: CDSRequestCommonHeaderType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSDeleteSubscriptionPayloadType
+                                    version: 0.0.1
+                                  optional: false
+                          taskParameters:
+                            entry: []
+                          contextAlbumReference:
+                            - name: PMSubscriptionAlbum
+                              version: 0.0.1
+                          taskLogic:
+                            key: TaskLogic
+                            logicFlavour: JAVASCRIPT
+                            logic: |-
+                              /*
+                               * ============LICENSE_START=======================================================
+                               *  Copyright (C) 2020 Nordix. All rights reserved.
+                               * ================================================================================
+                               * Licensed under the Apache License, Version 2.0 (the "License");
+                               * you may not use this file except in compliance with the License.
+                               * You may obtain a copy of the License at
+                               *
+                               *      http://www.apache.org/licenses/LICENSE-2.0
+                               *
+                               * Unless required by applicable law or agreed to in writing, software
+                               * distributed under the License is distributed on an "AS IS" BASIS,
+                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+                               * See the License for the specific language governing permissions and
+                               * limitations under the License.
+                               *
+                               * SPDX-License-Identifier: Apache-2.0
+                               * ============LICENSE_END=========================================================
+                               */
+
+                              executor.logger.info(executor.subject.id);
+
+                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
+
+                              var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
+                              var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
+                              var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
+                              var payload = executor.inFields.get("payload")
+                              var actionName = changeType + "-subscription"
+
+                              var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
+                              commonHeader.put("originatorId", "sdnc");
+                              commonHeader.put("requestId", executor.inFields.get("albumID").toString());
+                              commonHeader.put("subRequestId", "sub-123456-1000");
+
+                              var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
+                              actionIdentifiers.put("actionName", actionName);
+                              actionIdentifiers.put("blueprintName", blueprintName);
+                              actionIdentifiers.put("blueprintVersion", blueprintVersion);
+                              actionIdentifiers.put("mode", "sync");
+
+                              executor.outFields.put("commonHeader", commonHeader);
+                              executor.outFields.put("actionIdentifiers", actionIdentifiers);
+                              executor.outFields.put("payload", payload);
+
+                              //var returnValue = executor.isTrue;
+                              true;
+                      - key:
+                          name: ReceiveSubscriptionTask
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: ReceiveSubscriptionTask
+                            version: 0.0.1
+                          inputFields:
+                            entry:
+                              - key: blueprintName
+                                value:
+                                  key: blueprintName
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: blueprintVersion
+                                value:
+                                  key: blueprintVersion
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: changeType
+                                value:
+                                  key: changeType
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: closedLoopControlName
+                                value:
+                                  key: closedLoopControlName
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: nfName
+                                value:
+                                  key: nfName
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: policyName
+                                value:
+                                  key: policyName
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: subscription
+                                value:
+                                  key: subscription
+                                  fieldSchemaKey:
+                                    name: SubscriptionType
+                                    version: 0.0.1
+                                  optional: false
+                          outputFields:
+                            entry:
+                              - key: albumID
+                                value:
+                                  key: albumID
+                                  fieldSchemaKey:
+                                    name: UUIDType
+                                    version: 0.0.1
+                                  optional: false
+                          taskParameters:
+                            entry: []
+                          contextAlbumReference:
+                            - name: PMSubscriptionAlbum
+                              version: 0.0.1
+                          taskLogic:
+                            key: TaskLogic
+                            logicFlavour: JAVASCRIPT
+                            logic: |-
+                              /*
+                               * ============LICENSE_START=======================================================
+                               *  Copyright (C) 2020 Nordix. All rights reserved.
+                               * ================================================================================
+                               * Licensed under the Apache License, Version 2.0 (the "License");
+                               * you may not use this file except in compliance with the License.
+                               * You may obtain a copy of the License at
+                               *
+                               *      http://www.apache.org/licenses/LICENSE-2.0
+                               *
+                               * Unless required by applicable law or agreed to in writing, software
+                               * distributed under the License is distributed on an "AS IS" BASIS,
+                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+                               * See the License for the specific language governing permissions and
+                               * limitations under the License.
+                               *
+                               * SPDX-License-Identifier: Apache-2.0
+                               * ============LICENSE_END=========================================================
+                               */
+                              var uuidType = java.util.UUID;
+
+                              executor.logger.info(executor.subject.id);
+
+                              //albumID will be used to fetch info from our album later
+                              var albumID = uuidType.randomUUID();
+                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").getSchemaHelper().createNewInstance();
+                              var returnValue = true;
+
+                              if(executor.inFields.get("policyName") != null) {
+                                  executor.logger.info("nfName in receive sub event " + executor.inFields.get("nfName"));
+
+                                  var changeType = executor.inFields.get("changeType")
+                                  var nfName = executor.inFields.get("nfName")
+                                  var policyName = executor.inFields.get("policyName")
+                                  var closedLoopControlName = executor.inFields.get("closedLoopControlName")
+                                  var subscription = executor.inFields.get("subscription")
+                                  var blueprintName = executor.inFields.get("blueprintName")
+                                  var blueprintVersion = executor.inFields.get("blueprintVersion")
+
+                                  pmSubscriptionInfo.put("nfName", executor.inFields.get("nfName"));
+                                  pmSubscriptionInfo.put("changeType", executor.inFields.get("changeType"))
+                                  pmSubscriptionInfo.put("policyName", executor.inFields.get("policyName"))
+                                  pmSubscriptionInfo.put("closedLoopControlName", executor.inFields.get("closedLoopControlName"))
+                                  pmSubscriptionInfo.put("subscription", subscription)
+                                  pmSubscriptionInfo.put("blueprintName", blueprintName)
+                                  pmSubscriptionInfo.put("blueprintVersion", blueprintVersion)
+
+
+                                  executor.getContextAlbum("PMSubscriptionAlbum").put(albumID.toString(), pmSubscriptionInfo);
+
+                                  executor.outFields.put("albumID", albumID)
+                              } else {
+                                  executor.message = "Received invalid event"
+                                  returnValue = false;
+                              }
+
+                              returnValue;
+                events:
+                  key:
+                    name: PMControlPolicy_Events
+                    version: 0.0.1
+                  eventMap:
+                    entry:
+                      - key:
+                          name: CDSCreateResponseEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateResponseEvent
+                            version: 0.0.1
+                          nameSpace: org.onap.policy.apex.onap.pmcontrol
+                          source: CDS
+                          target: APEX
+                          parameter:
+                            entry:
+                              - key: actionIdentifiers
+                                value:
+                                  key: actionIdentifiers
+                                  fieldSchemaKey:
+                                    name: CDSActionIdentifiersType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: commonHeader
+                                value:
+                                  key: commonHeader
+                                  fieldSchemaKey:
+                                    name: CDSResponseCommonHeaderType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSCreateResponsePayloadType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: status
+                                value:
+                                  key: status
+                                  fieldSchemaKey:
+                                    name: CDSResponseStatusType
+                                    version: 0.0.1
+                                  optional: false
+                      - key:
+                          name: CDSCreateSubscriptionRequestEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateSubscriptionRequestEvent
+                            version: 0.0.1
+                          nameSpace: org.onap.policy.apex.onap.pmcontrol
+                          source: APEX
+                          target: APEX
+                          parameter:
+                            entry:
+                              - key: actionIdentifiers
+                                value:
+                                  key: actionIdentifiers
+                                  fieldSchemaKey:
+                                    name: CDSActionIdentifiersType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: commonHeader
+                                value:
+                                  key: commonHeader
+                                  fieldSchemaKey:
+                                    name: CDSRequestCommonHeaderType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSCreateSubscriptionPayloadType
+                                    version: 0.0.1
+                                  optional: false
+                      - key:
+                          name: CDSDeleteResponseEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteResponseEvent
+                            version: 0.0.1
+                          nameSpace: org.onap.policy.apex.onap.pmcontrol
+                          source: CDS
+                          target: APEX
+                          parameter:
+                            entry:
+                              - key: actionIdentifiers
+                                value:
+                                  key: actionIdentifiers
+                                  fieldSchemaKey:
+                                    name: CDSActionIdentifiersType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: commonHeader
+                                value:
+                                  key: commonHeader
+                                  fieldSchemaKey:
+                                    name: CDSResponseCommonHeaderType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSDeleteResponsePayloadType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: status
+                                value:
+                                  key: status
+                                  fieldSchemaKey:
+                                    name: CDSResponseStatusType
+                                    version: 0.0.1
+                                  optional: false
+                      - key:
+                          name: CDSDeleteSubscriptionRequestEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteSubscriptionRequestEvent
+                            version: 0.0.1
+                          nameSpace: org.onap.policy.apex.onap.pmcontrol
+                          source: APEX
+                          target: APEX
+                          parameter:
+                            entry:
+                              - key: actionIdentifiers
+                                value:
+                                  key: actionIdentifiers
+                                  fieldSchemaKey:
+                                    name: CDSActionIdentifiersType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: commonHeader
+                                value:
+                                  key: commonHeader
+                                  fieldSchemaKey:
+                                    name: CDSRequestCommonHeaderType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSDeleteSubscriptionPayloadType
+                                    version: 0.0.1
+                                  optional: false
+                      - key:
+                          name: CDSResponseStatusEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSResponseStatusEvent
+                            version: 0.0.1
+                          nameSpace: org.onap.policy.apex.onap.pmcontrol
+                          source: APEX
+                          target: DCAE
+                          parameter:
+                            entry:
+                              - key: status
+                                value:
+                                  key: status
+                                  fieldSchemaKey:
+                                    name: SubscriptionStatusType
+                                    version: 0.0.1
+                                  optional: false
+                      - key:
+                          name: CreateSubscriptionPayloadEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CreateSubscriptionPayloadEvent
+                            version: 0.0.1
+                          nameSpace: org.onap.policy.apex.onap.pmcontrol
+                          source: APEX
+                          target: APEX
+                          parameter:
+                            entry:
+                              - key: albumID
+                                value:
+                                  key: albumID
+                                  fieldSchemaKey:
+                                    name: UUIDType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSCreateSubscriptionPayloadType
+                                    version: 0.0.1
+                                  optional: false
+                      - key:
+                          name: DeleteSubscriptionPayloadEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: DeleteSubscriptionPayloadEvent
+                            version: 0.0.1
+                          nameSpace: org.onap.policy.apex.onap.pmcontrol
+                          source: APEX
+                          target: APEX
+                          parameter:
+                            entry:
+                              - key: albumID
+                                value:
+                                  key: albumID
+                                  fieldSchemaKey:
+                                    name: UUIDType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: payload
+                                value:
+                                  key: payload
+                                  fieldSchemaKey:
+                                    name: CDSDeleteSubscriptionPayloadType
+                                    version: 0.0.1
+                                  optional: false
+                      - key:
+                          name: MRResponseEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: MRResponseEvent
+                            version: 0.0.1
+                          nameSpace: org.onap.policy.apex.onap.pmcontrol
+                          source: DCAE
+                          target: APEX
+                          parameter:
+                            entry:
+                              - key: count
+                                value:
+                                  key: count
+                                  fieldSchemaKey:
+                                    name: SimpleIntType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: serverTimeMs
+                                value:
+                                  key: serverTimeMs
+                                  fieldSchemaKey:
+                                    name: SimpleIntType
+                                    version: 0.0.1
+                                  optional: false
+                      - key:
+                          name: PMSubscriptionOutputEvent
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMSubscriptionOutputEvent
+                            version: 0.0.1
+                          nameSpace: org.onap.policy.apex.onap.pmcontrol
+                          source: APEX
+                          target: APEX
+                          parameter:
+                            entry:
+                              - key: albumID
+                                value:
+                                  key: albumID
+                                  fieldSchemaKey:
+                                    name: UUIDType
+                                    version: 0.0.1
+                                  optional: false
+                      - key:
+                          name: pmsh-operational-policy
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: pmsh-operational-policy
+                            version: 0.0.1
+                          nameSpace: org.onap.policy.apex.onap.pmcontrol
+                          source: DCAE
+                          target: APEX
+                          parameter:
+                            entry:
+                              - key: blueprintName
+                                value:
+                                  key: blueprintName
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: blueprintVersion
+                                value:
+                                  key: blueprintVersion
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: changeType
+                                value:
+                                  key: changeType
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: closedLoopControlName
+                                value:
+                                  key: closedLoopControlName
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: nfName
+                                value:
+                                  key: nfName
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: policyName
+                                value:
+                                  key: policyName
+                                  fieldSchemaKey:
+                                    name: SimpleStringType
+                                    version: 0.0.1
+                                  optional: false
+                              - key: subscription
+                                value:
+                                  key: subscription
+                                  fieldSchemaKey:
+                                    name: SubscriptionType
+                                    version: 0.0.1
+                                  optional: false
+                albums:
+                  key:
+                    name: PMControlPolicy_Albums
+                    version: 0.0.1
+                  albums:
+                    entry:
+                      - key:
+                          name: PMSubscriptionAlbum
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMSubscriptionAlbum
+                            version: 0.0.1
+                          scope: policy
+                          isWritable: true
+                          itemSchema:
+                            name: PMSubscriptionType
+                            version: 0.0.1
+                schemas:
+                  key:
+                    name: PMControlPolicy_Schemas
+                    version: 0.0.1
+                  schemas:
+                    entry:
+                      - key:
+                          name: CDSActionIdentifiersType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSActionIdentifiersType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: |-
+                            {
+                                "type": "record",
+                                "name": "ActionIdentifiers_Type",
+                                "namespace": "org.onap.policy.apex.onap.helloworld",
+                                "fields": [
+                                    {
+                                        "name": "actionName",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "blueprintName",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "blueprintVersion",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "mode",
+                                        "type": "string"
+                                    }
+                                ]
+                            }
+                      - key:
+                          name: CDSCreateResponsePayloadType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateResponsePayloadType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: |-
+                            {
+                              "name": "CreateResponsePayloadEntry",
+                              "type": "record",
+                              "namespace": "org.onap.policy.apex.onap.helloworld",
+                              "fields": [
+                                {
+                                  "name": "create_DasH_subscription_DasH_response",
+                                  "type": {
+                                    "name": "create_DasH_subscription_DasH_response",
+                                    "type": "record",
+                                    "fields": [
+                                      {
+                                        "name": "odl_DasH_response",
+                                        "type": {
+                                          "name": "odl_DasH_response",
+                                          "type": "record",
+                                          "fields": [
+                                              {
+                                                "name": "status",
+                                                "type": "string"
+                                              }
+                                          ]
+                                        }
+                                      }
+                                    ]
+                                  }
+                                }
+                              ]
+                            }
+                      - key:
+                          name: CDSCreateSubscriptionPayloadType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSCreateSubscriptionPayloadType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: |-
+                            {
+                              "type": "map",
+                              "values": {
+                                "type": "record",
+                                "name": "CDSRequestPayloadEntry",
+                                "fields": [
+                                  {
+                                    "name": "create_DasH_subscription_DasH_properties",
+                                    "type": {
+                                      "name": "create_DasH_subscription_DasH_properties_record",
+                                      "type": "record",
+                                      "fields": [
+                                        {
+                                          "name": "nfName",
+                                          "type": "string"
+                                        },
+                                        {
+                                          "name": "subscriptionName",
+                                          "type": "string"
+                                        },
+                                        {
+                                          "name": "administrativeState",
+                                          "type": "string"
+                                        },
+                                        {
+                                          "name": "fileBasedGP",
+                                          "type": "string"
+                                        },
+                                        {
+                                          "name": "fileLocation",
+                                          "type": "string"
+                                        },
+                                        {
+                                          "name": "measurementGroups",
+                                          "type": {
+                                            "type": "array",
+                                            "items": {
+                                              "name": "measurementGroups_record",
+                                              "type": "record",
+                                              "fields": [
+                                                {
+                                                  "name": "measurementGroup",
+                                                  "type": {
+                                                    "name": "measurementGroup",
+                                                    "type": "record",
+                                                    "fields": [
+                                                      {
+                                                        "name": "measurementTypes",
+                                                        "type": {
+                                                          "type": "array",
+                                                          "items": {
+                                                            "name": "measurementTypes_record",
+                                                            "type": "record",
+                                                            "fields": [
+                                                              {
+                                                                "name": "measurementType",
+                                                                "type": "string"
+                                                              }
+                                                            ]
+                                                          }
+                                                        }
+                                                      },
+                                                      {
+                                                        "name": "managedObjectDNsBasic",
+                                                        "type": {
+                                                          "type": "array",
+                                                          "items": {
+                                                            "name": "managedObjectDNsBasic_record",
+                                                            "type": "record",
+                                                            "fields": [
+                                                              {
+                                                                "name": "DN",
+                                                                "type": "string"
+                                                              }
+                                                            ]
+                                                          }
+                                                        }
+                                                      }
+                                                    ]
+                                                  }
+                                                }
+                                              ]
+                                            }
+                                          }
+                                        }
+                                      ]
+                                    }
+                                  }
+                                ]
+                              }
+                            }
+                      - key:
+                          name: CDSDeleteResponsePayloadType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteResponsePayloadType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: |-
+                            {
+                              "name": "DeleteResponsePayloadEntry",
+                              "type": "record",
+                              "namespace": "com.acme.avro",
+                              "fields": [
+                                {
+                                  "name": "delete_DasH_subscription_DasH_response",
+                                  "type": {
+                                    "name": "delete_DasH_subscription_DasH_response",
+                                    "type": "record",
+                                    "fields": [
+                                      {
+                                        "name": "odl_DasH_response",
+                                        "type": {
+                                          "name": "odl_DasH_response",
+                                          "type": "record",
+                                          "fields": [
+                                              {
+                                                "name": "status",
+                                                "type": "string"
+                                              }
+                                          ]
+                                        }
+                                      }
+                                    ]
+                                  }
+                                }
+                              ]
+                            }
+                      - key:
+                          name: CDSDeleteSubscriptionPayloadType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSDeleteSubscriptionPayloadType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: |-
+                            {
+                              "type": "map",
+                              "values": {
+                                "type": "record",
+                                "name": "CDSRequestPayloadEntry",
+                                "fields": [
+                                  {
+                                    "name": "delete_DasH_subscription_DasH_properties",
+                                    "type": {
+                                      "name": "delete_DasH_subscription_DasH_properties_record",
+                                      "type": "record",
+                                      "fields": [
+                                        {
+                                          "name": "nfName",
+                                          "type": "string"
+                                        },
+                                        {
+                                          "name": "subscriptionName",
+                                          "type": "string"
+                                        },
+                                        {
+                                          "name": "administrativeState",
+                                          "type": "string"
+                                        },
+                                        {
+                                          "name": "fileBasedGP",
+                                          "type": "string"
+                                        },
+                                        {
+                                          "name": "fileLocation",
+                                          "type": "string"
+                                        },
+                                        {
+                                          "name": "measurementGroups",
+                                          "type": {
+                                            "type": "array",
+                                            "items": {
+                                              "name": "measurementGroups_record",
+                                              "type": "record",
+                                              "fields": [
+                                                {
+                                                  "name": "measurementGroup",
+                                                  "type": {
+                                                    "name": "measurementGroup",
+                                                    "type": "record",
+                                                    "fields": [
+                                                      {
+                                                        "name": "measurementTypes",
+                                                        "type": {
+                                                          "type": "array",
+                                                          "items": {
+                                                            "name": "measurementTypes_record",
+                                                            "type": "record",
+                                                            "fields": [
+                                                              {
+                                                                "name": "measurementType",
+                                                                "type": "string"
+                                                              }
+                                                            ]
+                                                          }
+                                                        }
+                                                      },
+                                                      {
+                                                        "name": "managedObjectDNsBasic",
+                                                        "type": {
+                                                          "type": "array",
+                                                          "items": {
+                                                            "name": "managedObjectDNsBasic_record",
+                                                            "type": "record",
+                                                            "fields": [
+                                                              {
+                                                                "name": "DN",
+                                                                "type": "string"
+                                                              }
+                                                            ]
+                                                          }
+                                                        }
+                                                      }
+                                                    ]
+                                                  }
+                                                }
+                                              ]
+                                            }
+                                          }
+                                        }
+                                      ]
+                                    }
+                                  }
+                                ]
+                              }
+                            }
+                      - key:
+                          name: CDSRequestCommonHeaderType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSRequestCommonHeaderType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: |-
+                            {
+                                "type": "record",
+                                "name": "RequestCommonHeader_Type",
+                                "namespace": "org.onap.policy.apex.onap.helloworld",
+                                "fields": [
+                                    {
+                                        "name": "originatorId",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "requestId",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "subRequestId",
+                                        "type": "string"
+                                    }
+                                ]
+                            }
+                      - key:
+                          name: CDSResponseCommonHeaderType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSResponseCommonHeaderType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: |-
+                            {
+                                "type": "record",
+                                "name": "ResponseCommonHeader_Type",
+                                "namespace": "org.onap.policy.apex.onap.helloworld",
+                                "fields": [
+                                    {
+                                        "name": "originatorId",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "requestId",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "subRequestId",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "timestamp",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "flags",
+                                        "type": ["null", "string"]
+                                    }
+                                ]
+                            }
+                      - key:
+                          name: CDSResponseStatusType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: CDSResponseStatusType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: |-
+                            {
+                                "type": "record",
+                                "name": "ResponseStatus_Type",
+                                "namespace": "org.onap.policy.apex.onap.helloworld",
+                                "fields": [
+                                    {
+                                        "name": "code",
+                                        "type": "int"
+                                    },
+                                    {
+                                        "name": "eventType",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "timestamp",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "message",
+                                        "type": "string"
+                                    }
+                                ]
+                            }
+                      - key:
+                          name: PMSubscriptionType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: PMSubscriptionType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: "{\n\t\"name\": \"PMSubscription\",\n\t\"type\": \"record\",\n\t\"namespace\": \"\
+                        org.onap.policy.apex.onap.pmcontrol\",\n\t\"fields\": [\n        {\n            \"name\": \"nfName\"\
+                        ,\n            \"type\": \"string\"\n        },\n\t    {\n\t\t\t\"name\": \"changeType\",\n\t\t\t\"\
+                        type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"closedLoopControlName\",\n\t\t\t\"type\": \"\
+                        string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"policyName\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\
+                        {\n\t\t    \"name\": \"blueprintName\",\n\t\t    \"type\": \"string\"\n\t\t},\n\t\t{\n\t\t    \"name\"\
+                        : \"blueprintVersion\",\n\t\t    \"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"subscription\"\
+                        ,\n\t\t\t\"type\": {\n\t\t\t\t\"name\": \"subscription\",\n\t\t\t\t\"type\": \"record\",\n\t\t\t\t\
+                        \"fields\": [{\n\t\t\t\t\t\t\"name\": \"subscriptionName\",\n\t\t\t\t\t\t\"type\": \"string\"\n\t\t\
+                        \t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"administrativeState\",\n\t\t\t\t\t\t\"type\": \"string\"\
+                        \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"fileBasedGP\",\n\t\t\t\t\t\t\"type\": \"int\"\
+                        \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"fileLocation\",\n\t\t\t\t\t\t\"type\": \"string\"\
+                        \n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t\"name\": \"measurementGroups\",\n\t\t\t\t\t\t\"type\": {\n\
+                        \t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\"name\": \"Measurement_Groups_Type\"\
+                        ,\n\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\"name\"\
+                        : \"measurementGroup\",\n\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"name\": \"Measurement_Group_Type\"\
+                        ,\n\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\
+                        \t\t\t\t\"name\": \"measurementTypes\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\
+                        \t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\
+                        name\": \"Measurement_Types_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
+                        \t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"measurementType\",\n\t\
+                        \t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\
+                        \t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\
+                        \t\t\t\t\t\t\t\t\"name\": \"managedObjectDNsBasic\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\
+                        \t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\
+                        \t\t\t\t\t\"name\": \"Managed_Object_Dns_Basic_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\"\
+                        ,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"DN\",\n\t\
+                        \t\t\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\
+                        \t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\
+                        \t\t\t\t}\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\
+                        \t}\n\t]\n}"
+                      - key:
+                          name: SimpleIntType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: SimpleIntType
+                            version: 0.0.1
+                          schemaFlavour: Java
+                          schemaDefinition: java.lang.Integer
+                      - key:
+                          name: SimpleStringType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: SimpleStringType
+                            version: 0.0.1
+                          schemaFlavour: Java
+                          schemaDefinition: java.lang.String
+                      - key:
+                          name: SubscriptionStatusType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: SubscriptionStatusType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: |-
+                            {
+                                "type": "record",
+                                "name": "ActivateSubscriptionStatus_Type",
+                                "namespace": "org.onap.policy.apex.onap.helloworld",
+                                "fields": [
+                                    {
+                                        "name": "subscriptionName",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "nfName",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "changeType",
+                                        "type": "string"
+                                    },
+                                    {
+                                        "name": "message",
+                                        "type": "string"
+                                    }
+                                ]
+                            }
+                      - key:
+                          name: SubscriptionType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: SubscriptionType
+                            version: 0.0.1
+                          schemaFlavour: Avro
+                          schemaDefinition: "{\n\t\"name\": \"subscription\",\n\t\"type\": \"record\",\n\t\"fields\": [{\n\t\t\
+                        \t\"name\": \"subscriptionName\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"administrativeState\"\
+                        ,\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"fileBasedGP\",\n\t\t\t\"type\": \"\
+                        int\"\n\t\t},\n\t\t{\n\t\t\t\"name\": \"fileLocation\",\n\t\t\t\"type\": \"string\"\n\t\t},\n\t\t\
+                        {\n\t\t\t\"name\": \"measurementGroups\",\n\t\t\t\"type\": {\n\t\t\t\t\"type\": \"array\",\n\t\t\t\
+                        \t\"items\": {\n\t\t\t\t\t\"name\": \"Measurement_Groups_Type\",\n\t\t\t\t\t\"type\": \"record\",\n\
+                        \t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\"name\": \"measurementGroup\",\n\t\t\t\t\t\t\"type\": {\n\t\
+                        \t\t\t\t\t\t\"name\": \"Measurement_Group_Type\",\n\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
+                        \t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\"name\": \"measurementTypes\",\n\t\t\t\t\t\t\t\t\t\"type\"\
+                        : {\n\t\t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\"items\": {\n\t\t\t\t\t\t\t\t\t\
+                        \t\t\"name\": \"Measurement_Types_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\"type\": \"record\",\n\t\t\t\t\t\
+                        \t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"measurementType\",\n\t\t\t\t\t\t\t\
+                        \t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\
+                        }\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\"name\": \"managedObjectDNsBasic\",\n\
+                        \t\t\t\t\t\t\t\t\t\"type\": {\n\t\t\t\t\t\t\t\t\t\t\"type\": \"array\",\n\t\t\t\t\t\t\t\t\t\t\"items\"\
+                        : {\n\t\t\t\t\t\t\t\t\t\t\t\"name\": \"Managed_Object_Dns_Basic_Type\",\n\t\t\t\t\t\t\t\t\t\t\t\"\
+                        type\": \"record\",\n\t\t\t\t\t\t\t\t\t\t\t\"fields\": [{\n\t\t\t\t\t\t\t\t\t\t\t\t\"name\": \"DN\"\
+                        ,\n\t\t\t\t\t\t\t\t\t\t\t\t\"type\": \"string\"\n\t\t\t\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t\t\t\t}\n\
+                        \t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}]\n\t\t\t\t}\n\t\
+                        \t\t}\n\t\t}\n\t]\n}"
+                      - key:
+                          name: UUIDType
+                          version: 0.0.1
+                        value:
+                          key:
+                            name: UUIDType
+                            version: 0.0.1
+                          schemaFlavour: Java
+                          schemaDefinition: java.util.UUID
+            engineParameters:
+              executorParameters:
+                JAVASCRIPT:
+                  parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters
+              contextParameters:
+                parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters
+                schemaParameters:
+                  Avro:
+                    parameterClassName: org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters
+                  Java:
+                    parameterClassName: org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters
+                    jsonAdapters:
+                      Instant:
+                        adaptedClass: java.time.Instant
+                        adaptorClass: org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter
+          eventInputParameters:
+            DCAEConsumer:
+              carrierTechnologyParameters:
+                carrierTechnology: RESTCLIENT
+                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
+                parameters:
+                  consumerPollTime: '50'
+                  url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/sg1
+              eventProtocolParameters:
+                eventProtocol: JSON
+                parameters:
+                  nameAlias: policyName
+              eventName: pmsh-operational-policy
+              eventNameFilter: pmsh-operational-policy
+            CDSRequestConsumer:
+              carrierTechnologyParameters:
+                carrierTechnology: RESTREQUESTOR
+                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+                parameters:
+                  url: http://10.10.10.184:30254/api/v1/execution-service/process
+                  httpMethod: POST
+                  restRequestTimeout: 2000
+                  httpHeaders:
+                    - - Authorization
+                      - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+              eventProtocolParameters:
+                eventProtocol: JSON
+              eventName: CDSCreateResponseEvent
+              eventNameFilter: CDSCreateResponseEvent
+              requestorMode: true
+              requestorPeer: CDSRequestProducer
+              requestorTimeout: 500
+            CDSDeleteRequestConsumer:
+              carrierTechnologyParameters:
+                carrierTechnology: RESTREQUESTOR
+                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+                parameters:
+                  url: http://10.10.10.184:30254/api/v1/execution-service/process
+                  httpMethod: POST
+                  restRequestTimeout: 2000
+                  httpHeaders:
+                    - - Authorization
+                      - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+              eventProtocolParameters:
+                eventProtocol: JSON
+              eventName: CDSDeleteResponseEvent
+              eventNameFilter: CDSDeleteResponseEvent
+              requestorMode: true
+              requestorPeer: CDSDeleteRequestProducer
+              requestorTimeout: 500
+            CDSReplyConsumer:
+              carrierTechnologyParameters:
+                carrierTechnology: RESTREQUESTOR
+                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+                parameters:
+                  url: https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT
+                  httpMethod: POST
+                  restRequestTimeout: 2000
+              eventProtocolParameters:
+                eventProtocol: JSON
+              eventName: MRResponseEvent
+              eventNameFilter: MRResponseEvent
+              requestorMode: true
+              requestorPeer: CDSReplyProducer
+              requestorTimeout: 500
+          eventOutputParameters:
+            logOutputter:
+              carrierTechnologyParameters:
+                carrierTechnology: FILE
+                parameters:
+                  fileName: /tmp/outputevents.log
+              eventProtocolParameters:
+                eventProtocol: JSON
+            StdOutOutputter:
+              carrierTechnologyParameters:
+                carrierTechnology: FILE
+                parameters:
+                  standardIo: true
+              eventProtocolParameters:
+                eventProtocol: JSON
+            CDSRequestProducer:
+              carrierTechnologyParameters:
+                carrierTechnology: RESTREQUESTOR
+                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+              eventProtocolParameters:
+                eventProtocol: JSON
+              eventNameFilter: CDSCreateSubscriptionRequestEvent
+              requestorMode: true
+              requestorPeer: CDSRequestConsumer
+              requestorTimeout: 500
+            CDSDeleteRequestProducer:
+              carrierTechnologyParameters:
+                carrierTechnology: RESTREQUESTOR
+                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+              eventProtocolParameters:
+                eventProtocol: JSON
+              eventNameFilter: CDSDeleteSubscriptionRequestEvent
+              requestorMode: true
+              requestorPeer: CDSDeleteRequestConsumer
+              requestorTimeout: 500
+            CDSReplyProducer:
+              carrierTechnologyParameters:
+                carrierTechnology: RESTREQUESTOR
+                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
+              eventProtocolParameters:
+                eventProtocol: JSON
+              eventNameFilter: CDSResponseStatusEvent
+              requestorMode: true
+              requestorPeer: CDSReplyConsumer
+              requestorTimeout: 500