Verify alignment with Definition of TOSCA Control Loop Types 92/123792/1
authorFrancescoFioraEst <francesco.fiora@est.tech>
Tue, 31 Aug 2021 14:55:59 +0000 (15:55 +0100)
committerFrancesco Fiora <francesco.fiora@est.tech>
Wed, 1 Sep 2021 12:03:42 +0000 (12:03 +0000)
Issue-ID: POLICY-3612
Change-Id: I818f80cdc1db98752a7791ef4aba7377add66516
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
24 files changed:
common/src/test/resources/demo/config/DEMO.postman_collection.json
common/src/test/resources/examples/controlloop/KubernetesHelm.yaml
common/src/test/resources/examples/controlloop/PMSubscriptionHandling.yaml
models/src/main/java/org/onap/policy/clamp/controlloop/models/controlloop/concepts/ParticipantDefinition.java
models/src/main/java/org/onap/policy/clamp/controlloop/models/messages/dmaap/participant/ControlLoopAck.java
models/src/main/java/org/onap/policy/clamp/controlloop/models/messages/dmaap/participant/ControlLoopStateChange.java
models/src/test/java/org/onap/policy/clamp/controlloop/models/messages/dmaap/participant/ParticipantStatusTest.java
models/src/test/java/org/onap/policy/clamp/controlloop/models/messages/dmaap/participant/ParticipantUpdateTest.java
participant/participant-impl/participant-impl-dcae/src/test/java/org/onap/policy/clamp/controlloop/participant/dcae/main/rest/TestListenerUtils.java
participant/participant-impl/participant-impl-dcae/src/test/resources/parameters/TestCLParams.json [deleted file]
participant/participant-impl/participant-impl-dcae/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml
participant/participant-impl/participant-impl-http/src/test/resources/HttpParticipantConfig.yaml
participant/participant-impl/participant-impl-kubernetes/src/test/resources/servicetemplates/KubernetesHelm.yaml
participant/participant-impl/participant-impl-policy/src/test/java/org/onap/policy/clamp/controlloop/participant/policy/main/utils/TestListenerUtils.java
participant/participant-impl/participant-impl-policy/src/test/resources/parameters/TestCLParams.yaml
participant/participant-impl/participant-impl-policy/src/test/resources/utils/servicetemplates/pm_control_loop_tosca.yaml
participant/participant-impl/participant-impl-simulator/src/test/java/org/onap/policy/clamp/controlloop/participant/simulator/main/rest/TestListenerUtils.java
participant/participant-impl/participant-impl-simulator/src/test/resources/rest/servicetemplates/pm_control_loop_tosca.yaml
participant/participant-intermediary/src/main/java/org/onap/policy/clamp/controlloop/participant/intermediary/handler/ParticipantHandler.java
runtime-controlloop/src/main/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/ParticipantUpdatePublisher.java
runtime-controlloop/src/test/java/org/onap/policy/clamp/controlloop/runtime/supervision/comm/SupervisionMessagesTest.java
runtime-controlloop/src/test/resources/rest/servicetemplates/PMSHMultipleCLTosca.yaml
runtime-controlloop/src/test/resources/rest/servicetemplates/full-tosca-with-common-properties.yaml
runtime-controlloop/src/test/resources/rest/servicetemplates/pmsh_multiple_cl_tosca.yaml

index 0b4c1f2..72a8535 100644 (file)
@@ -1,6 +1,6 @@
 {
        "info": {
-               "_postman_id": "44176e3a-cd0d-457f-9ea9-b414bc368f33",
+               "_postman_id": "edfbe445-135a-429d-ac2d-8e9c123c4e3c",
                "name": "DEMO",
                "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
        },
@@ -43,7 +43,7 @@
                                ],
                                "body": {
                                        "mode": "raw",
-                                       "raw": "tosca_definitions_version: tosca_simple_yaml_1_1_0\ndata_types:\n  onap.datatypes.ToscaConceptIdentifier:\n    derived_from: tosca.datatypes.Root\n    properties:\n      name:\n        type: string\n        required: true\n      version:\n        type: string\n        required: true\n  org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo:\n    name: org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    properties:\n      consulUrl:\n        name: consulUrl\n        type: string\n        typeVersion: 0.0.0\n        description: Consul url for this entry\n        required: true\n      consul_body:\n        name: consulBody\n        type: string\n        typeVersion: 0.0.0\n        description: Body of Consul entry\n        required: true\n  onap.datatype.controlloop.Target:\n    derived_from: tosca.datatypes.Root\n    description: Definition for a entity in A&AI to perform a control loop operation on\n    properties:\n      targetType:\n        type: string\n        description: Category for the target type\n        required: true\n        constraints:\n        - valid_values:\n          - VNF\n          - VM\n          - VFMODULE\n          - PNF\n      entityIds:\n        type: map\n        description: |\n          Map of values that identify the resource. If none are provided, it is assumed that the\n          entity that generated the ONSET event will be the target.\n        required: false\n        metadata:\n          clamp_possible_values: ClampExecution:CSAR_RESOURCES\n        entry_schema:\n          type: string\n  onap.datatype.controlloop.Actor:\n    derived_from: tosca.datatypes.Root\n    description: An actor/operation/target definition\n    properties:\n      actor:\n        type: string\n        description: The actor performing the operation.\n        required: true\n        metadata:\n          clamp_possible_values: Dictionary:DefaultActors,ClampExecution:CDS/actor\n      operation:\n        type: string\n        description: The operation the actor is performing.\n        metadata:\n          clamp_possible_values: Dictionary:DefaultOperations,ClampExecution:CDS/operation\n        required: true\n      target:\n        type: onap.datatype.controlloop.Target\n        description: The resource the operation should be performed on.\n        required: true\n      payload:\n        type: map\n        description: Name/value pairs of payload information passed by Policy to the actor\n        required: false\n        metadata:\n          clamp_possible_values: ClampExecution:CDS/payload\n        entry_schema:\n          type: string\n  onap.datatype.controlloop.Operation:\n    derived_from: tosca.datatypes.Root\n    description: An operation supported by an actor\n    properties:\n      id:\n        type: string\n        description: Unique identifier for the operation\n        required: true\n      description:\n        type: string\n        description: A user-friendly description of the intent for the operation\n        required: false\n      operation:\n        type: onap.datatype.controlloop.Actor\n        description: The definition of the operation to be performed.\n        required: true\n      timeout:\n        type: integer\n        description: The amount of time for the actor to perform the operation.\n        required: true\n      retries:\n        type: integer\n        description: The number of retries the actor should attempt to perform the operation.\n        required: true\n        default: 0\n      success:\n        type: string\n        description: Points to the operation to invoke on success. A value of \"final_success\" indicates and end to the operation.\n        required: false\n        default: final_success\n      failure:\n        type: string\n        description: Points to the operation to invoke on Actor operation failure.\n        required: false\n        default: final_failure\n      failure_timeout:\n        type: string\n        description: Points to the operation to invoke when the time out for the operation occurs.\n        required: false\n        default: final_failure_timeout\n      failure_retries:\n        type: string\n        description: Points to the operation to invoke when the current operation has exceeded its max retries.\n        required: false\n        default: final_failure_retries\n      failure_exception:\n        type: string\n        description: Points to the operation to invoke when the current operation causes an exception.\n        required: false\n        default: final_failure_exception\n      failure_guard:\n        type: string\n        description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.\n        required: false\n        default: final_failure_guard\n  onap.datatypes.monitoring.managedObjectDNsBasic:\n    constraints: []\n    properties:\n      DN:\n        name: DN\n        type: string\n        typeVersion: 0.0.0\n        description: Managed object distinguished name\n        required: true\n        constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.managedObjectDNsBasic\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.managedObjectDNsBasics:\n    constraints: []\n    properties:\n      managedObjectDNsBasic:\n        name: managedObjectDNsBasic\n        type: map\n        typeVersion: 0.0.0\n        description: Managed object distinguished name object\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.managedObjectDNsBasic\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.managedObjectDNsBasics\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.measurementGroup:\n    constraints: []\n    properties:\n      measurementTypes:\n        name: measurementTypes\n        type: list\n        typeVersion: 0.0.0\n        description: List of measurement types\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.measurementTypes\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n      managedObjectDNsBasic:\n        name: managedObjectDNsBasic\n        type: list\n        typeVersion: 0.0.0\n        description: List of managed object distinguished names\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.managedObjectDNsBasics\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.measurementGroup\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.measurementGroups:\n    constraints: []\n    properties:\n      measurementGroup:\n        name: measurementGroup\n        type: map\n        typeVersion: 0.0.0\n        description: Measurement Group\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.measurementGroup\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.measurementGroups\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.measurementType:\n    constraints: []\n    properties:\n      measurementType:\n        name: measurementType\n        type: string\n        typeVersion: 0.0.0\n        description: Measurement type\n        required: true\n        constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.measurementType\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.measurementTypes:\n    constraints: []\n    properties:\n      measurementType:\n        name: measurementType\n        type: map\n        typeVersion: 0.0.0\n        description: Measurement type object\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.measurementType\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.measurementTypes\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.nfFilter:\n    constraints: []\n    properties:\n      modelNames:\n        name: modelNames\n        type: list\n        typeVersion: 0.0.0\n        description: List of model names\n        required: true\n        constraints: []\n        entry_schema:\n          type: string\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n      modelInvariantIDs:\n        name: modelInvariantIDs\n        type: list\n        typeVersion: 0.0.0\n        description: List of model invariant IDs\n        required: true\n        constraints: []\n        entry_schema:\n          type: string\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n      modelVersionIDs:\n        name: modelVersionIDs\n        type: list\n        typeVersion: 0.0.0\n        description: List of model version IDs\n        required: true\n        constraints: []\n        entry_schema:\n          type: string\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n      nfNames:\n        name: nfNames\n        type: list\n        typeVersion: 0.0.0\n        description: List of network functions\n        required: true\n        constraints: []\n        entry_schema:\n          type: string\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.nfFilter\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.subscription:\n    constraints: []\n    properties:\n      measurementGroups:\n        name: measurementGroups\n        type: list\n        typeVersion: 0.0.0\n        description: Measurement Groups\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.measurementGroups\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n      fileBasedGP:\n        name: fileBasedGP\n        type: integer\n        typeVersion: 0.0.0\n        description: File based granularity period\n        required: true\n        constraints: []\n        metadata: {}\n      fileLocation:\n        name: fileLocation\n        type: string\n        typeVersion: 0.0.0\n        description: ROP file location\n        required: true\n        constraints: []\n        metadata: {}\n      subscriptionName:\n        name: subscriptionName\n        type: string\n        typeVersion: 0.0.0\n        description: Name of the subscription\n        required: true\n        constraints: []\n        metadata: {}\n      administrativeState:\n        name: administrativeState\n        type: string\n        typeVersion: 0.0.0\n        description: State of the subscription\n        required: true\n        constraints:\n        - valid_values:\n          - LOCKED\n          - UNLOCKED\n        metadata: {}\n      nfFilter:\n        name: nfFilter\n        type: map\n        typeVersion: 0.0.0\n        description: Network function filter\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.nfFilter\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.subscription\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\npolicy_types:\n  onap.policies.Monitoring:\n    derived_from: tosca.policies.Root\n    description: a base policy type for all policies that govern monitoring provisioning\n    version: 1.0.0\n    name: onap.policies.Monitoring\n  onap.policies.Sirisha:\n    derived_from: tosca.policies.Root\n    description: a base policy type for all policies that govern monitoring provisioning\n    version: 1.0.0\n    name: onap.policies.Sirisha\n  onap.policies.monitoring.dcae-pm-subscription-handler:\n    properties:\n      pmsh_policy:\n        name: pmsh_policy\n        type: onap.datatypes.monitoring.subscription\n        typeVersion: 0.0.0\n        description: PMSH Policy JSON\n        required: false\n        constraints: []\n        metadata: {}\n    name: onap.policies.monitoring.dcae-pm-subscription-handler\n    version: 1.0.0\n    derived_from: onap.policies.Monitoring\n    metadata: {}\n  onap.policies.controlloop.operational.Common:\n    derived_from: tosca.policies.Root\n    version: 1.0.0\n    name: onap.policies.controlloop.operational.Common\n    description: |\n      Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant\n      Policy Types. This does NOT support the legacy Policy YAML policy type.\n    properties:\n      id:\n        type: string\n        description: The unique control loop id.\n        required: true\n      timeout:\n        type: integer\n        description: |\n          Overall timeout for executing all the operations. This timeout should equal or exceed the total\n          timeout for each operation listed.\n        required: true\n      abatement:\n        type: boolean\n        description: Whether an abatement event message will be expected for the control loop from DCAE.\n        required: true\n        default: false\n      trigger:\n        type: string\n        description: Initial operation to execute upon receiving an Onset event message for the Control Loop.\n        required: true\n      operations:\n        type: list\n        description: List of operations to be performed when Control Loop is triggered.\n        required: true\n        entry_schema:\n          type: onap.datatype.controlloop.Operation\n  onap.policies.controlloop.operational.common.Apex:\n    derived_from: onap.policies.controlloop.operational.Common\n    type_version: 1.0.0\n    version: 1.0.0\n    name: onap.policies.controlloop.operational.common.Apex\n    description: Operational policies for Apex PDP\n    properties:\n      engineServiceParameters:\n        type: string\n        description: The engine parameters like name, instanceCount, policy implementation, parameters etc.\n        required: true\n      eventInputParameters:\n        type: string\n        description: The event input parameters.\n        required: true\n      eventOutputParameters:\n        type: string\n        description: The event output parameters.\n        required: true\n      javaProperties:\n        type: string\n        description: Name/value pairs of properties to be set for APEX if needed.\n        required: false\nnode_types:\n  org.onap.policy.clamp.controlloop.Participant:\n    version: 1.0.1\n    derived_from: tosca.nodetypes.Root\n    properties:\n      provider:\n        type: string\n        requred: false\n  org.onap.policy.clamp.controlloop.ControlLoopElement:\n    version: 1.0.1\n    derived_from: tosca.nodetypes.Root\n    properties:\n      provider:\n        type: string\n        requred: false\n      participant_id:\n        type: onap.datatypes.ToscaConceptIdentifier\n        requred: true\n  org.onap.policy.clamp.controlloop.ControlLoop:\n    version: 1.0.1\n    derived_from: tosca.nodetypes.Root\n    properties:\n      provider:\n        type: string\n        requred: false\n      elements:\n        type: list\n        required: true\n        entry_schema:\n          type: onap.datatypes.ToscaConceptIdentifier\n  org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement:\n    version: 1.0.1\n    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement\n    properties:\n      dcae_blueprint_id:\n        type: onap.datatypes.ToscaConceptIdentifier\n        requred: false\n      dcae_blueprint:\n        type: onap.dcae.cloudify_blueprint\n        requred: false\n      consul_info:\n        type: list\n        required: false\n        entry_schema:\n          type: org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo\n  org.onap.policy.clamp.controlloop.PolicyControlLoopElement:\n    version: 1.0.1\n    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement\n    properties:\n      policy_type_id:\n        type: onap.datatypes.ToscaConceptIdentifier\n        requred: true\n      policy_id:\n        type: onap.datatypes.ToscaConceptIdentifier\n        requred: false\n  org.onap.policy.clamp.controlloop.CDSControlLoopElement:\n    version: 1.0.1\n    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement\n    properties:\n      cds_blueprint_id:\n        type: onap.datatypes.ToscaConceptIdentifier\n        requred: true\ntopology_template:\n  inputs:\n    pmsh_monitoring_policy:\n      type: onap.datatypes.ToscaConceptIdentifier\n      description: The ID of the PMSH monitoring policy to use\n      default:\n        name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test\n        version: 1.0.0\n    pmsh_operational_policy:\n      type: onap.datatypes.ToscaConceptIdentifier\n      description: The ID of the PMSH operational policy to use\n      default:\n        name: operational.apex.pmcontrol\n        version: 1.0.0\n  node_templates:\n    org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant:\n      version: 2.3.4\n      type: org.onap.policy.clamp.controlloop.Participant\n      type_version: 1.0.1\n      description: Participant for DCAE microservices\n      properties:\n        provider: ONAP\n    org.onap.policy.controlloop.PolicyControlLoopParticipant:\n      version: 2.3.1\n      type: org.onap.policy.clamp.controlloop.Participant\n      type_version: 1.0.1\n      description: Participant for DCAE microservices\n      properties:\n        provider: ONAP\n    org.onap.domain.pmsh.PMSH_DCAEMicroservice:\n      version: 1.2.3\n      type: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement\n      type_version: 1.0.0\n      description: Control loop element for the DCAE microservice for Performance Management Subscription Handling\n      properties:\n        provider: Ericsson\n        participant_id:\n          name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant\n          version: 2.3.4\n        dcae_blueprint:\n          tosca_definitions_version: cloudify_dsl_1_3\n          imports:\n          - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n          - plugin:k8splugin?version=3.7.0\n          - plugin:pgaas?version=1.3.0\n          - plugin:clamppolicyplugin?version=1.1.0\n          inputs:\n            tag_version:\n              type: string\n              description: Docker image to be used\n              default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.1.2\n            replicas:\n              type: integer\n              description: Number of instances\n              default: 1\n            operational_policy_name:\n              type: string\n              default: operational.apex.pmcontrol\n            control_loop_name:\n              type: string\n              default: pmsh-control-loop\n            pmsh_publish_topic_name:\n              type: string\n              default: unauthenticated.DCAE_CL_OUTPUT\n            policy_feedback_topic_name:\n              type: string\n              default: unauthenticated.PMSH_CL_INPUT\n            aai_notification_topic_name:\n              type: string\n              default: AAI-EVENT\n            publisher_client_role:\n              type: string\n              description: Client role to request secure access to topic\n              default: org.onap.dcae.pmPublisher\n            subscriber_client_role:\n              type: string\n              description: Client role to request secure access to topic\n              default: org.onap.dcae.pmSubscriber\n            dcae_location:\n              type: string\n              description: DCAE location for the subscriber, used to set up routing\n              default: san-francisco\n            cpu_limit:\n              type: string\n              default: 1000m\n            cpu_request:\n              type: string\n              default: 1000m\n            memory_limit:\n              type: string\n              default: 1024Mi\n            memory_request:\n              type: string\n              default: 1024Mi\n            pgaas_cluster_name:\n              type: string\n              default: dcae-pg-primary.onap\n            enable_tls:\n              type: boolean\n              default: true\n            protocol:\n              type: string\n              description: PMSH protocol. If enable_tls is false, set to http\n              default: https\n            policy_model_id:\n              type: string\n              default: onap.policies.monitoring.dcae-pm-subscription-handler\n            policy_id:\n              type: string\n              default: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test\n          node_templates:\n            pgaasvm:\n              type: dcae.nodes.pgaas.database\n              properties:\n                writerfqdn:\n                  get_input: pgaas_cluster_name\n                name: pmsh\n            pmsh:\n              type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n              interfaces:\n                cloudify.interfaces.lifecycle:\n                  create:\n                    inputs:\n                      ports:\n                      - '8443:0'\n                      envs:\n                        PMSH_PG_URL:\n                          get_attribute:\n                          - pgaasvm\n                          - admin\n                          - host\n                        PMSH_PG_PASSWORD:\n                          get_attribute:\n                          - pgaasvm\n                          - admin\n                          - password\n                        PMSH_PG_USERNAME:\n                          get_attribute:\n                          - pgaasvm\n                          - admin\n                          - user\n                        PMSH_DB_NAME:\n                          get_attribute:\n                          - pgaasvm\n                          - admin\n                          - database\n              relationships:\n              - target: pmsh-policy\n                type: cloudify.relationships.depends_on\n              properties:\n                service_component_type: dcae-pmsh\n                service_component_name_override: dcae-pmsh\n                application_config:\n                  enable_tls:\n                    get_input: enable_tls\n                  aaf_identity: dcae@dcae.onap.org\n                  aaf_password: demo123456!\n                  operational_policy_name:\n                    get_input: operational_policy_name\n                  control_loop_name:\n                    get_input: control_loop_name\n                  cert_path: /opt/app/pmsh/etc/certs/cert.pem\n                  key_path: /opt/app/pmsh/etc/certs/key.pem\n                  ca_cert_path: /opt/app/pmsh/etc/certs/cacert.pem\n                  streams_publishes:\n                    policy_pm_publisher:\n                      type: message_router\n                      dmaap_info:\n                        topic_url:\n                          concat:\n                          - http://message-router:3904/events/\n                          - get_input: pmsh_publish_topic_name\n                  streams_subscribes:\n                    policy_pm_subscriber:\n                      type: message_router\n                      dmaap_info:\n                        topic_url:\n                          concat:\n                          - http://message-router:3904/events/\n                          - get_input: policy_feedback_topic_name\n                    aai_subscriber:\n                      type: message_router\n                      dmaap_info:\n                        topic_url:\n                          concat:\n                          - http://message-router:3904/events/\n                          - get_input: aai_notification_topic_name\n                resource_config:\n                  limits:\n                    cpu:\n                      get_input: cpu_limit\n                    memory:\n                      get_input: memory_limit\n                  requests:\n                    cpu:\n                      get_input: cpu_request\n                    memory:\n                      get_input: memory_request\n                docker_config:\n                  healthcheck:\n                    endpoint: /healthcheck\n                    interval: 15s\n                    timeout: 1s\n                    type:\n                      get_input: protocol\n                image:\n                  get_input: tag_version\n                replicas:\n                  get_input: replicas\n                log_info:\n                  log_directory: /var/log/ONAP/dcaegen2/services/pmsh\n                tls_info:\n                  cert_directory: /opt/app/pmsh/etc/certs\n                  use_tls:\n                    get_input: enable_tls\n            pmsh-policy:\n              type: clamp.nodes.policy\n              properties:\n                policy_model_id:\n                  get_input: policy_model_id\n                policy_id:\n                  get_input: policy_id\n        consul_info:\n        - consulUrl: http://consul:31321/v1/kv/dcae-pmsh:policy\n          consulBody:\n            subscription:\n              subscriptionName: subscriptiona\n              administrativeState: UNLOCKED\n              fileBasedGP: 15\n              fileLocation: /pm/pm.xml\n              nfFilter:\n                nfNames:\n                - ^pnf1.*\n                modelInvariantIDs:\n                - 5845y423-g654-6fju-po78-8n53154532k6\n                - 7129e420-d396-4efb-af02-6b83499b12f8\n                modelVersionIDs:\n                - e80a6ae3-cafd-4d24-850d-e14c084a5ca9\n              measurementGroups:\n              - measurementGroup:\n                  measurementTypes:\n                  - measurementType: countera\n                  - measurementType: counterb\n                  managedObjectDNsBasic:\n                  - DN: dna\n                  - DN: dnb\n              - measurementGroup:\n                  measurementTypes:\n                  - measurementType: counterc\n                  - measurementType: counterd\n                  managedObjectDNsBasic:\n                  - DN: dnc\n                  - DN: dnd\n    org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:\n      version: 1.2.3\n      type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement\n      type_version: 1.0.0\n      description: Control loop element for the monitoring policy for Performance Management Subscription Handling\n      properties:\n        provider: Ericsson\n        participant_id:\n          name: org.onap.policy.controlloop.PolicyControlLoopParticipant\n          version: 2.3.1\n        policy_type_id:\n          name: onap.policies.monitoring.pm-subscription-handler\n          version: 1.0.0\n        policy_id:\n          get_input: pmsh_monitoring_policy\n    org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:\n      version: 1.2.3\n      type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement\n      type_version: 1.0.0\n      description: Control loop element for the operational policy for Performance Management Subscription Handling\n      properties:\n        provider: Ericsson\n        participant_id:\n          name: org.onap.policy.controlloop.PolicyControlLoopParticipant\n          version: 2.3.1\n        policy_type_id:\n          name: onap.policies.operational.pm-subscription-handler\n          version: 1.0.0\n        policy_id:\n          get_input: pmsh_operational_policy\n    org.onap.domain.pmsh.PMSHControlLoopDefinition:\n      version: 1.2.3\n      type: org.onap.policy.clamp.controlloop.ControlLoop\n      type_version: 1.0.0\n      description: Control loop for Performance Management Subscription Handling\n      properties:\n        provider: Ericsson\n        elements:\n        - name: org.onap.domain.pmsh.PMSH_DCAEMicroservice\n          version: 1.2.3\n        - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement\n          version: 1.2.3\n        - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement\n          version: 1.2.3\n  policies:\n  - MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test:\n      type: onap.policies.monitoring.dcae-pm-subscription-handler\n      type_version: 1.0.0\n      name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test\n      version: 1.0.0\n      metadata:\n        policy-id: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test\n        policy-version: 1.0.0\n      properties:\n        pmsh_policy:\n          fileBasedGP: 15\n          fileLocation: /pm/pm.xml\n          subscriptionName: subscriptiona\n          administrativeState: UNLOCKED\n          nfFilter:\n            onap.datatypes.monitoring.nfFilter:\n              modelVersionIDs:\n              - e80a6ae3-cafd-4d24-850d-e14c084a5ca9\n              modelInvariantIDs:\n              - 5845y423-g654-6fju-po78-8n53154532k6\n              - 7129e420-d396-4efb-af02-6b83499b12f8\n              modelNames: []\n              nfNames:\n              - '\"^pnf1.*\"'\n          measurementGroups:\n          - measurementGroup:\n              onap.datatypes.monitoring.measurementGroup:\n                measurementTypes:\n                - measurementType:\n                    onap.datatypes.monitoring.measurementType:\n                      measurementType: countera\n                - measurementType:\n                    onap.datatypes.monitoring.measurementType:\n                      measurementType: counterb\n                managedObjectDNsBasic:\n                - managedObjectDNsBasic:\n                    onap.datatypes.monitoring.managedObjectDNsBasic:\n                      DN: dna\n                - managedObjectDNsBasic:\n                    onap.datatypes.monitoring.managedObjectDNsBasic:\n                      DN: dnb\n          - measurementGroup:\n              onap.datatypes.monitoring.measurementGroup:\n                measurementTypes:\n                - measurementType:\n                    onap.datatypes.monitoring.measurementType:\n                      measurementType: counterc\n                - measurementType:\n                    onap.datatypes.monitoring.measurementType:\n                      measurementType: counterd\n                managedObjectDNsBasic:\n                - managedObjectDNsBasic:\n                    onap.datatypes.monitoring.managedObjectDNsBasic:\n                      DN: dnc\n                - managedObjectDNsBasic:\n                    onap.datatypes.monitoring.managedObjectDNsBasic:\n                      DN: dnd\n  - operational.apex.pmcontrol:\n      type: onap.policies.controlloop.operational.common.Apex\n      type_version: 1.0.0\n      version: 1.0.0\n      metadata:\n        policy-id: operational.apex.pmcontrol\n        policy-version: 1\n      properties:\n        engineServiceParameters:\n          name: MyApexEngine\n          version: 0.0.1\n          id: 45\n          instanceCount: 2\n          deploymentPort: 12561\n          policy_type_impl:\n            apexPolicyModel:\n              key:\n                name: PMControlPolicy\n                version: 0.0.1\n              keyInformation:\n                key:\n                  name: PMControlPolicy_KeyInfo\n                  version: 0.0.1\n                keyInfoMap:\n                  entry:\n                  - key:\n                      name: CDSActionIdentifiersType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSActionIdentifiersType\n                        version: 0.0.1\n                      UUID: 6e5fa19b-14df-37e3-a4ae-8c537e861a82\n                      description: Generated description for concept referred to by key \"CDSActionIdentifiersType:0.0.1\"\n                  - key:\n                      name: CDSCreateResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponseEvent\n                        version: 0.0.1\n                      UUID: 14b29e38-ac75-3273-aa4e-8583c0aa7dad\n                      description: Generated description for concept referred to by key \"CDSCreateResponseEvent:0.0.1\"\n                  - key:\n                      name: CDSCreateResponsePayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponsePayloadType\n                        version: 0.0.1\n                      UUID: 04573f8f-e772-30a5-b1d9-d7318d4a1e13\n                      description: Generated description for concept referred to by key \"CDSCreateResponsePayloadType:0.0.1\"\n                  - key:\n                      name: CDSCreateResponsePolicy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponsePolicy\n                        version: 0.0.1\n                      UUID: e126c965-fc09-3bfe-8f55-70f380a4a49c\n                      description: Generated description for concept referred to by key \"CDSCreateResponsePolicy:0.0.1\"\n                  - key:\n                      name: CDSCreateResponseTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponseTask\n                        version: 0.0.1\n                      UUID: 6165ee82-afd2-3aab-a517-f00b3f2461d2\n                      description: Generated description for concept referred to by key \"CDSCreateResponseTask:0.0.1\"\n                  - key:\n                      name: CDSCreateSubscriptionPayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateSubscriptionPayloadType\n                        version: 0.0.1\n                      UUID: 8350ac5e-c157-38b9-9614-a0f93a830e60\n                      description: Generated description for concept referred to by key \"CDSCreateSubscriptionPayloadType:0.0.1\"\n                  - key:\n                      name: CDSCreateSubscriptionRequestEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateSubscriptionRequestEvent\n                        version: 0.0.1\n                      UUID: cfa325ba-226b-3a31-9183-ec43e2b6e9a2\n                      description: Generated description for concept referred to by key \"CDSCreateSubscriptionRequestEvent:0.0.1\"\n                  - key:\n                      name: CDSDeleteResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponseEvent\n                        version: 0.0.1\n                      UUID: 8be9c0fa-7437-3841-aff2-b3cec6ae3bd8\n                      description: Generated description for concept referred to by key \"CDSDeleteResponseEvent:0.0.1\"\n                  - key:\n                      name: CDSDeleteResponsePayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponsePayloadType\n                        version: 0.0.1\n                      UUID: 3fbfe0c9-152e-34d3-a504-09cd13c058d0\n                      description: Generated description for concept referred to by key \"CDSDeleteResponsePayloadType:0.0.1\"\n                  - key:\n                      name: CDSDeleteResponsePolicy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponsePolicy\n                        version: 0.0.1\n                      UUID: a780251c-edd5-3132-b865-04313246b43c\n                      description: Generated description for concept referred to by key \"CDSDeleteResponsePolicy:0.0.1\"\n                  - key:\n                      name: CDSDeleteResponseTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponseTask\n                        version: 0.0.1\n                      UUID: afce4555-3aa3-3521-a7d8-ee8cdf0d3efc\n                      description: Generated description for concept referred to by key \"CDSDeleteResponseTask:0.0.1\"\n                  - key:\n                      name: CDSDeleteSubscriptionPayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteSubscriptionPayloadType\n                        version: 0.0.1\n                      UUID: 12658406-9147-3c9d-a38c-5ad5e30b092b\n                      description: Generated description for concept referred to by key \"CDSDeleteSubscriptionPayloadType:0.0.1\"\n                  - key:\n                      name: CDSDeleteSubscriptionRequestEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteSubscriptionRequestEvent\n                        version: 0.0.1\n                      UUID: 24380c95-9289-36e6-8cbf-0edefa15ccd9\n                      description: Generated description for concept referred to by key \"CDSDeleteSubscriptionRequestEvent:0.0.1\"\n                  - key:\n                      name: CDSRequestCommonHeaderType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSRequestCommonHeaderType\n                        version: 0.0.1\n                      UUID: 35590ac0-062c-39f1-8786-b4ff716e30b1\n                      description: Generated description for concept referred to by key \"CDSRequestCommonHeaderType:0.0.1\"\n                  - key:\n                      name: CDSResponseCommonHeaderType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseCommonHeaderType\n                        version: 0.0.1\n                      UUID: dd7e1805-885a-350b-aaf9-ed541321ae3c\n                      description: Generated description for concept referred to by key \"CDSResponseCommonHeaderType:0.0.1\"\n                  - key:\n                      name: CDSResponseStatusEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseStatusEvent\n                        version: 0.0.1\n                      UUID: 7986e21b-32f7-302e-9554-31f21b673493\n                      description: Generated description for concept referred to by key \"CDSResponseStatusEvent:0.0.1\"\n                  - key:\n                      name: CDSResponseStatusType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseStatusType\n                        version: 0.0.1\n                      UUID: 92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa\n                      description: Generated description for concept referred to by key \"CDSResponseStatusType:0.0.1\"\n                  - key:\n                      name: CreateSubscriptionPayloadEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionPayloadEvent\n                        version: 0.0.1\n                      UUID: 92162397-1a8e-3a3f-a469-d2af7700af4a\n                      description: Generated description for concept referred to by key \"CreateSubscriptionPayloadEvent:0.0.1\"\n                  - key:\n                      name: CreateSubscriptionPayloadTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionPayloadTask\n                        version: 0.0.1\n                      UUID: bc0c69f0-52ed-38ea-b468-ae4a6fd1730d\n                      description: Generated description for concept referred to by key \"CreateSubscriptionPayloadTask:0.0.1\"\n                  - key:\n                      name: CreateSubscriptionRequestTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionRequestTask\n                        version: 0.0.1\n                      UUID: 89cb75e9-f06c-30d3-b4ff-698d45f63869\n                      description: Generated description for concept referred to by key \"CreateSubscriptionRequestTask:0.0.1\"\n                  - key:\n                      name: DeleteSubscriptionPayloadEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionPayloadEvent\n                        version: 0.0.1\n                      UUID: 994fa441-04ab-33bb-832d-1cd12ab5d074\n                      description: Generated description for concept referred to by key \"DeleteSubscriptionPayloadEvent:0.0.1\"\n                  - key:\n                      name: DeleteSubscriptionPayloadTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionPayloadTask\n                        version: 0.0.1\n                      UUID: 0f519117-5fea-3e4b-941f-8f778100465f\n                      description: Generated description for concept referred to by key \"DeleteSubscriptionPayloadTask:0.0.1\"\n                  - key:\n                      name: DeleteSubscriptionRequestTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionRequestTask\n                        version: 0.0.1\n                      UUID: acb772fe-d442-39e3-98f9-b1080caf4150\n                      description: Generated description for concept referred to by key \"DeleteSubscriptionRequestTask:0.0.1\"\n                  - key:\n                      name: MRResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: MRResponseEvent\n                        version: 0.0.1\n                      UUID: 13c747a3-6bae-3bcf-9c80-b152e01dc194\n                      description: Generated description for concept referred to by key \"MRResponseEvent:0.0.1\"\n                  - key:\n                      name: PMControlPolicy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy\n                        version: 0.0.1\n                      UUID: acf1e55c-7bc5-3bd5-975a-0ca54afcd8a4\n                      description: Generated description for concept referred to by key \"PMControlPolicy:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_Albums\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_Albums\n                        version: 0.0.1\n                      UUID: b38ad204-c2c8-32f4-9b5a-dda0aeb0145b\n                      description: Generated description for concept referred to by key \"PMControlPolicy_Albums:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_Events\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_Events\n                        version: 0.0.1\n                      UUID: be3871a0-c42a-3113-a066-82d192840eca\n                      description: Generated description for concept referred to by key \"PMControlPolicy_Events:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_KeyInfo\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_KeyInfo\n                        version: 0.0.1\n                      UUID: ced37634-28a4-3178-b7f6-2980794927b0\n                      description: Generated description for concept referred to by key \"PMControlPolicy_KeyInfo:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_Policies\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_Policies\n                        version: 0.0.1\n                      UUID: be3d180d-ef9c-3a75-8e9c-84271a038bed\n                      description: Generated description for concept referred to by key \"PMControlPolicy_Policies:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_Schemas\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_Schemas\n                        version: 0.0.1\n                      UUID: e61973f1-189c-39e5-82f6-0d3afe298a20\n                      description: Generated description for concept referred to by key \"PMControlPolicy_Schemas:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_Tasks\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_Tasks\n                        version: 0.0.1\n                      UUID: 5658adb3-2962-30a3-a241-fae75bb8eb4a\n                      description: Generated description for concept referred to by key \"PMControlPolicy_Tasks:0.0.1\"\n                  - key:\n                      name: PMSubscriptionAlbum\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      UUID: c2bd6f0d-6854-317a-9be2-97c08338428c\n                      description: Generated description for concept referred to by key \"PMSubscriptionAlbum:0.0.1\"\n                  - key:\n                      name: PMSubscriptionOutputEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionOutputEvent\n                        version: 0.0.1\n                      UUID: 992b7819-9f69-3aa0-bb0f-6e45ea15ce05\n                      description: Generated description for concept referred to by key \"PMSubscriptionOutputEvent:0.0.1\"\n                  - key:\n                      name: PMSubscriptionType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionType\n                        version: 0.0.1\n                      UUID: 73c1c397-4fc3-357f-93b6-a8ad707fbaae\n                      description: Generated description for concept referred to by key \"PMSubscriptionType:0.0.1\"\n                  - key:\n                      name: ReceiveEventPolicy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: ReceiveEventPolicy\n                        version: 0.0.1\n                      UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1\n                      description: Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\"\n                  - key:\n                      name: ReceiveSubscriptionTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: ReceiveSubscriptionTask\n                        version: 0.0.1\n                      UUID: f596afc8-100c-35eb-92c8-352355ea457d\n                      description: Generated description for concept referred to by key \"ReceiveSubscriptionTask:0.0.1\"\n                  - key:\n                      name: SimpleIntType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SimpleIntType\n                        version: 0.0.1\n                      UUID: 153791fd-ae0a-36a7-88a5-309a7936415d\n                      description: Generated description for concept referred to by key \"SimpleIntType:0.0.1\"\n                  - key:\n                      name: SimpleStringType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SimpleStringType\n                        version: 0.0.1\n                      UUID: 8a4957cf-9493-3a76-8c22-a208e23259af\n                      description: Generated description for concept referred to by key \"SimpleStringType:0.0.1\"\n                  - key:\n                      name: SubscriptionStatusType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SubscriptionStatusType\n                        version: 0.0.1\n                      UUID: 597643b1-9db1-31ce-85d0-e1c63c43b30b\n                      description: Generated description for concept referred to by key \"SubscriptionStatusType:0.0.1\"\n                  - key:\n                      name: SubscriptionType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SubscriptionType\n                        version: 0.0.1\n                      UUID: 184547bb-7d64-3cb2-a273-d7185102c5ce\n                      description: Generated description for concept referred to by key \"SubscriptionType:0.0.1\"\n                  - key:\n                      name: UUIDType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: UUIDType\n                        version: 0.0.1\n                      UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c\n                      description: Generated description for concept referred to by key \"UUIDType:0.0.1\"\n                  - key:\n                      name: pmsh-operational-policy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: pmsh-operational-policy\n                        version: 0.0.1\n                      UUID: fdf2c9ff-6422-3ea6-b6b6-49b12116265d\n                      description: Generated description for concept referred to by key \"pmsh-operational-policy:0.0.1\"\n              policies:\n                key:\n                  name: PMControlPolicy_Policies\n                  version: 0.0.1\n                policyMap:\n                  entry:\n                  - key:\n                      name: CDSCreateResponsePolicy\n                      version: 0.0.1\n                    value:\n                      policyKey:\n                        name: CDSCreateResponsePolicy\n                        version: 0.0.1\n                      template: Freestyle\n                      state:\n                        entry:\n                        - key: CDSCreateResponseState\n                          value:\n                            stateKey:\n                              parentKeyName: CDSCreateResponsePolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: CDSCreateResponseState\n                            trigger:\n                              name: CDSCreateResponseEvent\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: ResponseOutput\n                                value:\n                                  key:\n                                    parentKeyName: CDSCreateResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSCreateResponseState\n                                    localName: ResponseOutput\n                                  outgoingEvent:\n                                    name: CDSResponseStatusEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: 'NULL'\n                                    parentKeyVersion: 0.0.0\n                                    parentLocalName: 'NULL'\n                                    localName: 'NULL'\n                            contextAlbumReference: []\n                            taskSelectionLogic:\n                              key: 'NULL'\n                              logicFlavour: UNDEFINED\n                              logic: ''\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: CDSCreateResponseTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: CDSCreateResponseTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: CDSCreateResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSCreateResponseState\n                                    localName: CDSCreateResponsePolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: CDSCreateResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSCreateResponseState\n                                    localName: ResponseOutput\n                      firstState: CDSCreateResponseState\n                  - key:\n                      name: CDSDeleteResponsePolicy\n                      version: 0.0.1\n                    value:\n                      policyKey:\n                        name: CDSDeleteResponsePolicy\n                        version: 0.0.1\n                      template: Freestyle\n                      state:\n                        entry:\n                        - key: CDSDeleteResponseState\n                          value:\n                            stateKey:\n                              parentKeyName: CDSDeleteResponsePolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: CDSDeleteResponseState\n                            trigger:\n                              name: CDSDeleteResponseEvent\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: ResponseOutput\n                                value:\n                                  key:\n                                    parentKeyName: CDSDeleteResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSDeleteResponseState\n                                    localName: ResponseOutput\n                                  outgoingEvent:\n                                    name: CDSResponseStatusEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: 'NULL'\n                                    parentKeyVersion: 0.0.0\n                                    parentLocalName: 'NULL'\n                                    localName: 'NULL'\n                            contextAlbumReference: []\n                            taskSelectionLogic:\n                              key: 'NULL'\n                              logicFlavour: UNDEFINED\n                              logic: ''\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: CDSDeleteResponseTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: CDSDeleteResponseTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: CDSDeleteResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSDeleteResponseState\n                                    localName: CDSDeleteResponsePolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: CDSDeleteResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSDeleteResponseState\n                                    localName: ResponseOutput\n                      firstState: CDSDeleteResponseState\n                  - key:\n                      name: ReceiveEventPolicy\n                      version: 0.0.1\n                    value:\n                      policyKey:\n                        name: ReceiveEventPolicy\n                        version: 0.0.1\n                      template: Freestyle\n                      state:\n                        entry:\n                        - key: CreateOrDeleteState\n                          value:\n                            stateKey:\n                              parentKeyName: ReceiveEventPolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: CreateOrDeleteState\n                            trigger:\n                              name: PMSubscriptionOutputEvent\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: CreateSubscriptionPayload\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: CreateSubscriptionPayload\n                                  outgoingEvent:\n                                    name: CreateSubscriptionPayloadEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: 'NULL'\n                                    localName: CreateSubscription\n                              - key: DeleteSubscriptionPayload\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: DeleteSubscriptionPayload\n                                  outgoingEvent:\n                                    name: DeleteSubscriptionPayloadEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: 'NULL'\n                                    localName: DeleteSubscription\n                            contextAlbumReference:\n                            - name: PMSubscriptionAlbum\n                              version: 0.0.1\n                            taskSelectionLogic:\n                              key: TaskSelectionLogic\n                              logicFlavour: JAVASCRIPT\n                              logic: |-\n                                /*\n                                 * ============LICENSE_START=======================================================\n                                 *  Copyright (C) 2020 Nordix. All rights reserved.\n                                 * ================================================================================\n                                 * Licensed under the Apache License, Version 2.0 (the \"License\");\n                                 * you may not use this file except in compliance with the License.\n                                 * You may obtain a copy of the License at\n                                 *\n                                 *      http://www.apache.org/licenses/LICENSE-2.0\n                                 *\n                                 * Unless required by applicable law or agreed to in writing, software\n                                 * distributed under the License is distributed on an \"AS IS\" BASIS,\n                                 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                                 * See the License for the specific language governing permissions and\n                                 * limitations under the License.\n                                 *\n                                 * SPDX-License-Identifier: Apache-2.0\n                                 * ============LICENSE_END=========================================================\n                                 */\n\n                                executor.logger.info(executor.subject.id);\n\n                                var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n                                var changeType = pmSubscriptionInfo.get(\"changeType\").toString()\n\n                                executor.logger.info(\"Change Type is \" + changeType)\n\n                                if (\"CREATE\".equals(changeType)) {\n                                    executor.logger.info(\"Choosing to create a subscription\")\n                                    executor.subject.getTaskKey(\"CreateSubscriptionPayloadTask\").copyTo(executor.selectedTask);\n                                }\n                                else if (\"DELETE\".equals(changeType)) {\n                                    executor.logger.info(\"Choosing to delete a subscription\")\n                                    executor.subject.getTaskKey(\"DeleteSubscriptionPayloadTask\").copyTo(executor.selectedTask);\n                                }\n\n                                //var returnValue = executor.isTrue;\n                                true;\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: CreateSubscriptionPayloadTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: CreateSubscriptionPayloadTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: ReceiveEventPolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: CreateSubscriptionPayload\n                              - key:\n                                  name: DeleteSubscriptionPayloadTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: ReceiveEventPolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: DeleteSubscriptionPayload\n                        - key: CreateSubscription\n                          value:\n                            stateKey:\n                              parentKeyName: ReceiveEventPolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: CreateSubscription\n                            trigger:\n                              name: CreateSubscriptionPayloadEvent\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: IssueCreateSubscriptionRequestOutput\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateSubscription\n                                    localName: IssueCreateSubscriptionRequestOutput\n                                  outgoingEvent:\n                                    name: CDSCreateSubscriptionRequestEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: 'NULL'\n                                    parentKeyVersion: 0.0.0\n                                    parentLocalName: 'NULL'\n                                    localName: 'NULL'\n                            contextAlbumReference:\n                            - name: PMSubscriptionAlbum\n                              version: 0.0.1\n                            taskSelectionLogic:\n                              key: 'NULL'\n                              logicFlavour: UNDEFINED\n                              logic: ''\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: CreateSubscriptionRequestTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: CreateSubscriptionRequestTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateSubscription\n                                    localName: ReceiveEventPolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateSubscription\n                                    localName: IssueCreateSubscriptionRequestOutput\n                        - key: DeleteSubscription\n                          value:\n                            stateKey:\n                              parentKeyName: ReceiveEventPolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: DeleteSubscription\n                            trigger:\n                              name: DeleteSubscriptionPayloadEvent\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: IssueDeleteSubscriptionRequestOutput\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: DeleteSubscription\n                                    localName: IssueDeleteSubscriptionRequestOutput\n                                  outgoingEvent:\n                                    name: CDSDeleteSubscriptionRequestEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: 'NULL'\n                                    parentKeyVersion: 0.0.0\n                                    parentLocalName: 'NULL'\n                                    localName: 'NULL'\n                            contextAlbumReference:\n                            - name: PMSubscriptionAlbum\n                              version: 0.0.1\n                            taskSelectionLogic:\n                              key: 'NULL'\n                              logicFlavour: UNDEFINED\n                              logic: ''\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: DeleteSubscriptionRequestTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: DeleteSubscriptionRequestTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: DeleteSubscription\n                                    localName: ReceiveEventPolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: DeleteSubscription\n                                    localName: IssueDeleteSubscriptionRequestOutput\n                        - key: ReceiveSubscriptionState\n                          value:\n                            stateKey:\n                              parentKeyName: ReceiveEventPolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: ReceiveSubscriptionState\n                            trigger:\n                              name: pmsh-operational-policy\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: ReceivePMSubscriptionOutput\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: ReceiveSubscriptionState\n                                    localName: ReceivePMSubscriptionOutput\n                                  outgoingEvent:\n                                    name: PMSubscriptionOutputEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: 'NULL'\n                                    localName: CreateOrDeleteState\n                            contextAlbumReference:\n                            - name: PMSubscriptionAlbum\n                              version: 0.0.1\n                            taskSelectionLogic:\n                              key: 'NULL'\n                              logicFlavour: UNDEFINED\n                              logic: ''\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: ReceiveSubscriptionTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: ReceiveSubscriptionTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: ReceiveSubscriptionState\n                                    localName: ReceiveEventPolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: ReceiveSubscriptionState\n                                    localName: ReceivePMSubscriptionOutput\n                      firstState: ReceiveSubscriptionState\n              tasks:\n                key:\n                  name: PMControlPolicy_Tasks\n                  version: 0.0.1\n                taskMap:\n                  entry:\n                  - key:\n                      name: CDSCreateResponseTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponseTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSResponseCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateResponsePayloadType\n                              version: 0.0.1\n                            optional: false\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: CDSResponseStatusType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: SubscriptionStatusType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var commonHeader = executor.inFields.get(\"commonHeader\")\n                          var response = executor.inFields.get(\"payload\")\n                          var albumID = commonHeader.get(\"requestId\")\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(albumID.toString());\n                          var responseStatus = executor.subject.getOutFieldSchemaHelper(\"status\").createNewInstance();\n\n                          responseStatus.put(\"subscriptionName\", pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\n                          responseStatus.put(\"nfName\", pmSubscriptionInfo.get(\"nfName\"))\n                          responseStatus.put(\"changeType\", pmSubscriptionInfo.get(\"changeType\"))\n\n                          var status = response.get(pmSubscriptionInfo.get(\"changeType\").toLowerCase() + \"_DasH_subscription_DasH_response\").get(\"odl_DasH_response\").get(\"status\")\n\n                          executor.logger.info(\"RESPONSE STATUS = \" + status)\n\n                          if(status == \"success\") {\n                              responseStatus.put(\"message\", \"success\")\n                          } else {\n                              responseStatus.put(\"message\", \"failed\")\n                          }\n\n                          executor.outFields.put(\"status\", responseStatus)\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: CDSDeleteResponseTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponseTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSResponseCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteResponsePayloadType\n                              version: 0.0.1\n                            optional: false\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: CDSResponseStatusType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: SubscriptionStatusType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var commonHeader = executor.inFields.get(\"commonHeader\")\n                          var response = executor.inFields.get(\"payload\")\n                          var albumID = commonHeader.get(\"requestId\")\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(albumID.toString());\n                          var responseStatus = executor.subject.getOutFieldSchemaHelper(\"status\").createNewInstance();\n\n                          responseStatus.put(\"subscriptionName\", pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\n                          responseStatus.put(\"nfName\", pmSubscriptionInfo.get(\"nfName\"))\n                          responseStatus.put(\"changeType\", pmSubscriptionInfo.get(\"changeType\"))\n\n                          var status = response.get(pmSubscriptionInfo.get(\"changeType\").toLowerCase() + \"_DasH_subscription_DasH_response\").get(\"odl_DasH_response\").get(\"status\")\n\n                          executor.logger.info(\"RESPONSE STATUS = \" + status)\n\n                          if(status == \"success\") {\n                              responseStatus.put(\"message\", \"success\")\n                          } else {\n                              responseStatus.put(\"message\", \"failed\")\n                          }\n\n                          executor.outFields.put(\"status\", responseStatus)\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: CreateSubscriptionPayloadTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionPayloadTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n\n                          var changeType = pmSubscriptionInfo.get(\"changeType\").toLowerCase()\n\n                          var payloadProperties = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(changeType + \"_DasH_subscription_DasH_properties_record\");\n\n                          payloadProperties.put(\"nfName\",  pmSubscriptionInfo.get(\"nfName\"))\n                          payloadProperties.put(\"subscriptionName\",  pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\n                          payloadProperties.put(\"administrativeState\", pmSubscriptionInfo.get(\"subscription\").get(\"administrativeState\"))\n                          payloadProperties.put(\"fileBasedGP\",  pmSubscriptionInfo.get(\"subscription\").get(\"fileBasedGP\").toString())\n                          payloadProperties.put(\"fileLocation\", pmSubscriptionInfo.get(\"subscription\").get(\"fileLocation\"))\n                          payloadProperties.put(\"measurementGroups\", pmSubscriptionInfo.get(\"subscription\").get(\"measurementGroups\"))\n\n                          var payloadEntry = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(\"CDSRequestPayloadEntry\");\n                          payloadEntry.put(changeType + \"_DasH_subscription_DasH_properties\", payloadProperties)\n\n                          var payload = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewInstance();\n                          payload.put(changeType + \"_DasH_subscription_DasH_request\", payloadEntry);\n\n                          executor.outFields.put(\"albumID\", executor.inFields.get(\"albumID\"))\n                          executor.outFields.put(\"payload\", payload);\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: CreateSubscriptionRequestTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionRequestTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSRequestCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n\n                          var changeType = pmSubscriptionInfo.get(\"changeType\").toLowerCase()\n                          var blueprintName = pmSubscriptionInfo.get(\"blueprintName\").toLowerCase()\n                          var blueprintVersion = pmSubscriptionInfo.get(\"blueprintVersion\").toLowerCase()\n                          var payload = executor.inFields.get(\"payload\")\n                          var actionName = changeType + \"-subscription\"\n\n                          var commonHeader = executor.subject.getOutFieldSchemaHelper(\"commonHeader\").createNewInstance();\n                          commonHeader.put(\"originatorId\", \"sdnc\");\n                          commonHeader.put(\"requestId\", executor.inFields.get(\"albumID\").toString());\n                          commonHeader.put(\"subRequestId\", \"sub-123456-1000\");\n\n                          var actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\"actionIdentifiers\").createNewInstance();\n                          actionIdentifiers.put(\"actionName\", actionName);\n                          actionIdentifiers.put(\"blueprintName\", blueprintName);\n                          actionIdentifiers.put(\"blueprintVersion\", blueprintVersion);\n                          actionIdentifiers.put(\"mode\", \"sync\");\n\n                          executor.outFields.put(\"commonHeader\", commonHeader);\n                          executor.outFields.put(\"actionIdentifiers\", actionIdentifiers);\n                          executor.outFields.put(\"payload\", payload);\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: DeleteSubscriptionPayloadTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionPayloadTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n\n                          var changeType = pmSubscriptionInfo.get(\"changeType\").toLowerCase()\n\n                          var payloadProperties = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(changeType + \"_DasH_subscription_DasH_properties_record\");\n\n                          payloadProperties.put(\"nfName\",  pmSubscriptionInfo.get(\"nfName\"))\n                          payloadProperties.put(\"subscriptionName\",  pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\n                          payloadProperties.put(\"administrativeState\", pmSubscriptionInfo.get(\"subscription\").get(\"administrativeState\"))\n                          payloadProperties.put(\"fileBasedGP\",  pmSubscriptionInfo.get(\"subscription\").get(\"fileBasedGP\").toString())\n                          payloadProperties.put(\"fileLocation\", pmSubscriptionInfo.get(\"subscription\").get(\"fileLocation\"))\n                          payloadProperties.put(\"measurementGroups\", pmSubscriptionInfo.get(\"subscription\").get(\"measurementGroups\"))\n\n                          var payloadEntry = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(\"CDSRequestPayloadEntry\");\n                          payloadEntry.put(changeType + \"_DasH_subscription_DasH_properties\", payloadProperties)\n\n                          var payload = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewInstance();\n                          payload.put(changeType + \"_DasH_subscription_DasH_request\", payloadEntry);\n\n                          executor.outFields.put(\"albumID\", executor.inFields.get(\"albumID\"))\n                          executor.outFields.put(\"payload\", payload);\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: DeleteSubscriptionRequestTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionRequestTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSRequestCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n\n                          var changeType = pmSubscriptionInfo.get(\"changeType\").toLowerCase()\n                          var blueprintName = pmSubscriptionInfo.get(\"blueprintName\").toLowerCase()\n                          var blueprintVersion = pmSubscriptionInfo.get(\"blueprintVersion\").toLowerCase()\n                          var payload = executor.inFields.get(\"payload\")\n                          var actionName = changeType + \"-subscription\"\n\n                          var commonHeader = executor.subject.getOutFieldSchemaHelper(\"commonHeader\").createNewInstance();\n                          commonHeader.put(\"originatorId\", \"sdnc\");\n                          commonHeader.put(\"requestId\", executor.inFields.get(\"albumID\").toString());\n                          commonHeader.put(\"subRequestId\", \"sub-123456-1000\");\n\n                          var actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\"actionIdentifiers\").createNewInstance();\n                          actionIdentifiers.put(\"actionName\", actionName);\n                          actionIdentifiers.put(\"blueprintName\", blueprintName);\n                          actionIdentifiers.put(\"blueprintVersion\", blueprintVersion);\n                          actionIdentifiers.put(\"mode\", \"sync\");\n\n                          executor.outFields.put(\"commonHeader\", commonHeader);\n                          executor.outFields.put(\"actionIdentifiers\", actionIdentifiers);\n                          executor.outFields.put(\"payload\", payload);\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: ReceiveSubscriptionTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: ReceiveSubscriptionTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: blueprintName\n                          value:\n                            key: blueprintName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: blueprintVersion\n                          value:\n                            key: blueprintVersion\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: changeType\n                          value:\n                            key: changeType\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: closedLoopControlName\n                          value:\n                            key: closedLoopControlName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: nfName\n                          value:\n                            key: nfName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: policyName\n                          value:\n                            key: policyName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: subscription\n                          value:\n                            key: subscription\n                            fieldSchemaKey:\n                              name: SubscriptionType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n                          var uuidType = java.util.UUID;\n\n                          executor.logger.info(executor.subject.id);\n\n                          //albumID will be used to fetch info from our album later\n                          var albumID = uuidType.randomUUID();\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").getSchemaHelper().createNewInstance();\n                          var returnValue = true;\n\n                          if(executor.inFields.get(\"policyName\") != null) {\n                              executor.logger.info(\"nfName in receive sub event \" + executor.inFields.get(\"nfName\"));\n\n                              var changeType = executor.inFields.get(\"changeType\")\n                              var nfName = executor.inFields.get(\"nfName\")\n                              var policyName = executor.inFields.get(\"policyName\")\n                              var closedLoopControlName = executor.inFields.get(\"closedLoopControlName\")\n                              var subscription = executor.inFields.get(\"subscription\")\n                              var blueprintName = executor.inFields.get(\"blueprintName\")\n                              var blueprintVersion = executor.inFields.get(\"blueprintVersion\")\n\n                              pmSubscriptionInfo.put(\"nfName\", executor.inFields.get(\"nfName\"));\n                              pmSubscriptionInfo.put(\"changeType\", executor.inFields.get(\"changeType\"))\n                              pmSubscriptionInfo.put(\"policyName\", executor.inFields.get(\"policyName\"))\n                              pmSubscriptionInfo.put(\"closedLoopControlName\", executor.inFields.get(\"closedLoopControlName\"))\n                              pmSubscriptionInfo.put(\"subscription\", subscription)\n                              pmSubscriptionInfo.put(\"blueprintName\", blueprintName)\n                              pmSubscriptionInfo.put(\"blueprintVersion\", blueprintVersion)\n\n\n                              executor.getContextAlbum(\"PMSubscriptionAlbum\").put(albumID.toString(), pmSubscriptionInfo);\n\n                              executor.outFields.put(\"albumID\", albumID)\n                          } else {\n                              executor.message = \"Received invalid event\"\n                              returnValue = false;\n                          }\n\n                          returnValue;\n              events:\n                key:\n                  name: PMControlPolicy_Events\n                  version: 0.0.1\n                eventMap:\n                  entry:\n                  - key:\n                      name: CDSCreateResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponseEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: CDS\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSResponseCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateResponsePayloadType\n                              version: 0.0.1\n                            optional: false\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: CDSResponseStatusType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: CDSCreateSubscriptionRequestEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateSubscriptionRequestEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSRequestCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: CDSDeleteResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponseEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: CDS\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSResponseCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteResponsePayloadType\n                              version: 0.0.1\n                            optional: false\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: CDSResponseStatusType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: CDSDeleteSubscriptionRequestEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteSubscriptionRequestEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSRequestCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: CDSResponseStatusEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseStatusEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: DCAE\n                      parameter:\n                        entry:\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: SubscriptionStatusType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: CreateSubscriptionPayloadEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionPayloadEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: DeleteSubscriptionPayloadEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionPayloadEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: MRResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: MRResponseEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: DCAE\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: count\n                          value:\n                            key: count\n                            fieldSchemaKey:\n                              name: SimpleIntType\n                              version: 0.0.1\n                            optional: false\n                        - key: serverTimeMs\n                          value:\n                            key: serverTimeMs\n                            fieldSchemaKey:\n                              name: SimpleIntType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: PMSubscriptionOutputEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionOutputEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: pmsh-operational-policy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: pmsh-operational-policy\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: DCAE\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: blueprintName\n                          value:\n                            key: blueprintName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: blueprintVersion\n                          value:\n                            key: blueprintVersion\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: changeType\n                          value:\n                            key: changeType\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: closedLoopControlName\n                          value:\n                            key: closedLoopControlName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: nfName\n                          value:\n                            key: nfName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: policyName\n                          value:\n                            key: policyName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: subscription\n                          value:\n                            key: subscription\n                            fieldSchemaKey:\n                              name: SubscriptionType\n                              version: 0.0.1\n                            optional: false\n              albums:\n                key:\n                  name: PMControlPolicy_Albums\n                  version: 0.0.1\n                albums:\n                  entry:\n                  - key:\n                      name: PMSubscriptionAlbum\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      scope: policy\n                      isWritable: true\n                      itemSchema:\n                        name: PMSubscriptionType\n                        version: 0.0.1\n              schemas:\n                key:\n                  name: PMControlPolicy_Schemas\n                  version: 0.0.1\n                schemas:\n                  entry:\n                  - key:\n                      name: CDSActionIdentifiersType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSActionIdentifiersType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                            \"type\": \"record\",\n                            \"name\": \"ActionIdentifiers_Type\",\n                            \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                            \"fields\": [\n                                {\n                                    \"name\": \"actionName\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"blueprintName\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"blueprintVersion\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"mode\",\n                                    \"type\": \"string\"\n                                }\n                            ]\n                        }\n                  - key:\n                      name: CDSCreateResponsePayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponsePayloadType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                          \"name\": \"CreateResponsePayloadEntry\",\n                          \"type\": \"record\",\n                          \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                          \"fields\": [\n                            {\n                              \"name\": \"create_DasH_subscription_DasH_response\",\n                              \"type\": {\n                                \"name\": \"create_DasH_subscription_DasH_response\",\n                                \"type\": \"record\",\n                                \"fields\": [\n                                  {\n                                    \"name\": \"odl_DasH_response\",\n                                    \"type\": {\n                                      \"name\": \"odl_DasH_response\",\n                                      \"type\": \"record\",\n                                      \"fields\": [\n                                          {\n                                            \"name\": \"status\",\n                                            \"type\": \"string\"\n                                          }\n                                      ]\n                                    }\n                                  }\n                                ]\n                              }\n                            }\n                          ]\n                        }\n                  - key:\n                      name: CDSCreateSubscriptionPayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateSubscriptionPayloadType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                          \"type\": \"map\",\n                          \"values\": {\n                            \"type\": \"record\",\n                            \"name\": \"CDSRequestPayloadEntry\",\n                            \"fields\": [\n                              {\n                                \"name\": \"create_DasH_subscription_DasH_properties\",\n                                \"type\": {\n                                  \"name\": \"create_DasH_subscription_DasH_properties_record\",\n                                  \"type\": \"record\",\n                                  \"fields\": [\n                                    {\n                                      \"name\": \"nfName\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"subscriptionName\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"administrativeState\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"fileBasedGP\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"fileLocation\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"measurementGroups\",\n                                      \"type\": {\n                                        \"type\": \"array\",\n                                        \"items\": {\n                                          \"name\": \"measurementGroups_record\",\n                                          \"type\": \"record\",\n                                          \"fields\": [\n                                            {\n                                              \"name\": \"measurementGroup\",\n                                              \"type\": {\n                                                \"name\": \"measurementGroup\",\n                                                \"type\": \"record\",\n                                                \"fields\": [\n                                                  {\n                                                    \"name\": \"measurementTypes\",\n                                                    \"type\": {\n                                                      \"type\": \"array\",\n                                                      \"items\": {\n                                                        \"name\": \"measurementTypes_record\",\n                                                        \"type\": \"record\",\n                                                        \"fields\": [\n                                                          {\n                                                            \"name\": \"measurementType\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        ]\n                                                      }\n                                                    }\n                                                  },\n                                                  {\n                                                    \"name\": \"managedObjectDNsBasic\",\n                                                    \"type\": {\n                                                      \"type\": \"array\",\n                                                      \"items\": {\n                                                        \"name\": \"managedObjectDNsBasic_record\",\n                                                        \"type\": \"record\",\n                                                        \"fields\": [\n                                                          {\n                                                            \"name\": \"DN\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        ]\n                                                      }\n                                                    }\n                                                  }\n                                                ]\n                                              }\n                                            }\n                                          ]\n                                        }\n                                      }\n                                    }\n                                  ]\n                                }\n                              }\n                            ]\n                          }\n                        }\n                  - key:\n                      name: CDSDeleteResponsePayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponsePayloadType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                          \"name\": \"DeleteResponsePayloadEntry\",\n                          \"type\": \"record\",\n                          \"namespace\": \"com.acme.avro\",\n                          \"fields\": [\n                            {\n                              \"name\": \"delete_DasH_subscription_DasH_response\",\n                              \"type\": {\n                                \"name\": \"delete_DasH_subscription_DasH_response\",\n                                \"type\": \"record\",\n                                \"fields\": [\n                                  {\n                                    \"name\": \"odl_DasH_response\",\n                                    \"type\": {\n                                      \"name\": \"odl_DasH_response\",\n                                      \"type\": \"record\",\n                                      \"fields\": [\n                                          {\n                                            \"name\": \"status\",\n                                            \"type\": \"string\"\n                                          }\n                                      ]\n                                    }\n                                  }\n                                ]\n                              }\n                            }\n                          ]\n                        }\n                  - key:\n                      name: CDSDeleteSubscriptionPayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteSubscriptionPayloadType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                          \"type\": \"map\",\n                          \"values\": {\n                            \"type\": \"record\",\n                            \"name\": \"CDSRequestPayloadEntry\",\n                            \"fields\": [\n                              {\n                                \"name\": \"delete_DasH_subscription_DasH_properties\",\n                                \"type\": {\n                                  \"name\": \"delete_DasH_subscription_DasH_properties_record\",\n                                  \"type\": \"record\",\n                                  \"fields\": [\n                                    {\n                                      \"name\": \"nfName\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"subscriptionName\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"administrativeState\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"fileBasedGP\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"fileLocation\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"measurementGroups\",\n                                      \"type\": {\n                                        \"type\": \"array\",\n                                        \"items\": {\n                                          \"name\": \"measurementGroups_record\",\n                                          \"type\": \"record\",\n                                          \"fields\": [\n                                            {\n                                              \"name\": \"measurementGroup\",\n                                              \"type\": {\n                                                \"name\": \"measurementGroup\",\n                                                \"type\": \"record\",\n                                                \"fields\": [\n                                                  {\n                                                    \"name\": \"measurementTypes\",\n                                                    \"type\": {\n                                                      \"type\": \"array\",\n                                                      \"items\": {\n                                                        \"name\": \"measurementTypes_record\",\n                                                        \"type\": \"record\",\n                                                        \"fields\": [\n                                                          {\n                                                            \"name\": \"measurementType\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        ]\n                                                      }\n                                                    }\n                                                  },\n                                                  {\n                                                    \"name\": \"managedObjectDNsBasic\",\n                                                    \"type\": {\n                                                      \"type\": \"array\",\n                                                      \"items\": {\n                                                        \"name\": \"managedObjectDNsBasic_record\",\n                                                        \"type\": \"record\",\n                                                        \"fields\": [\n                                                          {\n                                                            \"name\": \"DN\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        ]\n                                                      }\n                                                    }\n                                                  }\n                                                ]\n                                              }\n                                            }\n                                          ]\n                                        }\n                                      }\n                                    }\n                                  ]\n                                }\n                              }\n                            ]\n                          }\n                        }\n                  - key:\n                      name: CDSRequestCommonHeaderType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSRequestCommonHeaderType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                            \"type\": \"record\",\n                            \"name\": \"RequestCommonHeader_Type\",\n                            \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                            \"fields\": [\n                                {\n                                    \"name\": \"originatorId\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"requestId\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"subRequestId\",\n                                    \"type\": \"string\"\n                                }\n                            ]\n                        }\n                  - key:\n                      name: CDSResponseCommonHeaderType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseCommonHeaderType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                            \"type\": \"record\",\n                            \"name\": \"ResponseCommonHeader_Type\",\n                            \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                            \"fields\": [\n                                {\n                                    \"name\": \"originatorId\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"requestId\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"subRequestId\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"timestamp\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"flags\",\n                                    \"type\": [\"null\", \"string\"]\n                                }\n                            ]\n                        }\n                  - key:\n                      name: CDSResponseStatusType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseStatusType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                            \"type\": \"record\",\n                            \"name\": \"ResponseStatus_Type\",\n                            \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                            \"fields\": [\n                                {\n                                    \"name\": \"code\",\n                                    \"type\": \"int\"\n                                },\n                                {\n                                    \"name\": \"eventType\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"timestamp\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"message\",\n                                    \"type\": \"string\"\n                                }\n                            ]\n                        }\n                  - key:\n                      name: PMSubscriptionType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: \"{\\n\\t\\\"name\\\": \\\"PMSubscription\\\",\\n\\t\\\"type\\\": \\\"record\\\",\\n\\t\\\"namespace\\\": \\\"\\\n                        org.onap.policy.apex.onap.pmcontrol\\\",\\n\\t\\\"fields\\\": [\\n        {\\n            \\\"name\\\": \\\"nfName\\\"\\\n                        ,\\n            \\\"type\\\": \\\"string\\\"\\n        },\\n\\t    {\\n\\t\\t\\t\\\"name\\\": \\\"changeType\\\",\\n\\t\\t\\t\\\"\\\n                        type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"name\\\": \\\"closedLoopControlName\\\",\\n\\t\\t\\t\\\"type\\\": \\\"\\\n                        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                        {\\n\\t\\t    \\\"name\\\": \\\"blueprintName\\\",\\n\\t\\t    \\\"type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t{\\n\\t\\t    \\\"name\\\"\\\n                        : \\\"blueprintVersion\\\",\\n\\t\\t    \\\"type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"name\\\": \\\"subscription\\\"\\\n                        ,\\n\\t\\t\\t\\\"type\\\": {\\n\\t\\t\\t\\t\\\"name\\\": \\\"subscription\\\",\\n\\t\\t\\t\\t\\\"type\\\": \\\"record\\\",\\n\\t\\t\\t\\t\\\n                        \\\"fields\\\": [{\\n\\t\\t\\t\\t\\t\\t\\\"name\\\": \\\"subscriptionName\\\",\\n\\t\\t\\t\\t\\t\\t\\\"type\\\": \\\"string\\\"\\n\\t\\t\\\n                        \\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                        \\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                        \\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                        \\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\\\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                        ,\\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\\\"\\\n                        : \\\"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                        ,\\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\\\n                        \\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\\\n                        \\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\\\"\\\n                        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\\\n                        \\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\\\n                        \\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\\\n                        \\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\\\n                        \\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\\\n                        \\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\\\n                        \\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                        ,\\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\\\n                        \\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\\\n                        \\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\\\n                        \\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\\\n                        \\t}\\n\\t]\\n}\"\n                  - key:\n                      name: SimpleIntType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SimpleIntType\n                        version: 0.0.1\n                      schemaFlavour: Java\n                      schemaDefinition: java.lang.Integer\n                  - key:\n                      name: SimpleStringType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SimpleStringType\n                        version: 0.0.1\n                      schemaFlavour: Java\n                      schemaDefinition: java.lang.String\n                  - key:\n                      name: SubscriptionStatusType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SubscriptionStatusType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                            \"type\": \"record\",\n                            \"name\": \"ActivateSubscriptionStatus_Type\",\n                            \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                            \"fields\": [\n                                {\n                                    \"name\": \"subscriptionName\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"nfName\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"changeType\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"message\",\n                                    \"type\": \"string\"\n                                }\n                            ]\n                        }\n                  - key:\n                      name: SubscriptionType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SubscriptionType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: \"{\\n\\t\\\"name\\\": \\\"subscription\\\",\\n\\t\\\"type\\\": \\\"record\\\",\\n\\t\\\"fields\\\": [{\\n\\t\\t\\\n                        \\t\\\"name\\\": \\\"subscriptionName\\\",\\n\\t\\t\\t\\\"type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"name\\\": \\\"administrativeState\\\"\\\n                        ,\\n\\t\\t\\t\\\"type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"name\\\": \\\"fileBasedGP\\\",\\n\\t\\t\\t\\\"type\\\": \\\"\\\n                        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                        {\\n\\t\\t\\t\\\"name\\\": \\\"measurementGroups\\\",\\n\\t\\t\\t\\\"type\\\": {\\n\\t\\t\\t\\t\\\"type\\\": \\\"array\\\",\\n\\t\\t\\t\\\n                        \\t\\\"items\\\": {\\n\\t\\t\\t\\t\\t\\\"name\\\": \\\"Measurement_Groups_Type\\\",\\n\\t\\t\\t\\t\\t\\\"type\\\": \\\"record\\\",\\n\\\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\\\n                        \\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\\\n                        \\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                        : {\\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\\\n                        \\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\\\n                        \\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\\\n                        \\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                        }\\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\\\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                        : {\\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\\\"\\\n                        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                        ,\\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\\\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\\\n                        \\t\\t}\\n\\t\\t}\\n\\t]\\n}\"\n                  - key:\n                      name: UUIDType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: UUIDType\n                        version: 0.0.1\n                      schemaFlavour: Java\n                      schemaDefinition: java.util.UUID\n          engineParameters:\n            executorParameters:\n              JAVASCRIPT:\n                parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters\n            contextParameters:\n              parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters\n              schemaParameters:\n                Avro:\n                  parameterClassName: org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters\n                Java:\n                  parameterClassName: org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters\n                  jsonAdapters:\n                    Instant:\n                      adaptedClass: java.time.Instant\n                      adaptorClass: org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter\n        eventInputParameters:\n          DCAEConsumer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTCLIENT\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters\n              parameters:\n                consumerPollTime: '50'\n                url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/sg1\n            eventProtocolParameters:\n              eventProtocol: JSON\n              parameters:\n                nameAlias: policyName\n            eventName: pmsh-operational-policy\n            eventNameFilter: pmsh-operational-policy\n          CDSRequestConsumer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n              parameters:\n                url: http://10.10.10.184:30254/api/v1/execution-service/process\n                httpMethod: POST\n                restRequestTimeout: 2000\n                httpHeaders:\n                - - Authorization\n                  - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventName: CDSCreateResponseEvent\n            eventNameFilter: CDSCreateResponseEvent\n            requestorMode: true\n            requestorPeer: CDSRequestProducer\n            requestorTimeout: 500\n          CDSDeleteRequestConsumer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n              parameters:\n                url: http://10.10.10.184:30254/api/v1/execution-service/process\n                httpMethod: POST\n                restRequestTimeout: 2000\n                httpHeaders:\n                - - Authorization\n                  - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventName: CDSDeleteResponseEvent\n            eventNameFilter: CDSDeleteResponseEvent\n            requestorMode: true\n            requestorPeer: CDSDeleteRequestProducer\n            requestorTimeout: 500\n          CDSReplyConsumer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n              parameters:\n                url: https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT\n                httpMethod: POST\n                restRequestTimeout: 2000\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventName: MRResponseEvent\n            eventNameFilter: MRResponseEvent\n            requestorMode: true\n            requestorPeer: CDSReplyProducer\n            requestorTimeout: 500\n        eventOutputParameters:\n          logOutputter:\n            carrierTechnologyParameters:\n              carrierTechnology: FILE\n              parameters:\n                fileName: /tmp/outputevents.log\n            eventProtocolParameters:\n              eventProtocol: JSON\n          StdOutOutputter:\n            carrierTechnologyParameters:\n              carrierTechnology: FILE\n              parameters:\n                standardIo: true\n            eventProtocolParameters:\n              eventProtocol: JSON\n          CDSRequestProducer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventNameFilter: CDSCreateSubscriptionRequestEvent\n            requestorMode: true\n            requestorPeer: CDSRequestConsumer\n            requestorTimeout: 500\n          CDSDeleteRequestProducer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventNameFilter: CDSDeleteSubscriptionRequestEvent\n            requestorMode: true\n            requestorPeer: CDSDeleteRequestConsumer\n            requestorTimeout: 500\n          CDSReplyProducer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventNameFilter: CDSResponseStatusEvent\n            requestorMode: true\n            requestorPeer: CDSReplyConsumer\n            requestorTimeout: 500",
+                                       "raw": "tosca_definitions_version: tosca_simple_yaml_1_1_0\ndata_types:\n  onap.datatypes.ToscaConceptIdentifier:\n    derived_from: tosca.datatypes.Root\n    properties:\n      name:\n        type: string\n        required: true\n      version:\n        type: string\n        required: true\n  org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo:\n    name: org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    properties:\n      consulUrl:\n        name: consulUrl\n        type: string\n        typeVersion: 0.0.0\n        description: Consul url for this entry\n        required: true\n      consul_body:\n        name: consulBody\n        type: string\n        typeVersion: 0.0.0\n        description: Body of Consul entry\n        required: true\n  onap.datatype.controlloop.Target:\n    derived_from: tosca.datatypes.Root\n    description: Definition for a entity in A&AI to perform a control loop operation on\n    properties:\n      targetType:\n        type: string\n        description: Category for the target type\n        required: true\n        constraints:\n        - valid_values:\n          - VNF\n          - VM\n          - VFMODULE\n          - PNF\n      entityIds:\n        type: map\n        description: |\n          Map of values that identify the resource. If none are provided, it is assumed that the\n          entity that generated the ONSET event will be the target.\n        required: false\n        metadata:\n          clamp_possible_values: ClampExecution:CSAR_RESOURCES\n        entry_schema:\n          type: string\n  onap.datatype.controlloop.Actor:\n    derived_from: tosca.datatypes.Root\n    description: An actor/operation/target definition\n    properties:\n      actor:\n        type: string\n        description: The actor performing the operation.\n        required: true\n        metadata:\n          clamp_possible_values: Dictionary:DefaultActors,ClampExecution:CDS/actor\n      operation:\n        type: string\n        description: The operation the actor is performing.\n        metadata:\n          clamp_possible_values: Dictionary:DefaultOperations,ClampExecution:CDS/operation\n        required: true\n      target:\n        type: onap.datatype.controlloop.Target\n        description: The resource the operation should be performed on.\n        required: true\n      payload:\n        type: map\n        description: Name/value pairs of payload information passed by Policy to the actor\n        required: false\n        metadata:\n          clamp_possible_values: ClampExecution:CDS/payload\n        entry_schema:\n          type: string\n  onap.datatype.controlloop.Operation:\n    derived_from: tosca.datatypes.Root\n    description: An operation supported by an actor\n    properties:\n      id:\n        type: string\n        description: Unique identifier for the operation\n        required: true\n      description:\n        type: string\n        description: A user-friendly description of the intent for the operation\n        required: false\n      operation:\n        type: onap.datatype.controlloop.Actor\n        description: The definition of the operation to be performed.\n        required: true\n      timeout:\n        type: integer\n        description: The amount of time for the actor to perform the operation.\n        required: true\n      retries:\n        type: integer\n        description: The number of retries the actor should attempt to perform the operation.\n        required: true\n        default: 0\n      success:\n        type: string\n        description: Points to the operation to invoke on success. A value of \"final_success\" indicates and end to the operation.\n        required: false\n        default: final_success\n      failure:\n        type: string\n        description: Points to the operation to invoke on Actor operation failure.\n        required: false\n        default: final_failure\n      failure_timeout:\n        type: string\n        description: Points to the operation to invoke when the time out for the operation occurs.\n        required: false\n        default: final_failure_timeout\n      failure_retries:\n        type: string\n        description: Points to the operation to invoke when the current operation has exceeded its max retries.\n        required: false\n        default: final_failure_retries\n      failure_exception:\n        type: string\n        description: Points to the operation to invoke when the current operation causes an exception.\n        required: false\n        default: final_failure_exception\n      failure_guard:\n        type: string\n        description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.\n        required: false\n        default: final_failure_guard\n  onap.datatypes.monitoring.managedObjectDNsBasic:\n    constraints: []\n    properties:\n      DN:\n        name: DN\n        type: string\n        typeVersion: 0.0.0\n        description: Managed object distinguished name\n        required: true\n        constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.managedObjectDNsBasic\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.managedObjectDNsBasics:\n    constraints: []\n    properties:\n      managedObjectDNsBasic:\n        name: managedObjectDNsBasic\n        type: map\n        typeVersion: 0.0.0\n        description: Managed object distinguished name object\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.managedObjectDNsBasic\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.managedObjectDNsBasics\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.measurementGroup:\n    constraints: []\n    properties:\n      measurementTypes:\n        name: measurementTypes\n        type: list\n        typeVersion: 0.0.0\n        description: List of measurement types\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.measurementTypes\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n      managedObjectDNsBasic:\n        name: managedObjectDNsBasic\n        type: list\n        typeVersion: 0.0.0\n        description: List of managed object distinguished names\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.managedObjectDNsBasics\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.measurementGroup\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.measurementGroups:\n    constraints: []\n    properties:\n      measurementGroup:\n        name: measurementGroup\n        type: map\n        typeVersion: 0.0.0\n        description: Measurement Group\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.measurementGroup\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.measurementGroups\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.measurementType:\n    constraints: []\n    properties:\n      measurementType:\n        name: measurementType\n        type: string\n        typeVersion: 0.0.0\n        description: Measurement type\n        required: true\n        constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.measurementType\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.measurementTypes:\n    constraints: []\n    properties:\n      measurementType:\n        name: measurementType\n        type: map\n        typeVersion: 0.0.0\n        description: Measurement type object\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.measurementType\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.measurementTypes\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.nfFilter:\n    constraints: []\n    properties:\n      modelNames:\n        name: modelNames\n        type: list\n        typeVersion: 0.0.0\n        description: List of model names\n        required: true\n        constraints: []\n        entry_schema:\n          type: string\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n      modelInvariantIDs:\n        name: modelInvariantIDs\n        type: list\n        typeVersion: 0.0.0\n        description: List of model invariant IDs\n        required: true\n        constraints: []\n        entry_schema:\n          type: string\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n      modelVersionIDs:\n        name: modelVersionIDs\n        type: list\n        typeVersion: 0.0.0\n        description: List of model version IDs\n        required: true\n        constraints: []\n        entry_schema:\n          type: string\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n      nfNames:\n        name: nfNames\n        type: list\n        typeVersion: 0.0.0\n        description: List of network functions\n        required: true\n        constraints: []\n        entry_schema:\n          type: string\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.nfFilter\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\n  onap.datatypes.monitoring.subscription:\n    constraints: []\n    properties:\n      measurementGroups:\n        name: measurementGroups\n        type: list\n        typeVersion: 0.0.0\n        description: Measurement Groups\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.measurementGroups\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n      fileBasedGP:\n        name: fileBasedGP\n        type: integer\n        typeVersion: 0.0.0\n        description: File based granularity period\n        required: true\n        constraints: []\n        metadata: {}\n      fileLocation:\n        name: fileLocation\n        type: string\n        typeVersion: 0.0.0\n        description: ROP file location\n        required: true\n        constraints: []\n        metadata: {}\n      subscriptionName:\n        name: subscriptionName\n        type: string\n        typeVersion: 0.0.0\n        description: Name of the subscription\n        required: true\n        constraints: []\n        metadata: {}\n      administrativeState:\n        name: administrativeState\n        type: string\n        typeVersion: 0.0.0\n        description: State of the subscription\n        required: true\n        constraints:\n        - valid_values:\n          - LOCKED\n          - UNLOCKED\n        metadata: {}\n      nfFilter:\n        name: nfFilter\n        type: map\n        typeVersion: 0.0.0\n        description: Network function filter\n        required: true\n        constraints: []\n        entry_schema:\n          type: onap.datatypes.monitoring.nfFilter\n          typeVersion: 0.0.0\n          constraints: []\n        metadata: {}\n    name: onap.datatypes.monitoring.subscription\n    version: 0.0.0\n    derived_from: tosca.datatypes.Root\n    metadata: {}\npolicy_types:\n  onap.policies.Monitoring:\n    derived_from: tosca.policies.Root\n    description: a base policy type for all policies that govern monitoring provisioning\n    version: 1.0.0\n    name: onap.policies.Monitoring\n  onap.policies.Sirisha:\n    derived_from: tosca.policies.Root\n    description: a base policy type for all policies that govern monitoring provisioning\n    version: 1.0.0\n    name: onap.policies.Sirisha\n  onap.policies.monitoring.dcae-pm-subscription-handler:\n    properties:\n      pmsh_policy:\n        name: pmsh_policy\n        type: onap.datatypes.monitoring.subscription\n        typeVersion: 0.0.0\n        description: PMSH Policy JSON\n        required: false\n        constraints: []\n        metadata: {}\n    name: onap.policies.monitoring.dcae-pm-subscription-handler\n    version: 1.0.0\n    derived_from: onap.policies.Monitoring\n    metadata: {}\n  onap.policies.controlloop.operational.Common:\n    derived_from: tosca.policies.Root\n    version: 1.0.0\n    name: onap.policies.controlloop.operational.Common\n    description: |\n      Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant\n      Policy Types. This does NOT support the legacy Policy YAML policy type.\n    properties:\n      id:\n        type: string\n        description: The unique control loop id.\n        required: true\n      timeout:\n        type: integer\n        description: |\n          Overall timeout for executing all the operations. This timeout should equal or exceed the total\n          timeout for each operation listed.\n        required: true\n      abatement:\n        type: boolean\n        description: Whether an abatement event message will be expected for the control loop from DCAE.\n        required: true\n        default: false\n      trigger:\n        type: string\n        description: Initial operation to execute upon receiving an Onset event message for the Control Loop.\n        required: true\n      operations:\n        type: list\n        description: List of operations to be performed when Control Loop is triggered.\n        required: true\n        entry_schema:\n          type: onap.datatype.controlloop.Operation\n  onap.policies.controlloop.operational.common.Apex:\n    derived_from: onap.policies.controlloop.operational.Common\n    type_version: 1.0.0\n    version: 1.0.0\n    name: onap.policies.controlloop.operational.common.Apex\n    description: Operational policies for Apex PDP\n    properties:\n      engineServiceParameters:\n        type: string\n        description: The engine parameters like name, instanceCount, policy implementation, parameters etc.\n        required: true\n      eventInputParameters:\n        type: string\n        description: The event input parameters.\n        required: true\n      eventOutputParameters:\n        type: string\n        description: The event output parameters.\n        required: true\n      javaProperties:\n        type: string\n        description: Name/value pairs of properties to be set for APEX if needed.\n        required: false\nnode_types:\n  org.onap.policy.clamp.controlloop.Participant:\n    version: 1.0.1\n    derived_from: tosca.nodetypes.Root\n    properties:\n      provider:\n        type: string\n        requred: false\n  org.onap.policy.clamp.controlloop.ControlLoopElement:\n    version: 1.0.1\n    derived_from: tosca.nodetypes.Root\n    properties:\n      provider:\n        type: string\n        required: false\n        metadata:\n            common: true\n        description: Specifies the organization that provides the control loop element\n      participantType:\n        type: onap.datatypes.ToscaConceptIdentifier\n        required: true\n        metadata:\n            common: true\n        description: The identity of the participant type that hosts this type of Control Loop Element\n      startPhase:\n        type: integer\n        required: false\n        constraints:\n        - greater-or-equal: 0\n        metadata:\n            common: true\n        description: A value indicating the start phase in which this control loop element will be started, the\n                     first start phase is zero. Control Loop Elements are started in their start_phase order and stopped\n                     in reverse start phase order. Control Loop Elements with the same start phase are started and\n                     stopped simultaneously\n      uninitializedToPassiveTimeout:\n        type: integer\n        required: false\n        constraints:\n        - greater-or-equal: 0\n        default: 60\n        metadata:\n            common: true\n        description: The maximum time in seconds to wait for a state chage from uninitialized to passive\n      passiveToRunningTimeout:\n        type: integer\n        required: false\n        constraints:\n        - greater-or-equal: 0\n        default: 60\n        metadata:\n            common: true\n        description: The maximum time in seconds to wait for a state chage from passive to running\n      runningToPassiveTimeout:\n        type: integer\n        required: false\n        constraints:\n        - greater-or-equal: 0\n        default: 60\n        metadata:\n            common: true\n        description: The maximum time in seconds to wait for a state chage from running to passive\n      passiveToUninitializedTimeout:\n        type: integer\n        required: false\n        constraints:\n        - greater-or-equal: 0\n        default: 60\n        metadata:\n            common: true\n        description: The maximum time in seconds to wait for a state chage from passive to uninitialized\n\n  org.onap.policy.clamp.controlloop.ControlLoop:\n    version: 1.0.1\n    derived_from: tosca.nodetypes.Root\n    properties:\n      provider:\n        type: string\n        requred: false\n      elements:\n        type: list\n        required: true\n        entry_schema:\n          type: onap.datatypes.ToscaConceptIdentifier\n  org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement:\n    version: 1.0.1\n    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement\n    properties:\n      dcae_blueprint_id:\n        type: onap.datatypes.ToscaConceptIdentifier\n        requred: false\n      dcae_blueprint:\n        type: onap.dcae.cloudify_blueprint\n        requred: false\n      consul_info:\n        type: list\n        required: false\n        entry_schema:\n          type: org.onap.datatypes.policy.clamp.controlloop.DCAEMicroserviceControlLoopElementConsulInfo\n  org.onap.policy.clamp.controlloop.PolicyControlLoopElement:\n    version: 1.0.1\n    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement\n    properties:\n      policy_type_id:\n        type: onap.datatypes.ToscaConceptIdentifier\n        requred: true\n      policy_id:\n        type: onap.datatypes.ToscaConceptIdentifier\n        requred: false\n  org.onap.policy.clamp.controlloop.CDSControlLoopElement:\n    version: 1.0.1\n    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement\n    properties:\n      cds_blueprint_id:\n        type: onap.datatypes.ToscaConceptIdentifier\n        requred: true\ntopology_template:\n  inputs:\n    pmsh_monitoring_policy:\n      type: onap.datatypes.ToscaConceptIdentifier\n      description: The ID of the PMSH monitoring policy to use\n      default:\n        name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test\n        version: 1.0.0\n    pmsh_operational_policy:\n      type: onap.datatypes.ToscaConceptIdentifier\n      description: The ID of the PMSH operational policy to use\n      default:\n        name: operational.apex.pmcontrol\n        version: 1.0.0\n  node_templates:\n    org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant:\n      version: 2.3.4\n      type: org.onap.policy.clamp.controlloop.Participant\n      type_version: 1.0.1\n      description: Participant for DCAE microservices\n      properties:\n        provider: ONAP\n    org.onap.policy.controlloop.PolicyControlLoopParticipant:\n      version: 2.3.1\n      type: org.onap.policy.clamp.controlloop.Participant\n      type_version: 1.0.1\n      description: Participant for DCAE microservices\n      properties:\n        provider: ONAP\n    org.onap.domain.pmsh.PMSH_DCAEMicroservice:\n      version: 1.2.3\n      type: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement\n      type_version: 1.0.0\n      description: Control loop element for the DCAE microservice for Performance Management Subscription Handling\n      properties:\n        provider: Ericsson\n        participantType:\n          name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant\n          version: 2.3.4\n        startPhase: 0\n        dcae_blueprint:\n          tosca_definitions_version: cloudify_dsl_1_3\n          imports:\n          - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml\n          - plugin:k8splugin?version=3.7.0\n          - plugin:pgaas?version=1.3.0\n          - plugin:clamppolicyplugin?version=1.1.0\n          inputs:\n            tag_version:\n              type: string\n              description: Docker image to be used\n              default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:1.1.2\n            replicas:\n              type: integer\n              description: Number of instances\n              default: 1\n            operational_policy_name:\n              type: string\n              default: operational.apex.pmcontrol\n            control_loop_name:\n              type: string\n              default: pmsh-control-loop\n            pmsh_publish_topic_name:\n              type: string\n              default: unauthenticated.DCAE_CL_OUTPUT\n            policy_feedback_topic_name:\n              type: string\n              default: unauthenticated.PMSH_CL_INPUT\n            aai_notification_topic_name:\n              type: string\n              default: AAI-EVENT\n            publisher_client_role:\n              type: string\n              description: Client role to request secure access to topic\n              default: org.onap.dcae.pmPublisher\n            subscriber_client_role:\n              type: string\n              description: Client role to request secure access to topic\n              default: org.onap.dcae.pmSubscriber\n            dcae_location:\n              type: string\n              description: DCAE location for the subscriber, used to set up routing\n              default: san-francisco\n            cpu_limit:\n              type: string\n              default: 1000m\n            cpu_request:\n              type: string\n              default: 1000m\n            memory_limit:\n              type: string\n              default: 1024Mi\n            memory_request:\n              type: string\n              default: 1024Mi\n            pgaas_cluster_name:\n              type: string\n              default: dcae-pg-primary.onap\n            enable_tls:\n              type: boolean\n              default: true\n            protocol:\n              type: string\n              description: PMSH protocol. If enable_tls is false, set to http\n              default: https\n            policy_model_id:\n              type: string\n              default: onap.policies.monitoring.dcae-pm-subscription-handler\n            policy_id:\n              type: string\n              default: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test\n          node_templates:\n            pgaasvm:\n              type: dcae.nodes.pgaas.database\n              properties:\n                writerfqdn:\n                  get_input: pgaas_cluster_name\n                name: pmsh\n            pmsh:\n              type: dcae.nodes.ContainerizedServiceComponentUsingDmaap\n              interfaces:\n                cloudify.interfaces.lifecycle:\n                  create:\n                    inputs:\n                      ports:\n                      - '8443:0'\n                      envs:\n                        PMSH_PG_URL:\n                          get_attribute:\n                          - pgaasvm\n                          - admin\n                          - host\n                        PMSH_PG_PASSWORD:\n                          get_attribute:\n                          - pgaasvm\n                          - admin\n                          - password\n                        PMSH_PG_USERNAME:\n                          get_attribute:\n                          - pgaasvm\n                          - admin\n                          - user\n                        PMSH_DB_NAME:\n                          get_attribute:\n                          - pgaasvm\n                          - admin\n                          - database\n              relationships:\n              - target: pmsh-policy\n                type: cloudify.relationships.depends_on\n              properties:\n                service_component_type: dcae-pmsh\n                service_component_name_override: dcae-pmsh\n                application_config:\n                  enable_tls:\n                    get_input: enable_tls\n                  aaf_identity: dcae@dcae.onap.org\n                  aaf_password: demo123456!\n                  operational_policy_name:\n                    get_input: operational_policy_name\n                  control_loop_name:\n                    get_input: control_loop_name\n                  cert_path: /opt/app/pmsh/etc/certs/cert.pem\n                  key_path: /opt/app/pmsh/etc/certs/key.pem\n                  ca_cert_path: /opt/app/pmsh/etc/certs/cacert.pem\n                  streams_publishes:\n                    policy_pm_publisher:\n                      type: message_router\n                      dmaap_info:\n                        topic_url:\n                          concat:\n                          - http://message-router:3904/events/\n                          - get_input: pmsh_publish_topic_name\n                  streams_subscribes:\n                    policy_pm_subscriber:\n                      type: message_router\n                      dmaap_info:\n                        topic_url:\n                          concat:\n                          - http://message-router:3904/events/\n                          - get_input: policy_feedback_topic_name\n                    aai_subscriber:\n                      type: message_router\n                      dmaap_info:\n                        topic_url:\n                          concat:\n                          - http://message-router:3904/events/\n                          - get_input: aai_notification_topic_name\n                resource_config:\n                  limits:\n                    cpu:\n                      get_input: cpu_limit\n                    memory:\n                      get_input: memory_limit\n                  requests:\n                    cpu:\n                      get_input: cpu_request\n                    memory:\n                      get_input: memory_request\n                docker_config:\n                  healthcheck:\n                    endpoint: /healthcheck\n                    interval: 15s\n                    timeout: 1s\n                    type:\n                      get_input: protocol\n                image:\n                  get_input: tag_version\n                replicas:\n                  get_input: replicas\n                log_info:\n                  log_directory: /var/log/ONAP/dcaegen2/services/pmsh\n                tls_info:\n                  cert_directory: /opt/app/pmsh/etc/certs\n                  use_tls:\n                    get_input: enable_tls\n            pmsh-policy:\n              type: clamp.nodes.policy\n              properties:\n                policy_model_id:\n                  get_input: policy_model_id\n                policy_id:\n                  get_input: policy_id\n        consul_info:\n        - consulUrl: http://consul:31321/v1/kv/dcae-pmsh:policy\n          consulBody:\n            subscription:\n              subscriptionName: subscriptiona\n              administrativeState: UNLOCKED\n              fileBasedGP: 15\n              fileLocation: /pm/pm.xml\n              nfFilter:\n                nfNames:\n                - ^pnf1.*\n                modelInvariantIDs:\n                - 5845y423-g654-6fju-po78-8n53154532k6\n                - 7129e420-d396-4efb-af02-6b83499b12f8\n                modelVersionIDs:\n                - e80a6ae3-cafd-4d24-850d-e14c084a5ca9\n              measurementGroups:\n              - measurementGroup:\n                  measurementTypes:\n                  - measurementType: countera\n                  - measurementType: counterb\n                  managedObjectDNsBasic:\n                  - DN: dna\n                  - DN: dnb\n              - measurementGroup:\n                  measurementTypes:\n                  - measurementType: counterc\n                  - measurementType: counterd\n                  managedObjectDNsBasic:\n                  - DN: dnc\n                  - DN: dnd\n    org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:\n      version: 1.2.3\n      type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement\n      type_version: 1.0.0\n      description: Control loop element for the monitoring policy for Performance Management Subscription Handling\n      properties:\n        provider: Ericsson\n        participantType:\n          name: org.onap.policy.controlloop.PolicyControlLoopParticipant\n          version: 2.3.1\n        startPhase: 0\n        policy_type_id:\n          name: onap.policies.monitoring.pm-subscription-handler\n          version: 1.0.0\n        policy_id:\n          get_input: pmsh_monitoring_policy\n    org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:\n      version: 1.2.3\n      type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement\n      type_version: 1.0.0\n      description: Control loop element for the operational policy for Performance Management Subscription Handling\n      properties:\n        provider: Ericsson\n        participantType:\n          name: org.onap.policy.controlloop.PolicyControlLoopParticipant\n          version: 2.3.1\n        startPhase: 0\n        policy_type_id:\n          name: onap.policies.operational.pm-subscription-handler\n          version: 1.0.0\n        policy_id:\n          get_input: pmsh_operational_policy\n    org.onap.domain.pmsh.PMSHControlLoopDefinition:\n      version: 1.2.3\n      type: org.onap.policy.clamp.controlloop.ControlLoop\n      type_version: 1.0.0\n      description: Control loop for Performance Management Subscription Handling\n      properties:\n        provider: Ericsson\n        elements:\n        - name: org.onap.domain.pmsh.PMSH_DCAEMicroservice\n          version: 1.2.3\n        - name: org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement\n          version: 1.2.3\n        - name: org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement\n          version: 1.2.3\n  policies:\n  - MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test:\n      type: onap.policies.monitoring.dcae-pm-subscription-handler\n      type_version: 1.0.0\n      name: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test\n      version: 1.0.0\n      metadata:\n        policy-id: MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test\n        policy-version: 1.0.0\n      properties:\n        pmsh_policy:\n          fileBasedGP: 15\n          fileLocation: /pm/pm.xml\n          subscriptionName: subscriptiona\n          administrativeState: UNLOCKED\n          nfFilter:\n            onap.datatypes.monitoring.nfFilter:\n              modelVersionIDs:\n              - e80a6ae3-cafd-4d24-850d-e14c084a5ca9\n              modelInvariantIDs:\n              - 5845y423-g654-6fju-po78-8n53154532k6\n              - 7129e420-d396-4efb-af02-6b83499b12f8\n              modelNames: []\n              nfNames:\n              - '\"^pnf1.*\"'\n          measurementGroups:\n          - measurementGroup:\n              onap.datatypes.monitoring.measurementGroup:\n                measurementTypes:\n                - measurementType:\n                    onap.datatypes.monitoring.measurementType:\n                      measurementType: countera\n                - measurementType:\n                    onap.datatypes.monitoring.measurementType:\n                      measurementType: counterb\n                managedObjectDNsBasic:\n                - managedObjectDNsBasic:\n                    onap.datatypes.monitoring.managedObjectDNsBasic:\n                      DN: dna\n                - managedObjectDNsBasic:\n                    onap.datatypes.monitoring.managedObjectDNsBasic:\n                      DN: dnb\n          - measurementGroup:\n              onap.datatypes.monitoring.measurementGroup:\n                measurementTypes:\n                - measurementType:\n                    onap.datatypes.monitoring.measurementType:\n                      measurementType: counterc\n                - measurementType:\n                    onap.datatypes.monitoring.measurementType:\n                      measurementType: counterd\n                managedObjectDNsBasic:\n                - managedObjectDNsBasic:\n                    onap.datatypes.monitoring.managedObjectDNsBasic:\n                      DN: dnc\n                - managedObjectDNsBasic:\n                    onap.datatypes.monitoring.managedObjectDNsBasic:\n                      DN: dnd\n  - operational.apex.pmcontrol:\n      type: onap.policies.controlloop.operational.common.Apex\n      type_version: 1.0.0\n      version: 1.0.0\n      metadata:\n        policy-id: operational.apex.pmcontrol\n        policy-version: 1\n      properties:\n        engineServiceParameters:\n          name: MyApexEngine\n          version: 0.0.1\n          id: 45\n          instanceCount: 2\n          deploymentPort: 12561\n          policy_type_impl:\n            apexPolicyModel:\n              key:\n                name: PMControlPolicy\n                version: 0.0.1\n              keyInformation:\n                key:\n                  name: PMControlPolicy_KeyInfo\n                  version: 0.0.1\n                keyInfoMap:\n                  entry:\n                  - key:\n                      name: CDSActionIdentifiersType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSActionIdentifiersType\n                        version: 0.0.1\n                      UUID: 6e5fa19b-14df-37e3-a4ae-8c537e861a82\n                      description: Generated description for concept referred to by key \"CDSActionIdentifiersType:0.0.1\"\n                  - key:\n                      name: CDSCreateResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponseEvent\n                        version: 0.0.1\n                      UUID: 14b29e38-ac75-3273-aa4e-8583c0aa7dad\n                      description: Generated description for concept referred to by key \"CDSCreateResponseEvent:0.0.1\"\n                  - key:\n                      name: CDSCreateResponsePayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponsePayloadType\n                        version: 0.0.1\n                      UUID: 04573f8f-e772-30a5-b1d9-d7318d4a1e13\n                      description: Generated description for concept referred to by key \"CDSCreateResponsePayloadType:0.0.1\"\n                  - key:\n                      name: CDSCreateResponsePolicy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponsePolicy\n                        version: 0.0.1\n                      UUID: e126c965-fc09-3bfe-8f55-70f380a4a49c\n                      description: Generated description for concept referred to by key \"CDSCreateResponsePolicy:0.0.1\"\n                  - key:\n                      name: CDSCreateResponseTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponseTask\n                        version: 0.0.1\n                      UUID: 6165ee82-afd2-3aab-a517-f00b3f2461d2\n                      description: Generated description for concept referred to by key \"CDSCreateResponseTask:0.0.1\"\n                  - key:\n                      name: CDSCreateSubscriptionPayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateSubscriptionPayloadType\n                        version: 0.0.1\n                      UUID: 8350ac5e-c157-38b9-9614-a0f93a830e60\n                      description: Generated description for concept referred to by key \"CDSCreateSubscriptionPayloadType:0.0.1\"\n                  - key:\n                      name: CDSCreateSubscriptionRequestEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateSubscriptionRequestEvent\n                        version: 0.0.1\n                      UUID: cfa325ba-226b-3a31-9183-ec43e2b6e9a2\n                      description: Generated description for concept referred to by key \"CDSCreateSubscriptionRequestEvent:0.0.1\"\n                  - key:\n                      name: CDSDeleteResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponseEvent\n                        version: 0.0.1\n                      UUID: 8be9c0fa-7437-3841-aff2-b3cec6ae3bd8\n                      description: Generated description for concept referred to by key \"CDSDeleteResponseEvent:0.0.1\"\n                  - key:\n                      name: CDSDeleteResponsePayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponsePayloadType\n                        version: 0.0.1\n                      UUID: 3fbfe0c9-152e-34d3-a504-09cd13c058d0\n                      description: Generated description for concept referred to by key \"CDSDeleteResponsePayloadType:0.0.1\"\n                  - key:\n                      name: CDSDeleteResponsePolicy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponsePolicy\n                        version: 0.0.1\n                      UUID: a780251c-edd5-3132-b865-04313246b43c\n                      description: Generated description for concept referred to by key \"CDSDeleteResponsePolicy:0.0.1\"\n                  - key:\n                      name: CDSDeleteResponseTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponseTask\n                        version: 0.0.1\n                      UUID: afce4555-3aa3-3521-a7d8-ee8cdf0d3efc\n                      description: Generated description for concept referred to by key \"CDSDeleteResponseTask:0.0.1\"\n                  - key:\n                      name: CDSDeleteSubscriptionPayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteSubscriptionPayloadType\n                        version: 0.0.1\n                      UUID: 12658406-9147-3c9d-a38c-5ad5e30b092b\n                      description: Generated description for concept referred to by key \"CDSDeleteSubscriptionPayloadType:0.0.1\"\n                  - key:\n                      name: CDSDeleteSubscriptionRequestEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteSubscriptionRequestEvent\n                        version: 0.0.1\n                      UUID: 24380c95-9289-36e6-8cbf-0edefa15ccd9\n                      description: Generated description for concept referred to by key \"CDSDeleteSubscriptionRequestEvent:0.0.1\"\n                  - key:\n                      name: CDSRequestCommonHeaderType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSRequestCommonHeaderType\n                        version: 0.0.1\n                      UUID: 35590ac0-062c-39f1-8786-b4ff716e30b1\n                      description: Generated description for concept referred to by key \"CDSRequestCommonHeaderType:0.0.1\"\n                  - key:\n                      name: CDSResponseCommonHeaderType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseCommonHeaderType\n                        version: 0.0.1\n                      UUID: dd7e1805-885a-350b-aaf9-ed541321ae3c\n                      description: Generated description for concept referred to by key \"CDSResponseCommonHeaderType:0.0.1\"\n                  - key:\n                      name: CDSResponseStatusEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseStatusEvent\n                        version: 0.0.1\n                      UUID: 7986e21b-32f7-302e-9554-31f21b673493\n                      description: Generated description for concept referred to by key \"CDSResponseStatusEvent:0.0.1\"\n                  - key:\n                      name: CDSResponseStatusType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseStatusType\n                        version: 0.0.1\n                      UUID: 92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa\n                      description: Generated description for concept referred to by key \"CDSResponseStatusType:0.0.1\"\n                  - key:\n                      name: CreateSubscriptionPayloadEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionPayloadEvent\n                        version: 0.0.1\n                      UUID: 92162397-1a8e-3a3f-a469-d2af7700af4a\n                      description: Generated description for concept referred to by key \"CreateSubscriptionPayloadEvent:0.0.1\"\n                  - key:\n                      name: CreateSubscriptionPayloadTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionPayloadTask\n                        version: 0.0.1\n                      UUID: bc0c69f0-52ed-38ea-b468-ae4a6fd1730d\n                      description: Generated description for concept referred to by key \"CreateSubscriptionPayloadTask:0.0.1\"\n                  - key:\n                      name: CreateSubscriptionRequestTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionRequestTask\n                        version: 0.0.1\n                      UUID: 89cb75e9-f06c-30d3-b4ff-698d45f63869\n                      description: Generated description for concept referred to by key \"CreateSubscriptionRequestTask:0.0.1\"\n                  - key:\n                      name: DeleteSubscriptionPayloadEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionPayloadEvent\n                        version: 0.0.1\n                      UUID: 994fa441-04ab-33bb-832d-1cd12ab5d074\n                      description: Generated description for concept referred to by key \"DeleteSubscriptionPayloadEvent:0.0.1\"\n                  - key:\n                      name: DeleteSubscriptionPayloadTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionPayloadTask\n                        version: 0.0.1\n                      UUID: 0f519117-5fea-3e4b-941f-8f778100465f\n                      description: Generated description for concept referred to by key \"DeleteSubscriptionPayloadTask:0.0.1\"\n                  - key:\n                      name: DeleteSubscriptionRequestTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionRequestTask\n                        version: 0.0.1\n                      UUID: acb772fe-d442-39e3-98f9-b1080caf4150\n                      description: Generated description for concept referred to by key \"DeleteSubscriptionRequestTask:0.0.1\"\n                  - key:\n                      name: MRResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: MRResponseEvent\n                        version: 0.0.1\n                      UUID: 13c747a3-6bae-3bcf-9c80-b152e01dc194\n                      description: Generated description for concept referred to by key \"MRResponseEvent:0.0.1\"\n                  - key:\n                      name: PMControlPolicy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy\n                        version: 0.0.1\n                      UUID: acf1e55c-7bc5-3bd5-975a-0ca54afcd8a4\n                      description: Generated description for concept referred to by key \"PMControlPolicy:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_Albums\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_Albums\n                        version: 0.0.1\n                      UUID: b38ad204-c2c8-32f4-9b5a-dda0aeb0145b\n                      description: Generated description for concept referred to by key \"PMControlPolicy_Albums:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_Events\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_Events\n                        version: 0.0.1\n                      UUID: be3871a0-c42a-3113-a066-82d192840eca\n                      description: Generated description for concept referred to by key \"PMControlPolicy_Events:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_KeyInfo\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_KeyInfo\n                        version: 0.0.1\n                      UUID: ced37634-28a4-3178-b7f6-2980794927b0\n                      description: Generated description for concept referred to by key \"PMControlPolicy_KeyInfo:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_Policies\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_Policies\n                        version: 0.0.1\n                      UUID: be3d180d-ef9c-3a75-8e9c-84271a038bed\n                      description: Generated description for concept referred to by key \"PMControlPolicy_Policies:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_Schemas\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_Schemas\n                        version: 0.0.1\n                      UUID: e61973f1-189c-39e5-82f6-0d3afe298a20\n                      description: Generated description for concept referred to by key \"PMControlPolicy_Schemas:0.0.1\"\n                  - key:\n                      name: PMControlPolicy_Tasks\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMControlPolicy_Tasks\n                        version: 0.0.1\n                      UUID: 5658adb3-2962-30a3-a241-fae75bb8eb4a\n                      description: Generated description for concept referred to by key \"PMControlPolicy_Tasks:0.0.1\"\n                  - key:\n                      name: PMSubscriptionAlbum\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      UUID: c2bd6f0d-6854-317a-9be2-97c08338428c\n                      description: Generated description for concept referred to by key \"PMSubscriptionAlbum:0.0.1\"\n                  - key:\n                      name: PMSubscriptionOutputEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionOutputEvent\n                        version: 0.0.1\n                      UUID: 992b7819-9f69-3aa0-bb0f-6e45ea15ce05\n                      description: Generated description for concept referred to by key \"PMSubscriptionOutputEvent:0.0.1\"\n                  - key:\n                      name: PMSubscriptionType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionType\n                        version: 0.0.1\n                      UUID: 73c1c397-4fc3-357f-93b6-a8ad707fbaae\n                      description: Generated description for concept referred to by key \"PMSubscriptionType:0.0.1\"\n                  - key:\n                      name: ReceiveEventPolicy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: ReceiveEventPolicy\n                        version: 0.0.1\n                      UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1\n                      description: Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\"\n                  - key:\n                      name: ReceiveSubscriptionTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: ReceiveSubscriptionTask\n                        version: 0.0.1\n                      UUID: f596afc8-100c-35eb-92c8-352355ea457d\n                      description: Generated description for concept referred to by key \"ReceiveSubscriptionTask:0.0.1\"\n                  - key:\n                      name: SimpleIntType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SimpleIntType\n                        version: 0.0.1\n                      UUID: 153791fd-ae0a-36a7-88a5-309a7936415d\n                      description: Generated description for concept referred to by key \"SimpleIntType:0.0.1\"\n                  - key:\n                      name: SimpleStringType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SimpleStringType\n                        version: 0.0.1\n                      UUID: 8a4957cf-9493-3a76-8c22-a208e23259af\n                      description: Generated description for concept referred to by key \"SimpleStringType:0.0.1\"\n                  - key:\n                      name: SubscriptionStatusType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SubscriptionStatusType\n                        version: 0.0.1\n                      UUID: 597643b1-9db1-31ce-85d0-e1c63c43b30b\n                      description: Generated description for concept referred to by key \"SubscriptionStatusType:0.0.1\"\n                  - key:\n                      name: SubscriptionType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SubscriptionType\n                        version: 0.0.1\n                      UUID: 184547bb-7d64-3cb2-a273-d7185102c5ce\n                      description: Generated description for concept referred to by key \"SubscriptionType:0.0.1\"\n                  - key:\n                      name: UUIDType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: UUIDType\n                        version: 0.0.1\n                      UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c\n                      description: Generated description for concept referred to by key \"UUIDType:0.0.1\"\n                  - key:\n                      name: pmsh-operational-policy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: pmsh-operational-policy\n                        version: 0.0.1\n                      UUID: fdf2c9ff-6422-3ea6-b6b6-49b12116265d\n                      description: Generated description for concept referred to by key \"pmsh-operational-policy:0.0.1\"\n              policies:\n                key:\n                  name: PMControlPolicy_Policies\n                  version: 0.0.1\n                policyMap:\n                  entry:\n                  - key:\n                      name: CDSCreateResponsePolicy\n                      version: 0.0.1\n                    value:\n                      policyKey:\n                        name: CDSCreateResponsePolicy\n                        version: 0.0.1\n                      template: Freestyle\n                      state:\n                        entry:\n                        - key: CDSCreateResponseState\n                          value:\n                            stateKey:\n                              parentKeyName: CDSCreateResponsePolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: CDSCreateResponseState\n                            trigger:\n                              name: CDSCreateResponseEvent\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: ResponseOutput\n                                value:\n                                  key:\n                                    parentKeyName: CDSCreateResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSCreateResponseState\n                                    localName: ResponseOutput\n                                  outgoingEvent:\n                                    name: CDSResponseStatusEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: 'NULL'\n                                    parentKeyVersion: 0.0.0\n                                    parentLocalName: 'NULL'\n                                    localName: 'NULL'\n                            contextAlbumReference: []\n                            taskSelectionLogic:\n                              key: 'NULL'\n                              logicFlavour: UNDEFINED\n                              logic: ''\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: CDSCreateResponseTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: CDSCreateResponseTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: CDSCreateResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSCreateResponseState\n                                    localName: CDSCreateResponsePolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: CDSCreateResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSCreateResponseState\n                                    localName: ResponseOutput\n                      firstState: CDSCreateResponseState\n                  - key:\n                      name: CDSDeleteResponsePolicy\n                      version: 0.0.1\n                    value:\n                      policyKey:\n                        name: CDSDeleteResponsePolicy\n                        version: 0.0.1\n                      template: Freestyle\n                      state:\n                        entry:\n                        - key: CDSDeleteResponseState\n                          value:\n                            stateKey:\n                              parentKeyName: CDSDeleteResponsePolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: CDSDeleteResponseState\n                            trigger:\n                              name: CDSDeleteResponseEvent\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: ResponseOutput\n                                value:\n                                  key:\n                                    parentKeyName: CDSDeleteResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSDeleteResponseState\n                                    localName: ResponseOutput\n                                  outgoingEvent:\n                                    name: CDSResponseStatusEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: 'NULL'\n                                    parentKeyVersion: 0.0.0\n                                    parentLocalName: 'NULL'\n                                    localName: 'NULL'\n                            contextAlbumReference: []\n                            taskSelectionLogic:\n                              key: 'NULL'\n                              logicFlavour: UNDEFINED\n                              logic: ''\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: CDSDeleteResponseTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: CDSDeleteResponseTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: CDSDeleteResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSDeleteResponseState\n                                    localName: CDSDeleteResponsePolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: CDSDeleteResponsePolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CDSDeleteResponseState\n                                    localName: ResponseOutput\n                      firstState: CDSDeleteResponseState\n                  - key:\n                      name: ReceiveEventPolicy\n                      version: 0.0.1\n                    value:\n                      policyKey:\n                        name: ReceiveEventPolicy\n                        version: 0.0.1\n                      template: Freestyle\n                      state:\n                        entry:\n                        - key: CreateOrDeleteState\n                          value:\n                            stateKey:\n                              parentKeyName: ReceiveEventPolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: CreateOrDeleteState\n                            trigger:\n                              name: PMSubscriptionOutputEvent\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: CreateSubscriptionPayload\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: CreateSubscriptionPayload\n                                  outgoingEvent:\n                                    name: CreateSubscriptionPayloadEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: 'NULL'\n                                    localName: CreateSubscription\n                              - key: DeleteSubscriptionPayload\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: DeleteSubscriptionPayload\n                                  outgoingEvent:\n                                    name: DeleteSubscriptionPayloadEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: 'NULL'\n                                    localName: DeleteSubscription\n                            contextAlbumReference:\n                            - name: PMSubscriptionAlbum\n                              version: 0.0.1\n                            taskSelectionLogic:\n                              key: TaskSelectionLogic\n                              logicFlavour: JAVASCRIPT\n                              logic: |-\n                                /*\n                                 * ============LICENSE_START=======================================================\n                                 *  Copyright (C) 2020 Nordix. All rights reserved.\n                                 * ================================================================================\n                                 * Licensed under the Apache License, Version 2.0 (the \"License\");\n                                 * you may not use this file except in compliance with the License.\n                                 * You may obtain a copy of the License at\n                                 *\n                                 *      http://www.apache.org/licenses/LICENSE-2.0\n                                 *\n                                 * Unless required by applicable law or agreed to in writing, software\n                                 * distributed under the License is distributed on an \"AS IS\" BASIS,\n                                 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                                 * See the License for the specific language governing permissions and\n                                 * limitations under the License.\n                                 *\n                                 * SPDX-License-Identifier: Apache-2.0\n                                 * ============LICENSE_END=========================================================\n                                 */\n\n                                executor.logger.info(executor.subject.id);\n\n                                var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n                                var changeType = pmSubscriptionInfo.get(\"changeType\").toString()\n\n                                executor.logger.info(\"Change Type is \" + changeType)\n\n                                if (\"CREATE\".equals(changeType)) {\n                                    executor.logger.info(\"Choosing to create a subscription\")\n                                    executor.subject.getTaskKey(\"CreateSubscriptionPayloadTask\").copyTo(executor.selectedTask);\n                                }\n                                else if (\"DELETE\".equals(changeType)) {\n                                    executor.logger.info(\"Choosing to delete a subscription\")\n                                    executor.subject.getTaskKey(\"DeleteSubscriptionPayloadTask\").copyTo(executor.selectedTask);\n                                }\n\n                                //var returnValue = executor.isTrue;\n                                true;\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: CreateSubscriptionPayloadTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: CreateSubscriptionPayloadTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: ReceiveEventPolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: CreateSubscriptionPayload\n                              - key:\n                                  name: DeleteSubscriptionPayloadTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: ReceiveEventPolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateOrDeleteState\n                                    localName: DeleteSubscriptionPayload\n                        - key: CreateSubscription\n                          value:\n                            stateKey:\n                              parentKeyName: ReceiveEventPolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: CreateSubscription\n                            trigger:\n                              name: CreateSubscriptionPayloadEvent\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: IssueCreateSubscriptionRequestOutput\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateSubscription\n                                    localName: IssueCreateSubscriptionRequestOutput\n                                  outgoingEvent:\n                                    name: CDSCreateSubscriptionRequestEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: 'NULL'\n                                    parentKeyVersion: 0.0.0\n                                    parentLocalName: 'NULL'\n                                    localName: 'NULL'\n                            contextAlbumReference:\n                            - name: PMSubscriptionAlbum\n                              version: 0.0.1\n                            taskSelectionLogic:\n                              key: 'NULL'\n                              logicFlavour: UNDEFINED\n                              logic: ''\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: CreateSubscriptionRequestTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: CreateSubscriptionRequestTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateSubscription\n                                    localName: ReceiveEventPolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: CreateSubscription\n                                    localName: IssueCreateSubscriptionRequestOutput\n                        - key: DeleteSubscription\n                          value:\n                            stateKey:\n                              parentKeyName: ReceiveEventPolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: DeleteSubscription\n                            trigger:\n                              name: DeleteSubscriptionPayloadEvent\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: IssueDeleteSubscriptionRequestOutput\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: DeleteSubscription\n                                    localName: IssueDeleteSubscriptionRequestOutput\n                                  outgoingEvent:\n                                    name: CDSDeleteSubscriptionRequestEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: 'NULL'\n                                    parentKeyVersion: 0.0.0\n                                    parentLocalName: 'NULL'\n                                    localName: 'NULL'\n                            contextAlbumReference:\n                            - name: PMSubscriptionAlbum\n                              version: 0.0.1\n                            taskSelectionLogic:\n                              key: 'NULL'\n                              logicFlavour: UNDEFINED\n                              logic: ''\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: DeleteSubscriptionRequestTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: DeleteSubscriptionRequestTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: DeleteSubscription\n                                    localName: ReceiveEventPolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: DeleteSubscription\n                                    localName: IssueDeleteSubscriptionRequestOutput\n                        - key: ReceiveSubscriptionState\n                          value:\n                            stateKey:\n                              parentKeyName: ReceiveEventPolicy\n                              parentKeyVersion: 0.0.1\n                              parentLocalName: 'NULL'\n                              localName: ReceiveSubscriptionState\n                            trigger:\n                              name: pmsh-operational-policy\n                              version: 0.0.1\n                            stateOutputs:\n                              entry:\n                              - key: ReceivePMSubscriptionOutput\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: ReceiveSubscriptionState\n                                    localName: ReceivePMSubscriptionOutput\n                                  outgoingEvent:\n                                    name: PMSubscriptionOutputEvent\n                                    version: 0.0.1\n                                  nextState:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: 'NULL'\n                                    localName: CreateOrDeleteState\n                            contextAlbumReference:\n                            - name: PMSubscriptionAlbum\n                              version: 0.0.1\n                            taskSelectionLogic:\n                              key: 'NULL'\n                              logicFlavour: UNDEFINED\n                              logic: ''\n                            stateFinalizerLogicMap:\n                              entry: []\n                            defaultTask:\n                              name: ReceiveSubscriptionTask\n                              version: 0.0.1\n                            taskReferences:\n                              entry:\n                              - key:\n                                  name: ReceiveSubscriptionTask\n                                  version: 0.0.1\n                                value:\n                                  key:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: ReceiveSubscriptionState\n                                    localName: ReceiveEventPolicy\n                                  outputType: DIRECT\n                                  output:\n                                    parentKeyName: ReceiveEventPolicy\n                                    parentKeyVersion: 0.0.1\n                                    parentLocalName: ReceiveSubscriptionState\n                                    localName: ReceivePMSubscriptionOutput\n                      firstState: ReceiveSubscriptionState\n              tasks:\n                key:\n                  name: PMControlPolicy_Tasks\n                  version: 0.0.1\n                taskMap:\n                  entry:\n                  - key:\n                      name: CDSCreateResponseTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponseTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSResponseCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateResponsePayloadType\n                              version: 0.0.1\n                            optional: false\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: CDSResponseStatusType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: SubscriptionStatusType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var commonHeader = executor.inFields.get(\"commonHeader\")\n                          var response = executor.inFields.get(\"payload\")\n                          var albumID = commonHeader.get(\"requestId\")\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(albumID.toString());\n                          var responseStatus = executor.subject.getOutFieldSchemaHelper(\"status\").createNewInstance();\n\n                          responseStatus.put(\"subscriptionName\", pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\n                          responseStatus.put(\"nfName\", pmSubscriptionInfo.get(\"nfName\"))\n                          responseStatus.put(\"changeType\", pmSubscriptionInfo.get(\"changeType\"))\n\n                          var status = response.get(pmSubscriptionInfo.get(\"changeType\").toLowerCase() + \"_DasH_subscription_DasH_response\").get(\"odl_DasH_response\").get(\"status\")\n\n                          executor.logger.info(\"RESPONSE STATUS = \" + status)\n\n                          if(status == \"success\") {\n                              responseStatus.put(\"message\", \"success\")\n                          } else {\n                              responseStatus.put(\"message\", \"failed\")\n                          }\n\n                          executor.outFields.put(\"status\", responseStatus)\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: CDSDeleteResponseTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponseTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSResponseCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteResponsePayloadType\n                              version: 0.0.1\n                            optional: false\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: CDSResponseStatusType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: SubscriptionStatusType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var commonHeader = executor.inFields.get(\"commonHeader\")\n                          var response = executor.inFields.get(\"payload\")\n                          var albumID = commonHeader.get(\"requestId\")\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(albumID.toString());\n                          var responseStatus = executor.subject.getOutFieldSchemaHelper(\"status\").createNewInstance();\n\n                          responseStatus.put(\"subscriptionName\", pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\n                          responseStatus.put(\"nfName\", pmSubscriptionInfo.get(\"nfName\"))\n                          responseStatus.put(\"changeType\", pmSubscriptionInfo.get(\"changeType\"))\n\n                          var status = response.get(pmSubscriptionInfo.get(\"changeType\").toLowerCase() + \"_DasH_subscription_DasH_response\").get(\"odl_DasH_response\").get(\"status\")\n\n                          executor.logger.info(\"RESPONSE STATUS = \" + status)\n\n                          if(status == \"success\") {\n                              responseStatus.put(\"message\", \"success\")\n                          } else {\n                              responseStatus.put(\"message\", \"failed\")\n                          }\n\n                          executor.outFields.put(\"status\", responseStatus)\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: CreateSubscriptionPayloadTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionPayloadTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n\n                          var changeType = pmSubscriptionInfo.get(\"changeType\").toLowerCase()\n\n                          var payloadProperties = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(changeType + \"_DasH_subscription_DasH_properties_record\");\n\n                          payloadProperties.put(\"nfName\",  pmSubscriptionInfo.get(\"nfName\"))\n                          payloadProperties.put(\"subscriptionName\",  pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\n                          payloadProperties.put(\"administrativeState\", pmSubscriptionInfo.get(\"subscription\").get(\"administrativeState\"))\n                          payloadProperties.put(\"fileBasedGP\",  pmSubscriptionInfo.get(\"subscription\").get(\"fileBasedGP\").toString())\n                          payloadProperties.put(\"fileLocation\", pmSubscriptionInfo.get(\"subscription\").get(\"fileLocation\"))\n                          payloadProperties.put(\"measurementGroups\", pmSubscriptionInfo.get(\"subscription\").get(\"measurementGroups\"))\n\n                          var payloadEntry = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(\"CDSRequestPayloadEntry\");\n                          payloadEntry.put(changeType + \"_DasH_subscription_DasH_properties\", payloadProperties)\n\n                          var payload = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewInstance();\n                          payload.put(changeType + \"_DasH_subscription_DasH_request\", payloadEntry);\n\n                          executor.outFields.put(\"albumID\", executor.inFields.get(\"albumID\"))\n                          executor.outFields.put(\"payload\", payload);\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: CreateSubscriptionRequestTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionRequestTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSRequestCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n\n                          var changeType = pmSubscriptionInfo.get(\"changeType\").toLowerCase()\n                          var blueprintName = pmSubscriptionInfo.get(\"blueprintName\").toLowerCase()\n                          var blueprintVersion = pmSubscriptionInfo.get(\"blueprintVersion\").toLowerCase()\n                          var payload = executor.inFields.get(\"payload\")\n                          var actionName = changeType + \"-subscription\"\n\n                          var commonHeader = executor.subject.getOutFieldSchemaHelper(\"commonHeader\").createNewInstance();\n                          commonHeader.put(\"originatorId\", \"sdnc\");\n                          commonHeader.put(\"requestId\", executor.inFields.get(\"albumID\").toString());\n                          commonHeader.put(\"subRequestId\", \"sub-123456-1000\");\n\n                          var actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\"actionIdentifiers\").createNewInstance();\n                          actionIdentifiers.put(\"actionName\", actionName);\n                          actionIdentifiers.put(\"blueprintName\", blueprintName);\n                          actionIdentifiers.put(\"blueprintVersion\", blueprintVersion);\n                          actionIdentifiers.put(\"mode\", \"sync\");\n\n                          executor.outFields.put(\"commonHeader\", commonHeader);\n                          executor.outFields.put(\"actionIdentifiers\", actionIdentifiers);\n                          executor.outFields.put(\"payload\", payload);\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: DeleteSubscriptionPayloadTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionPayloadTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n\n                          var changeType = pmSubscriptionInfo.get(\"changeType\").toLowerCase()\n\n                          var payloadProperties = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(changeType + \"_DasH_subscription_DasH_properties_record\");\n\n                          payloadProperties.put(\"nfName\",  pmSubscriptionInfo.get(\"nfName\"))\n                          payloadProperties.put(\"subscriptionName\",  pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\n                          payloadProperties.put(\"administrativeState\", pmSubscriptionInfo.get(\"subscription\").get(\"administrativeState\"))\n                          payloadProperties.put(\"fileBasedGP\",  pmSubscriptionInfo.get(\"subscription\").get(\"fileBasedGP\").toString())\n                          payloadProperties.put(\"fileLocation\", pmSubscriptionInfo.get(\"subscription\").get(\"fileLocation\"))\n                          payloadProperties.put(\"measurementGroups\", pmSubscriptionInfo.get(\"subscription\").get(\"measurementGroups\"))\n\n                          var payloadEntry = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(\"CDSRequestPayloadEntry\");\n                          payloadEntry.put(changeType + \"_DasH_subscription_DasH_properties\", payloadProperties)\n\n                          var payload = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewInstance();\n                          payload.put(changeType + \"_DasH_subscription_DasH_request\", payloadEntry);\n\n                          executor.outFields.put(\"albumID\", executor.inFields.get(\"albumID\"))\n                          executor.outFields.put(\"payload\", payload);\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: DeleteSubscriptionRequestTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionRequestTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSRequestCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n\n                          executor.logger.info(executor.subject.id);\n\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n\n                          var changeType = pmSubscriptionInfo.get(\"changeType\").toLowerCase()\n                          var blueprintName = pmSubscriptionInfo.get(\"blueprintName\").toLowerCase()\n                          var blueprintVersion = pmSubscriptionInfo.get(\"blueprintVersion\").toLowerCase()\n                          var payload = executor.inFields.get(\"payload\")\n                          var actionName = changeType + \"-subscription\"\n\n                          var commonHeader = executor.subject.getOutFieldSchemaHelper(\"commonHeader\").createNewInstance();\n                          commonHeader.put(\"originatorId\", \"sdnc\");\n                          commonHeader.put(\"requestId\", executor.inFields.get(\"albumID\").toString());\n                          commonHeader.put(\"subRequestId\", \"sub-123456-1000\");\n\n                          var actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\"actionIdentifiers\").createNewInstance();\n                          actionIdentifiers.put(\"actionName\", actionName);\n                          actionIdentifiers.put(\"blueprintName\", blueprintName);\n                          actionIdentifiers.put(\"blueprintVersion\", blueprintVersion);\n                          actionIdentifiers.put(\"mode\", \"sync\");\n\n                          executor.outFields.put(\"commonHeader\", commonHeader);\n                          executor.outFields.put(\"actionIdentifiers\", actionIdentifiers);\n                          executor.outFields.put(\"payload\", payload);\n\n                          //var returnValue = executor.isTrue;\n                          true;\n                  - key:\n                      name: ReceiveSubscriptionTask\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: ReceiveSubscriptionTask\n                        version: 0.0.1\n                      inputFields:\n                        entry:\n                        - key: blueprintName\n                          value:\n                            key: blueprintName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: blueprintVersion\n                          value:\n                            key: blueprintVersion\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: changeType\n                          value:\n                            key: changeType\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: closedLoopControlName\n                          value:\n                            key: closedLoopControlName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: nfName\n                          value:\n                            key: nfName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: policyName\n                          value:\n                            key: policyName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: subscription\n                          value:\n                            key: subscription\n                            fieldSchemaKey:\n                              name: SubscriptionType\n                              version: 0.0.1\n                            optional: false\n                      outputFields:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                      taskParameters:\n                        entry: []\n                      contextAlbumReference:\n                      - name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      taskLogic:\n                        key: TaskLogic\n                        logicFlavour: JAVASCRIPT\n                        logic: |-\n                          /*\n                           * ============LICENSE_START=======================================================\n                           *  Copyright (C) 2020 Nordix. All rights reserved.\n                           * ================================================================================\n                           * Licensed under the Apache License, Version 2.0 (the \"License\");\n                           * you may not use this file except in compliance with the License.\n                           * You may obtain a copy of the License at\n                           *\n                           *      http://www.apache.org/licenses/LICENSE-2.0\n                           *\n                           * Unless required by applicable law or agreed to in writing, software\n                           * distributed under the License is distributed on an \"AS IS\" BASIS,\n                           * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n                           * See the License for the specific language governing permissions and\n                           * limitations under the License.\n                           *\n                           * SPDX-License-Identifier: Apache-2.0\n                           * ============LICENSE_END=========================================================\n                           */\n                          var uuidType = java.util.UUID;\n\n                          executor.logger.info(executor.subject.id);\n\n                          //albumID will be used to fetch info from our album later\n                          var albumID = uuidType.randomUUID();\n                          var pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").getSchemaHelper().createNewInstance();\n                          var returnValue = true;\n\n                          if(executor.inFields.get(\"policyName\") != null) {\n                              executor.logger.info(\"nfName in receive sub event \" + executor.inFields.get(\"nfName\"));\n\n                              var changeType = executor.inFields.get(\"changeType\")\n                              var nfName = executor.inFields.get(\"nfName\")\n                              var policyName = executor.inFields.get(\"policyName\")\n                              var closedLoopControlName = executor.inFields.get(\"closedLoopControlName\")\n                              var subscription = executor.inFields.get(\"subscription\")\n                              var blueprintName = executor.inFields.get(\"blueprintName\")\n                              var blueprintVersion = executor.inFields.get(\"blueprintVersion\")\n\n                              pmSubscriptionInfo.put(\"nfName\", executor.inFields.get(\"nfName\"));\n                              pmSubscriptionInfo.put(\"changeType\", executor.inFields.get(\"changeType\"))\n                              pmSubscriptionInfo.put(\"policyName\", executor.inFields.get(\"policyName\"))\n                              pmSubscriptionInfo.put(\"closedLoopControlName\", executor.inFields.get(\"closedLoopControlName\"))\n                              pmSubscriptionInfo.put(\"subscription\", subscription)\n                              pmSubscriptionInfo.put(\"blueprintName\", blueprintName)\n                              pmSubscriptionInfo.put(\"blueprintVersion\", blueprintVersion)\n\n\n                              executor.getContextAlbum(\"PMSubscriptionAlbum\").put(albumID.toString(), pmSubscriptionInfo);\n\n                              executor.outFields.put(\"albumID\", albumID)\n                          } else {\n                              executor.message = \"Received invalid event\"\n                              returnValue = false;\n                          }\n\n                          returnValue;\n              events:\n                key:\n                  name: PMControlPolicy_Events\n                  version: 0.0.1\n                eventMap:\n                  entry:\n                  - key:\n                      name: CDSCreateResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponseEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: CDS\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSResponseCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateResponsePayloadType\n                              version: 0.0.1\n                            optional: false\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: CDSResponseStatusType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: CDSCreateSubscriptionRequestEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateSubscriptionRequestEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSRequestCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: CDSDeleteResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponseEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: CDS\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSResponseCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteResponsePayloadType\n                              version: 0.0.1\n                            optional: false\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: CDSResponseStatusType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: CDSDeleteSubscriptionRequestEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteSubscriptionRequestEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: actionIdentifiers\n                          value:\n                            key: actionIdentifiers\n                            fieldSchemaKey:\n                              name: CDSActionIdentifiersType\n                              version: 0.0.1\n                            optional: false\n                        - key: commonHeader\n                          value:\n                            key: commonHeader\n                            fieldSchemaKey:\n                              name: CDSRequestCommonHeaderType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: CDSResponseStatusEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseStatusEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: DCAE\n                      parameter:\n                        entry:\n                        - key: status\n                          value:\n                            key: status\n                            fieldSchemaKey:\n                              name: SubscriptionStatusType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: CreateSubscriptionPayloadEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CreateSubscriptionPayloadEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSCreateSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: DeleteSubscriptionPayloadEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: DeleteSubscriptionPayloadEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                        - key: payload\n                          value:\n                            key: payload\n                            fieldSchemaKey:\n                              name: CDSDeleteSubscriptionPayloadType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: MRResponseEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: MRResponseEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: DCAE\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: count\n                          value:\n                            key: count\n                            fieldSchemaKey:\n                              name: SimpleIntType\n                              version: 0.0.1\n                            optional: false\n                        - key: serverTimeMs\n                          value:\n                            key: serverTimeMs\n                            fieldSchemaKey:\n                              name: SimpleIntType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: PMSubscriptionOutputEvent\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionOutputEvent\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: APEX\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: albumID\n                          value:\n                            key: albumID\n                            fieldSchemaKey:\n                              name: UUIDType\n                              version: 0.0.1\n                            optional: false\n                  - key:\n                      name: pmsh-operational-policy\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: pmsh-operational-policy\n                        version: 0.0.1\n                      nameSpace: org.onap.policy.apex.onap.pmcontrol\n                      source: DCAE\n                      target: APEX\n                      parameter:\n                        entry:\n                        - key: blueprintName\n                          value:\n                            key: blueprintName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: blueprintVersion\n                          value:\n                            key: blueprintVersion\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: changeType\n                          value:\n                            key: changeType\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: closedLoopControlName\n                          value:\n                            key: closedLoopControlName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: nfName\n                          value:\n                            key: nfName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: policyName\n                          value:\n                            key: policyName\n                            fieldSchemaKey:\n                              name: SimpleStringType\n                              version: 0.0.1\n                            optional: false\n                        - key: subscription\n                          value:\n                            key: subscription\n                            fieldSchemaKey:\n                              name: SubscriptionType\n                              version: 0.0.1\n                            optional: false\n              albums:\n                key:\n                  name: PMControlPolicy_Albums\n                  version: 0.0.1\n                albums:\n                  entry:\n                  - key:\n                      name: PMSubscriptionAlbum\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionAlbum\n                        version: 0.0.1\n                      scope: policy\n                      isWritable: true\n                      itemSchema:\n                        name: PMSubscriptionType\n                        version: 0.0.1\n              schemas:\n                key:\n                  name: PMControlPolicy_Schemas\n                  version: 0.0.1\n                schemas:\n                  entry:\n                  - key:\n                      name: CDSActionIdentifiersType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSActionIdentifiersType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                            \"type\": \"record\",\n                            \"name\": \"ActionIdentifiers_Type\",\n                            \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                            \"fields\": [\n                                {\n                                    \"name\": \"actionName\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"blueprintName\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"blueprintVersion\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"mode\",\n                                    \"type\": \"string\"\n                                }\n                            ]\n                        }\n                  - key:\n                      name: CDSCreateResponsePayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateResponsePayloadType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                          \"name\": \"CreateResponsePayloadEntry\",\n                          \"type\": \"record\",\n                          \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                          \"fields\": [\n                            {\n                              \"name\": \"create_DasH_subscription_DasH_response\",\n                              \"type\": {\n                                \"name\": \"create_DasH_subscription_DasH_response\",\n                                \"type\": \"record\",\n                                \"fields\": [\n                                  {\n                                    \"name\": \"odl_DasH_response\",\n                                    \"type\": {\n                                      \"name\": \"odl_DasH_response\",\n                                      \"type\": \"record\",\n                                      \"fields\": [\n                                          {\n                                            \"name\": \"status\",\n                                            \"type\": \"string\"\n                                          }\n                                      ]\n                                    }\n                                  }\n                                ]\n                              }\n                            }\n                          ]\n                        }\n                  - key:\n                      name: CDSCreateSubscriptionPayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSCreateSubscriptionPayloadType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                          \"type\": \"map\",\n                          \"values\": {\n                            \"type\": \"record\",\n                            \"name\": \"CDSRequestPayloadEntry\",\n                            \"fields\": [\n                              {\n                                \"name\": \"create_DasH_subscription_DasH_properties\",\n                                \"type\": {\n                                  \"name\": \"create_DasH_subscription_DasH_properties_record\",\n                                  \"type\": \"record\",\n                                  \"fields\": [\n                                    {\n                                      \"name\": \"nfName\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"subscriptionName\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"administrativeState\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"fileBasedGP\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"fileLocation\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"measurementGroups\",\n                                      \"type\": {\n                                        \"type\": \"array\",\n                                        \"items\": {\n                                          \"name\": \"measurementGroups_record\",\n                                          \"type\": \"record\",\n                                          \"fields\": [\n                                            {\n                                              \"name\": \"measurementGroup\",\n                                              \"type\": {\n                                                \"name\": \"measurementGroup\",\n                                                \"type\": \"record\",\n                                                \"fields\": [\n                                                  {\n                                                    \"name\": \"measurementTypes\",\n                                                    \"type\": {\n                                                      \"type\": \"array\",\n                                                      \"items\": {\n                                                        \"name\": \"measurementTypes_record\",\n                                                        \"type\": \"record\",\n                                                        \"fields\": [\n                                                          {\n                                                            \"name\": \"measurementType\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        ]\n                                                      }\n                                                    }\n                                                  },\n                                                  {\n                                                    \"name\": \"managedObjectDNsBasic\",\n                                                    \"type\": {\n                                                      \"type\": \"array\",\n                                                      \"items\": {\n                                                        \"name\": \"managedObjectDNsBasic_record\",\n                                                        \"type\": \"record\",\n                                                        \"fields\": [\n                                                          {\n                                                            \"name\": \"DN\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        ]\n                                                      }\n                                                    }\n                                                  }\n                                                ]\n                                              }\n                                            }\n                                          ]\n                                        }\n                                      }\n                                    }\n                                  ]\n                                }\n                              }\n                            ]\n                          }\n                        }\n                  - key:\n                      name: CDSDeleteResponsePayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteResponsePayloadType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                          \"name\": \"DeleteResponsePayloadEntry\",\n                          \"type\": \"record\",\n                          \"namespace\": \"com.acme.avro\",\n                          \"fields\": [\n                            {\n                              \"name\": \"delete_DasH_subscription_DasH_response\",\n                              \"type\": {\n                                \"name\": \"delete_DasH_subscription_DasH_response\",\n                                \"type\": \"record\",\n                                \"fields\": [\n                                  {\n                                    \"name\": \"odl_DasH_response\",\n                                    \"type\": {\n                                      \"name\": \"odl_DasH_response\",\n                                      \"type\": \"record\",\n                                      \"fields\": [\n                                          {\n                                            \"name\": \"status\",\n                                            \"type\": \"string\"\n                                          }\n                                      ]\n                                    }\n                                  }\n                                ]\n                              }\n                            }\n                          ]\n                        }\n                  - key:\n                      name: CDSDeleteSubscriptionPayloadType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSDeleteSubscriptionPayloadType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                          \"type\": \"map\",\n                          \"values\": {\n                            \"type\": \"record\",\n                            \"name\": \"CDSRequestPayloadEntry\",\n                            \"fields\": [\n                              {\n                                \"name\": \"delete_DasH_subscription_DasH_properties\",\n                                \"type\": {\n                                  \"name\": \"delete_DasH_subscription_DasH_properties_record\",\n                                  \"type\": \"record\",\n                                  \"fields\": [\n                                    {\n                                      \"name\": \"nfName\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"subscriptionName\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"administrativeState\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"fileBasedGP\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"fileLocation\",\n                                      \"type\": \"string\"\n                                    },\n                                    {\n                                      \"name\": \"measurementGroups\",\n                                      \"type\": {\n                                        \"type\": \"array\",\n                                        \"items\": {\n                                          \"name\": \"measurementGroups_record\",\n                                          \"type\": \"record\",\n                                          \"fields\": [\n                                            {\n                                              \"name\": \"measurementGroup\",\n                                              \"type\": {\n                                                \"name\": \"measurementGroup\",\n                                                \"type\": \"record\",\n                                                \"fields\": [\n                                                  {\n                                                    \"name\": \"measurementTypes\",\n                                                    \"type\": {\n                                                      \"type\": \"array\",\n                                                      \"items\": {\n                                                        \"name\": \"measurementTypes_record\",\n                                                        \"type\": \"record\",\n                                                        \"fields\": [\n                                                          {\n                                                            \"name\": \"measurementType\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        ]\n                                                      }\n                                                    }\n                                                  },\n                                                  {\n                                                    \"name\": \"managedObjectDNsBasic\",\n                                                    \"type\": {\n                                                      \"type\": \"array\",\n                                                      \"items\": {\n                                                        \"name\": \"managedObjectDNsBasic_record\",\n                                                        \"type\": \"record\",\n                                                        \"fields\": [\n                                                          {\n                                                            \"name\": \"DN\",\n                                                            \"type\": \"string\"\n                                                          }\n                                                        ]\n                                                      }\n                                                    }\n                                                  }\n                                                ]\n                                              }\n                                            }\n                                          ]\n                                        }\n                                      }\n                                    }\n                                  ]\n                                }\n                              }\n                            ]\n                          }\n                        }\n                  - key:\n                      name: CDSRequestCommonHeaderType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSRequestCommonHeaderType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                            \"type\": \"record\",\n                            \"name\": \"RequestCommonHeader_Type\",\n                            \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                            \"fields\": [\n                                {\n                                    \"name\": \"originatorId\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"requestId\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"subRequestId\",\n                                    \"type\": \"string\"\n                                }\n                            ]\n                        }\n                  - key:\n                      name: CDSResponseCommonHeaderType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseCommonHeaderType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                            \"type\": \"record\",\n                            \"name\": \"ResponseCommonHeader_Type\",\n                            \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                            \"fields\": [\n                                {\n                                    \"name\": \"originatorId\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"requestId\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"subRequestId\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"timestamp\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"flags\",\n                                    \"type\": [\"null\", \"string\"]\n                                }\n                            ]\n                        }\n                  - key:\n                      name: CDSResponseStatusType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: CDSResponseStatusType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                            \"type\": \"record\",\n                            \"name\": \"ResponseStatus_Type\",\n                            \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                            \"fields\": [\n                                {\n                                    \"name\": \"code\",\n                                    \"type\": \"int\"\n                                },\n                                {\n                                    \"name\": \"eventType\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"timestamp\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"message\",\n                                    \"type\": \"string\"\n                                }\n                            ]\n                        }\n                  - key:\n                      name: PMSubscriptionType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: PMSubscriptionType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: \"{\\n\\t\\\"name\\\": \\\"PMSubscription\\\",\\n\\t\\\"type\\\": \\\"record\\\",\\n\\t\\\"namespace\\\": \\\"\\\n                        org.onap.policy.apex.onap.pmcontrol\\\",\\n\\t\\\"fields\\\": [\\n        {\\n            \\\"name\\\": \\\"nfName\\\"\\\n                        ,\\n            \\\"type\\\": \\\"string\\\"\\n        },\\n\\t    {\\n\\t\\t\\t\\\"name\\\": \\\"changeType\\\",\\n\\t\\t\\t\\\"\\\n                        type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"name\\\": \\\"closedLoopControlName\\\",\\n\\t\\t\\t\\\"type\\\": \\\"\\\n                        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                        {\\n\\t\\t    \\\"name\\\": \\\"blueprintName\\\",\\n\\t\\t    \\\"type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t{\\n\\t\\t    \\\"name\\\"\\\n                        : \\\"blueprintVersion\\\",\\n\\t\\t    \\\"type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"name\\\": \\\"subscription\\\"\\\n                        ,\\n\\t\\t\\t\\\"type\\\": {\\n\\t\\t\\t\\t\\\"name\\\": \\\"subscription\\\",\\n\\t\\t\\t\\t\\\"type\\\": \\\"record\\\",\\n\\t\\t\\t\\t\\\n                        \\\"fields\\\": [{\\n\\t\\t\\t\\t\\t\\t\\\"name\\\": \\\"subscriptionName\\\",\\n\\t\\t\\t\\t\\t\\t\\\"type\\\": \\\"string\\\"\\n\\t\\t\\\n                        \\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                        \\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                        \\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                        \\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\\\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                        ,\\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\\\"\\\n                        : \\\"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                        ,\\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\\\n                        \\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\\\n                        \\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\\\"\\\n                        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\\\n                        \\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\\\n                        \\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\\\n                        \\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\\\n                        \\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\\\n                        \\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\\\n                        \\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                        ,\\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\\\n                        \\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\\\n                        \\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\\\n                        \\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\\\n                        \\t}\\n\\t]\\n}\"\n                  - key:\n                      name: SimpleIntType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SimpleIntType\n                        version: 0.0.1\n                      schemaFlavour: Java\n                      schemaDefinition: java.lang.Integer\n                  - key:\n                      name: SimpleStringType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SimpleStringType\n                        version: 0.0.1\n                      schemaFlavour: Java\n                      schemaDefinition: java.lang.String\n                  - key:\n                      name: SubscriptionStatusType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SubscriptionStatusType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: |-\n                        {\n                            \"type\": \"record\",\n                            \"name\": \"ActivateSubscriptionStatus_Type\",\n                            \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n                            \"fields\": [\n                                {\n                                    \"name\": \"subscriptionName\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"nfName\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"changeType\",\n                                    \"type\": \"string\"\n                                },\n                                {\n                                    \"name\": \"message\",\n                                    \"type\": \"string\"\n                                }\n                            ]\n                        }\n                  - key:\n                      name: SubscriptionType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: SubscriptionType\n                        version: 0.0.1\n                      schemaFlavour: Avro\n                      schemaDefinition: \"{\\n\\t\\\"name\\\": \\\"subscription\\\",\\n\\t\\\"type\\\": \\\"record\\\",\\n\\t\\\"fields\\\": [{\\n\\t\\t\\\n                        \\t\\\"name\\\": \\\"subscriptionName\\\",\\n\\t\\t\\t\\\"type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"name\\\": \\\"administrativeState\\\"\\\n                        ,\\n\\t\\t\\t\\\"type\\\": \\\"string\\\"\\n\\t\\t},\\n\\t\\t{\\n\\t\\t\\t\\\"name\\\": \\\"fileBasedGP\\\",\\n\\t\\t\\t\\\"type\\\": \\\"\\\n                        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                        {\\n\\t\\t\\t\\\"name\\\": \\\"measurementGroups\\\",\\n\\t\\t\\t\\\"type\\\": {\\n\\t\\t\\t\\t\\\"type\\\": \\\"array\\\",\\n\\t\\t\\t\\\n                        \\t\\\"items\\\": {\\n\\t\\t\\t\\t\\t\\\"name\\\": \\\"Measurement_Groups_Type\\\",\\n\\t\\t\\t\\t\\t\\\"type\\\": \\\"record\\\",\\n\\\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\\\n                        \\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\\\n                        \\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                        : {\\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\\\n                        \\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\\\n                        \\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\\\n                        \\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                        }\\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\\\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                        : {\\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\\\"\\\n                        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                        ,\\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\\\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\\\n                        \\t\\t}\\n\\t\\t}\\n\\t]\\n}\"\n                  - key:\n                      name: UUIDType\n                      version: 0.0.1\n                    value:\n                      key:\n                        name: UUIDType\n                        version: 0.0.1\n                      schemaFlavour: Java\n                      schemaDefinition: java.util.UUID\n          engineParameters:\n            executorParameters:\n              JAVASCRIPT:\n                parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters\n            contextParameters:\n              parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters\n              schemaParameters:\n                Avro:\n                  parameterClassName: org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters\n                Java:\n                  parameterClassName: org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters\n                  jsonAdapters:\n                    Instant:\n                      adaptedClass: java.time.Instant\n                      adaptorClass: org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter\n        eventInputParameters:\n          DCAEConsumer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTCLIENT\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters\n              parameters:\n                consumerPollTime: '50'\n                url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/sg1\n            eventProtocolParameters:\n              eventProtocol: JSON\n              parameters:\n                nameAlias: policyName\n            eventName: pmsh-operational-policy\n            eventNameFilter: pmsh-operational-policy\n          CDSRequestConsumer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n              parameters:\n                url: http://10.10.10.184:30254/api/v1/execution-service/process\n                httpMethod: POST\n                restRequestTimeout: 2000\n                httpHeaders:\n                - - Authorization\n                  - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventName: CDSCreateResponseEvent\n            eventNameFilter: CDSCreateResponseEvent\n            requestorMode: true\n            requestorPeer: CDSRequestProducer\n            requestorTimeout: 500\n          CDSDeleteRequestConsumer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n              parameters:\n                url: http://10.10.10.184:30254/api/v1/execution-service/process\n                httpMethod: POST\n                restRequestTimeout: 2000\n                httpHeaders:\n                - - Authorization\n                  - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventName: CDSDeleteResponseEvent\n            eventNameFilter: CDSDeleteResponseEvent\n            requestorMode: true\n            requestorPeer: CDSDeleteRequestProducer\n            requestorTimeout: 500\n          CDSReplyConsumer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n              parameters:\n                url: https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT\n                httpMethod: POST\n                restRequestTimeout: 2000\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventName: MRResponseEvent\n            eventNameFilter: MRResponseEvent\n            requestorMode: true\n            requestorPeer: CDSReplyProducer\n            requestorTimeout: 500\n        eventOutputParameters:\n          logOutputter:\n            carrierTechnologyParameters:\n              carrierTechnology: FILE\n              parameters:\n                fileName: /tmp/outputevents.log\n            eventProtocolParameters:\n              eventProtocol: JSON\n          StdOutOutputter:\n            carrierTechnologyParameters:\n              carrierTechnology: FILE\n              parameters:\n                standardIo: true\n            eventProtocolParameters:\n              eventProtocol: JSON\n          CDSRequestProducer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventNameFilter: CDSCreateSubscriptionRequestEvent\n            requestorMode: true\n            requestorPeer: CDSRequestConsumer\n            requestorTimeout: 500\n          CDSDeleteRequestProducer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventNameFilter: CDSDeleteSubscriptionRequestEvent\n            requestorMode: true\n            requestorPeer: CDSDeleteRequestConsumer\n            requestorTimeout: 500\n          CDSReplyProducer:\n            carrierTechnologyParameters:\n              carrierTechnology: RESTREQUESTOR\n              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters\n            eventProtocolParameters:\n              eventProtocol: JSON\n            eventNameFilter: CDSResponseStatusEvent\n            requestorMode: true\n            requestorPeer: CDSReplyConsumer\n            requestorTimeout: 500",
                                        "options": {
                                                "raw": {
                                                        "language": "text"
index 2a5f760..9b0f449 100644 (file)
@@ -42,9 +42,20 @@ node_types:
       provider:
         type: string
         requred: false
-      participant_id:
+      participantType:
         type: onap.datatypes.ToscaConceptIdentifier
         requred: true
+      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
   org.onap.policy.clamp.controlloop.ControlLoop:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
@@ -94,9 +105,10 @@ topology_template:
       description: Control loop element for the K8S microservice for Postgres
       properties:
         provider: ONAP
-        participant_id:
+        participantType:
           name: org.onap.k8s.controlloop.K8SControlLoopParticipant
           version: 2.3.4
+        startPhase: 2
         chart:
           apiVersion: v1
           description: ONAP Postgres Server
@@ -129,9 +141,10 @@ topology_template:
       description: Control loop element for the K8S microservice for Hello World
       properties:
         provider: ONAP
-        participant_id:
+        participantType:
           name: org.onap.k8s.controlloop.K8SControlLoopParticipant
           version: 2.3.4
+        startPhase: 2
         chart:
           apiVersion: v1
           name: helloworld
index 5628b0a..8e8f3cd 100644 (file)
@@ -317,9 +317,20 @@ node_types:
       provider:
         type: string
         required: false
-      participant_id:
+      participantType:
         type: onap.datatypes.ToscaConceptIdentifier
         required: true
+      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
   org.onap.policy.clamp.controlloop.ControlLoop:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
@@ -407,7 +418,7 @@ topology_template:
       description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
           version: 2.3.4
         dcae_blueprint:
@@ -631,7 +642,7 @@ topology_template:
       description: Control loop element for the monitoring policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.3.1
         policy_type_id:
@@ -646,7 +657,7 @@ topology_template:
       description: Control loop element for the operational policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.2.1
         policy_type_id:
@@ -661,7 +672,7 @@ topology_template:
       description: Control loop element for CDS for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
           version: 3.2.1
         cds_blueprint_id:
index bf93c07..336b309 100644 (file)
@@ -40,6 +40,8 @@ public class ParticipantDefinition {
 
     private ToscaConceptIdentifier participantId;
 
+    private ToscaConceptIdentifier participantType;
+
     // List of ControlLoopElementDefinition values for a particular participant
     private List<ControlLoopElementDefinition> controlLoopElementDefinitionList = new ArrayList<>();
 
@@ -50,6 +52,7 @@ public class ParticipantDefinition {
      */
     public ParticipantDefinition(final ParticipantDefinition participantDefinition) {
         this.participantId = participantDefinition.participantId;
+        this.participantType = participantDefinition.participantType;
         this.controlLoopElementDefinitionList = PfUtils.mapList(
             participantDefinition.controlLoopElementDefinitionList, ControlLoopElementDefinition::new);
     }
index 8e36049..cdbfea4 100644 (file)
@@ -42,6 +42,7 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
 public class ControlLoopAck extends ParticipantAckMessage {
 
     private ToscaConceptIdentifier controlLoopId;
+    private Integer startPhase;
 
     // A map with ControlLoopElementID as its key, and a pair of result and message as value per
     // ControlLoopElement.
index e6955b9..e3b7049 100644 (file)
@@ -36,6 +36,7 @@ import org.onap.policy.clamp.controlloop.models.controlloop.concepts.ControlLoop
 public class ControlLoopStateChange extends ParticipantMessage {
     private ControlLoopOrderedState orderedState;
     private ControlLoopState currentState;
+    private Integer startPhase;
 
     /**
      * Constructor for instantiating ControlLoopStateChange class with message name.
index 7c16387..f34777a 100644 (file)
@@ -59,7 +59,8 @@ class ParticipantStatusTest {
         ToscaConceptIdentifier id = new ToscaConceptIdentifier("id", "1.2.3");
         orig.setControlLoopId(id);
         orig.setParticipantId(id);
-        orig.setParticipantType(id);
+        ToscaConceptIdentifier type = new ToscaConceptIdentifier("type", "2.3.4");
+        orig.setParticipantType(type);
         orig.setMessageId(UUID.randomUUID());
         orig.setState(ParticipantState.ACTIVE);
         orig.setHealthStatus(ParticipantHealthStatus.HEALTHY);
@@ -70,6 +71,7 @@ class ParticipantStatusTest {
 
         ParticipantDefinition participantDefinitionUpdate = new ParticipantDefinition();
         participantDefinitionUpdate.setParticipantId(id);
+        participantDefinitionUpdate.setParticipantType(type);
         ControlLoopElementDefinition clDefinition = getClElementDefinition(id);
         participantDefinitionUpdate.setControlLoopElementDefinitionList(List.of(clDefinition));
         orig.setParticipantDefinitionUpdates(List.of(participantDefinitionUpdate));
index 06141de..6fe8604 100644 (file)
@@ -67,7 +67,7 @@ class ParticipantUpdateTest {
         toscaNodeTemplate.setVersion("1.2.3");
 
         ParticipantDefinition participantDefinitionUpdate = new ParticipantDefinition();
-        participantDefinitionUpdate.setParticipantId(id);
+        participantDefinitionUpdate.setParticipantType(id);
         ControlLoopElementDefinition clDefinition = getClElementDefinition(id);
         participantDefinitionUpdate.setControlLoopElementDefinitionList(List.of(clDefinition));
         orig.setParticipantDefinitionUpdates(List.of(participantDefinitionUpdate));
index febdf6b..da65f7e 100644 (file)
@@ -143,17 +143,17 @@ public class TestListenerUtils {
             if (toscaInputEntry.getValue().getType().contains(CONTROL_LOOP_ELEMENT)) {
                 ControlLoopElement clElement = new ControlLoopElement();
                 clElement.setId(UUID.randomUUID());
-                ToscaConceptIdentifier clParticipantId;
+                ToscaConceptIdentifier clParticipantType;
                 try {
-                    clParticipantId = CODER.decode(
-                            toscaInputEntry.getValue().getProperties().get("participant_id").toString(),
+                    clParticipantType = CODER.decode(
+                            toscaInputEntry.getValue().getProperties().get("participantType").toString(),
                             ToscaConceptIdentifier.class);
                 } catch (CoderException e) {
-                    throw new RuntimeException("cannot get ParticipantId from toscaNodeTemplate", e);
+                    throw new RuntimeException("cannot get ParticipantType from toscaNodeTemplate", e);
                 }
 
-                clElement.setParticipantId(clParticipantId);
-                clElement.setParticipantType(clParticipantId);
+                clElement.setParticipantId(clParticipantType);
+                clElement.setParticipantType(clParticipantType);
 
                 clElement.setDefinition(new ToscaConceptIdentifier(toscaInputEntry.getKey(),
                     toscaInputEntry.getValue().getVersion()));
@@ -222,15 +222,15 @@ public class TestListenerUtils {
         for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry :
             toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates().entrySet()) {
             if (toscaInputEntry.getValue().getType().contains(CONTROL_LOOP_ELEMENT)) {
-                ToscaConceptIdentifier clParticipantId;
+                ToscaConceptIdentifier clParticipantType;
                 try {
-                    clParticipantId = CODER.decode(
-                            toscaInputEntry.getValue().getProperties().get("participant_id").toString(),
+                    clParticipantType = CODER.decode(
+                            toscaInputEntry.getValue().getProperties().get("participantType").toString(),
                             ToscaConceptIdentifier.class);
                 } catch (CoderException e) {
-                    throw new RuntimeException("cannot get ParticipantId from toscaNodeTemplate", e);
+                    throw new RuntimeException("cannot get ParticipantType from toscaNodeTemplate", e);
                 }
-                prepareParticipantDefinitionUpdate(clParticipantId, toscaInputEntry.getKey(),
+                prepareParticipantDefinitionUpdate(clParticipantType, toscaInputEntry.getKey(),
                     toscaInputEntry.getValue(), participantDefinitionUpdates);
             }
         }
@@ -240,7 +240,7 @@ public class TestListenerUtils {
         return participantUpdateMsg;
     }
 
-    private static void prepareParticipantDefinitionUpdate(ToscaConceptIdentifier clParticipantId, String entryKey,
+    private static void prepareParticipantDefinitionUpdate(ToscaConceptIdentifier clParticipantType, String entryKey,
         ToscaNodeTemplate entryValue, List<ParticipantDefinition> participantDefinitionUpdates) {
 
         var clDefinition = new ControlLoopElementDefinition();
@@ -250,28 +250,28 @@ public class TestListenerUtils {
         List<ControlLoopElementDefinition> controlLoopElementDefinitionList = new ArrayList<>();
 
         if (participantDefinitionUpdates.isEmpty()) {
-            participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantId,
+            participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantType,
                 controlLoopElementDefinitionList));
         } else {
             boolean participantExists = false;
             for (ParticipantDefinition participantDefinitionUpdate : participantDefinitionUpdates) {
-                if (participantDefinitionUpdate.getParticipantId().equals(clParticipantId)) {
+                if (participantDefinitionUpdate.getParticipantType().equals(clParticipantType)) {
                     participantDefinitionUpdate.getControlLoopElementDefinitionList().add(clDefinition);
                     participantExists = true;
                 }
             }
             if (!participantExists) {
-                participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantId,
+                participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantType,
                     controlLoopElementDefinitionList));
             }
         }
     }
 
     private static ParticipantDefinition getParticipantDefinition(ControlLoopElementDefinition clDefinition,
-        ToscaConceptIdentifier clParticipantId,
+        ToscaConceptIdentifier clParticipantType,
         List<ControlLoopElementDefinition> controlLoopElementDefinitionList) {
         ParticipantDefinition participantDefinition = new ParticipantDefinition();
-        participantDefinition.setParticipantId(clParticipantId);
+        participantDefinition.setParticipantType(clParticipantType);
         controlLoopElementDefinitionList.add(clDefinition);
         participantDefinition.setControlLoopElementDefinitionList(controlLoopElementDefinitionList);
         return participantDefinition;
diff --git a/participant/participant-impl/participant-impl-dcae/src/test/resources/parameters/TestCLParams.json b/participant/participant-impl/participant-impl-dcae/src/test/resources/parameters/TestCLParams.json
deleted file mode 100644 (file)
index 5785360..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_3
-data_types:
-  onap.datatypes.ToscaConceptIdentifier:
-    derived_from: tosca.datatypes.Root
-    properties:
-      name:
-        type: string
-        required: true
-      version:
-        type: string
-        required: true
-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
-        requred: false
-      participant_id:
-        type: onap.datatypes.ToscaConceptIdentifier
-        requred: true
-  org.onap.policy.clamp.controlloop.ControlLoop:
-    version: 1.0.1
-    derived_from: tosca.nodetypes.Root
-    properties:
-      provider:
-        type: string
-        requred: false
-      elements:
-        type: list
-        required: true
-        entry_schema:
-          type: onap.datatypes.ToscaConceptIdentifier
-  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: true
-  org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement:
-    version: 1.0.1
-    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
-    properties:
-      policy_type_id:
-        type: onap.datatypes.ToscaConceptIdentifier
-        requred: true
-  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:
-  node_templates:
-    org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant:
-      version: 2.3.4
-      type: org.onap.policy.clamp.controlloop.Participant
-      type_version: 1.0.1
-      description: Participant for DCAE microservices
-      properties:
-        provider: ONAP
-    org.onap.policy.controlloop.MonitoringPolicyControlLoopParticipant:
-      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.policy.controlloop.OperationalPolicyControlLoopParticipant:
-      version: 3.2.1
-      type: org.onap.policy.clamp.controlloop.Participant
-      type_version: 1.0.1
-      description: Participant for DCAE microservices
-      properties:
-        provider: ONAP
-    org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant:
-      version: 2.2.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_DCAEMicroservice:
-      version: 1.2.3
-      type: org.onap.policy.clamp.controlloop.DCAEMicroserviceControlLoopElement
-      type_version: 1.0.0
-      description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
-      properties:
-        provider: Ericsson
-        participant_id:
-          name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
-          version: 2.3.4
-        dcae_blueprint_id:
-          name: org.onap.dcae.blueprints.PMSHBlueprint
-          version: 1.0.0
-    org.onap.domain.pmsh.PMSH_MonitoringPolicyControlLoopElement:
-      version: 1.2.3
-      type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
-      type_version: 1.0.0
-      description: Control loop element for the monitoring policy for Performance Management Subscription Handling
-      properties:
-        provider: Ericsson
-        participant_id:
-          name: org.onap.policy.controlloop.MonitoringPolicyControlLoopParticipant
-          version: 2.3.1
-        policy_type_id:
-          name: onap.policies.monitoring.pm-subscription-handler
-          version: 1.0.0
-    org.onap.domain.pmsh.PMSH_OperationalPolicyControlLoopElement:
-      version: 1.2.3
-      type: org.onap.policy.clamp.controlloop.PolicyTypeControlLoopElement
-      type_version: 1.0.0
-      description: Control loop element for the operational policy for Performance Management Subscription Handling
-      properties:
-        provider: Ericsson
-        participant_id:
-          name: org.onap.policy.controlloop.OperationalPolicyControlLoopParticipant
-          version: 2.2.1
-        policy_type_id:
-          name: onap.policies.operational.pm-subscription-handler
-          version: 1.0.0
-    org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement:
-      version: 1.2.3
-      type: org.onap.policy.clamp.controlloop.ControlLoopElement
-      type_version: 1.0.0
-      description: Control loop element for CDS for Performance Management Subscription Handling
-      properties:
-        provider: Ericsson
-        participant_id:
-          name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
-          version: 3.2.1
-        cds_blueprint_id:
-          name: org.onap.ccsdk.cds.PMSHCdsBlueprint
-          version: 1.0.0
-    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
-        - name: org.onap.domain.pmsh.PMSH_CDS_ControlLoopElement
-          version: 1.2.3
index 8615bdb..33b42b7 100644 (file)
@@ -24,9 +24,20 @@ node_types:
       provider:
         type: string
         requred: false
-      participant_id:
+      participantType:
         type: onap.datatypes.ToscaConceptIdentifier
         requred: true
+      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
   org.onap.policy.clamp.controlloop.ControlLoop:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
@@ -90,7 +101,7 @@ topology_template:
       description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
           version: 2.3.4
         dcae_blueprint_id:
@@ -103,7 +114,7 @@ topology_template:
       description: Control loop element for the monitoring policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.3.1
         policy_type_id:
@@ -116,7 +127,7 @@ topology_template:
       description: Control loop element for the operational policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.3.1
         policy_type_id:
@@ -129,7 +140,7 @@ topology_template:
       description: Control loop element for CDS for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
           version: 3.2.1
         cds_blueprint_id:
index 43d0c26..f221bcb 100644 (file)
@@ -88,9 +88,20 @@ node_types:
       provider:
         type: string
         requred: false
-      participant_id:
+      participantType:
         type: onap.datatypes.ToscaConceptIdentifier
         requred: true
+      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
   org.onap.policy.clamp.controlloop.ControlLoop:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
@@ -142,9 +153,10 @@ topology_template:
       description: Control loop element for the http requests of PMSH microservice
       properties:
         provider: ONAP
-        participant_id:
+        participantType:
           name: org.onap.controlloop.HttpControlLoopParticipant
           version: 2.3.4
+        startPhase: 1
         uninitializedToPassiveTimeout: 180
         baseUrl: https://httpbin.org
         httpHeaders:
index 69886cd..7d59401 100644 (file)
@@ -41,9 +41,20 @@ node_types:
       provider:
         type: string
         requred: false
-      participant_id:
+      participantType:
         type: onap.datatypes.ToscaConceptIdentifier
         requred: true
+      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
   org.onap.policy.clamp.controlloop.ControlLoop:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
@@ -94,9 +105,10 @@ topology_template:
       description: Control loop element for the K8S microservice for Hello World
       properties:
         provider: ONAP
-        participant_id:
+        participantType:
           name: org.onap.k8s.controlloop.K8SControlLoopParticipant
           version: 2.3.4
+        startPhase: 2
         uninitializedToPassiveTimeout: 180
         podStatusCheckInterval: 30
         chart:
@@ -115,9 +127,10 @@ topology_template:
       description: Control loop element for the K8S microservice for PMSH
       properties:
         provider: ONAP
-        participant_id:
+        participantType:
           name: org.onap.k8s.controlloop.K8SControlLoopParticipant
           version: 2.3.4
+        startPhase: 2
         uninitializedToPassiveTimeout: 180
         podStatusCheckInterval: 30
         chart:
@@ -137,9 +150,10 @@ topology_template:
       description: Control loop element for the K8S microservice for local chart
       properties:
         provider: ONAP
-        participant_id:
+        participantType:
           name: org.onap.k8s.controlloop.K8SControlLoopParticipant
           version: 2.3.4
+        startPhase: 2
         uninitializedToPassiveTimeout: 180
         podStatusCheckInterval: 30
         chart:
index 4c87e08..f8b8e2c 100644 (file)
@@ -153,17 +153,17 @@ public class TestListenerUtils {
             if (toscaInputEntry.getValue().getType().contains(CONTROL_LOOP_ELEMENT)) {
                 ControlLoopElement clElement = new ControlLoopElement();
                 clElement.setId(UUID.randomUUID());
-                ToscaConceptIdentifier clParticipantId;
+                ToscaConceptIdentifier clParticipantType;
                 try {
-                    clParticipantId = CODER.decode(
-                            toscaInputEntry.getValue().getProperties().get("participant_id").toString(),
+                    clParticipantType = CODER.decode(
+                            toscaInputEntry.getValue().getProperties().get("participantType").toString(),
                             ToscaConceptIdentifier.class);
                 } catch (CoderException e) {
-                    throw new RuntimeException("cannot get ParticipantId from toscaNodeTemplate", e);
+                    throw new RuntimeException("cannot get ParticipantType from toscaNodeTemplate", e);
                 }
 
-                clElement.setParticipantId(clParticipantId);
-                clElement.setParticipantType(clParticipantId);
+                clElement.setParticipantId(clParticipantType);
+                clElement.setParticipantType(clParticipantType);
 
                 clElement.setDefinition(new ToscaConceptIdentifier(toscaInputEntry.getKey(),
                     toscaInputEntry.getValue().getVersion()));
@@ -234,15 +234,15 @@ public class TestListenerUtils {
         for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry :
             toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates().entrySet()) {
             if (toscaInputEntry.getValue().getType().contains(CONTROL_LOOP_ELEMENT)) {
-                ToscaConceptIdentifier clParticipantId;
+                ToscaConceptIdentifier clParticipantType;
                 try {
-                    clParticipantId = CODER.decode(
-                            toscaInputEntry.getValue().getProperties().get("participant_id").toString(),
+                    clParticipantType = CODER.decode(
+                            toscaInputEntry.getValue().getProperties().get("participantType").toString(),
                             ToscaConceptIdentifier.class);
                 } catch (CoderException e) {
-                    throw new RuntimeException("cannot get ParticipantId from toscaNodeTemplate", e);
+                    throw new RuntimeException("cannot get ParticipantType from toscaNodeTemplate", e);
                 }
-                prepareParticipantDefinitionUpdate(clParticipantId, toscaInputEntry.getKey(),
+                prepareParticipantDefinitionUpdate(clParticipantType, toscaInputEntry.getKey(),
                     toscaInputEntry.getValue(), participantDefinitionUpdates);
             }
         }
@@ -252,7 +252,7 @@ public class TestListenerUtils {
         return participantUpdateMsg;
     }
 
-    private static void prepareParticipantDefinitionUpdate(ToscaConceptIdentifier clParticipantId, String entryKey,
+    private static void prepareParticipantDefinitionUpdate(ToscaConceptIdentifier clParticipantType, String entryKey,
         ToscaNodeTemplate entryValue, List<ParticipantDefinition> participantDefinitionUpdates) {
 
         var clDefinition = new ControlLoopElementDefinition();
@@ -262,28 +262,28 @@ public class TestListenerUtils {
         List<ControlLoopElementDefinition> controlLoopElementDefinitionList = new ArrayList<>();
 
         if (participantDefinitionUpdates.isEmpty()) {
-            participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantId,
+            participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantType,
                 controlLoopElementDefinitionList));
         } else {
             boolean participantExists = false;
             for (ParticipantDefinition participantDefinitionUpdate : participantDefinitionUpdates) {
-                if (participantDefinitionUpdate.getParticipantId().equals(clParticipantId)) {
+                if (participantDefinitionUpdate.getParticipantType().equals(clParticipantType)) {
                     participantDefinitionUpdate.getControlLoopElementDefinitionList().add(clDefinition);
                     participantExists = true;
                 }
             }
             if (!participantExists) {
-                participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantId,
+                participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantType,
                     controlLoopElementDefinitionList));
             }
         }
     }
 
     private static ParticipantDefinition getParticipantDefinition(ControlLoopElementDefinition clDefinition,
-        ToscaConceptIdentifier clParticipantId,
+        ToscaConceptIdentifier clParticipantType,
         List<ControlLoopElementDefinition> controlLoopElementDefinitionList) {
         ParticipantDefinition participantDefinition = new ParticipantDefinition();
-        participantDefinition.setParticipantId(clParticipantId);
+        participantDefinition.setParticipantType(clParticipantType);
         controlLoopElementDefinitionList.add(clDefinition);
         participantDefinition.setControlLoopElementDefinitionList(controlLoopElementDefinitionList);
         return participantDefinition;
index 4b8e359..2ef3c6d 100644 (file)
@@ -24,9 +24,20 @@ node_types:
       provider:
         type: string
         requred: false
-      participant_id:
+      participantType:
         type: onap.datatypes.ToscaConceptIdentifier
         requred: true
+      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
   org.onap.policy.clamp.controlloop.ControlLoop:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
@@ -97,7 +108,7 @@ topology_template:
       description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
           version: 2.3.4
         dcae_blueprint_id:
@@ -110,7 +121,7 @@ topology_template:
       description: Control loop element for the monitoring policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.MonitoringPolicyControlLoopParticipant
           version: 2.3.1
         policy_type_id:
@@ -123,7 +134,7 @@ topology_template:
       description: Control loop element for the operational policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.OperationalPolicyControlLoopParticipant
           version: 2.2.1
         policy_type_id:
@@ -136,7 +147,7 @@ topology_template:
       description: Control loop element for CDS for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
           version: 3.2.1
         cds_blueprint_id:
index 8615bdb..33b42b7 100644 (file)
@@ -24,9 +24,20 @@ node_types:
       provider:
         type: string
         requred: false
-      participant_id:
+      participantType:
         type: onap.datatypes.ToscaConceptIdentifier
         requred: true
+      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
   org.onap.policy.clamp.controlloop.ControlLoop:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
@@ -90,7 +101,7 @@ topology_template:
       description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
           version: 2.3.4
         dcae_blueprint_id:
@@ -103,7 +114,7 @@ topology_template:
       description: Control loop element for the monitoring policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.3.1
         policy_type_id:
@@ -116,7 +127,7 @@ topology_template:
       description: Control loop element for the operational policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.3.1
         policy_type_id:
@@ -129,7 +140,7 @@ topology_template:
       description: Control loop element for CDS for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
           version: 3.2.1
         cds_blueprint_id:
index 83ef68e..2759a93 100644 (file)
@@ -149,17 +149,17 @@ public class TestListenerUtils {
             if (toscaInputEntry.getValue().getType().contains(CONTROL_LOOP_ELEMENT)) {
                 ControlLoopElement clElement = new ControlLoopElement();
                 clElement.setId(UUID.randomUUID());
-                ToscaConceptIdentifier clParticipantId;
+                ToscaConceptIdentifier clParticipantType;
                 try {
-                    clParticipantId = CODER.decode(
-                            toscaInputEntry.getValue().getProperties().get("participant_id").toString(),
+                    clParticipantType = CODER.decode(
+                            toscaInputEntry.getValue().getProperties().get("participantType").toString(),
                             ToscaConceptIdentifier.class);
                 } catch (CoderException e) {
-                    throw new RuntimeException("cannot get ParticipantId from toscaNodeTemplate", e);
+                    throw new RuntimeException("cannot get ParticipantType from toscaNodeTemplate", e);
                 }
 
-                clElement.setParticipantId(clParticipantId);
-                clElement.setParticipantType(clParticipantId);
+                clElement.setParticipantId(clParticipantType);
+                clElement.setParticipantType(clParticipantType);
 
                 clElement.setDefinition(new ToscaConceptIdentifier(toscaInputEntry.getKey(),
                     toscaInputEntry.getValue().getVersion()));
@@ -229,15 +229,15 @@ public class TestListenerUtils {
         for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry :
             toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates().entrySet()) {
             if (toscaInputEntry.getValue().getType().contains(CONTROL_LOOP_ELEMENT)) {
-                ToscaConceptIdentifier clParticipantId;
+                ToscaConceptIdentifier clParticipantType;
                 try {
-                    clParticipantId = CODER.decode(
-                            toscaInputEntry.getValue().getProperties().get("participant_id").toString(),
+                    clParticipantType = CODER.decode(
+                            toscaInputEntry.getValue().getProperties().get("participantType").toString(),
                             ToscaConceptIdentifier.class);
                 } catch (CoderException e) {
-                    throw new RuntimeException("cannot get ParticipantId from toscaNodeTemplate", e);
+                    throw new RuntimeException("cannot get ParticipantType from toscaNodeTemplate", e);
                 }
-                prepareParticipantDefinitionUpdate(clParticipantId, toscaInputEntry.getKey(),
+                prepareParticipantDefinitionUpdate(clParticipantType, toscaInputEntry.getKey(),
                     toscaInputEntry.getValue(), participantDefinitionUpdates);
             }
         }
@@ -247,7 +247,7 @@ public class TestListenerUtils {
         return participantUpdateMsg;
     }
 
-    private static void prepareParticipantDefinitionUpdate(ToscaConceptIdentifier clParticipantId, String entryKey,
+    private static void prepareParticipantDefinitionUpdate(ToscaConceptIdentifier clParticipantType, String entryKey,
         ToscaNodeTemplate entryValue, List<ParticipantDefinition> participantDefinitionUpdates) {
 
         var clDefinition = new ControlLoopElementDefinition();
@@ -257,28 +257,28 @@ public class TestListenerUtils {
         List<ControlLoopElementDefinition> controlLoopElementDefinitionList = new ArrayList<>();
 
         if (participantDefinitionUpdates.isEmpty()) {
-            participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantId,
+            participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantType,
                 controlLoopElementDefinitionList));
         } else {
             boolean participantExists = false;
             for (ParticipantDefinition participantDefinitionUpdate : participantDefinitionUpdates) {
-                if (participantDefinitionUpdate.getParticipantId().equals(clParticipantId)) {
+                if (participantDefinitionUpdate.getParticipantType().equals(clParticipantType)) {
                     participantDefinitionUpdate.getControlLoopElementDefinitionList().add(clDefinition);
                     participantExists = true;
                 }
             }
             if (!participantExists) {
-                participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantId,
+                participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantType,
                     controlLoopElementDefinitionList));
             }
         }
     }
 
     private static ParticipantDefinition getParticipantDefinition(ControlLoopElementDefinition clDefinition,
-        ToscaConceptIdentifier clParticipantId,
+        ToscaConceptIdentifier clParticipantType,
         List<ControlLoopElementDefinition> controlLoopElementDefinitionList) {
         ParticipantDefinition participantDefinition = new ParticipantDefinition();
-        participantDefinition.setParticipantId(clParticipantId);
+        participantDefinition.setParticipantType(clParticipantType);
         controlLoopElementDefinitionList.add(clDefinition);
         participantDefinition.setControlLoopElementDefinitionList(controlLoopElementDefinitionList);
         return participantDefinition;
index c2a68d7..21d20a8 100644 (file)
@@ -24,9 +24,20 @@ node_types:
       provider:
         type: string
         requred: false
-      participant_id:
+      participantType:
         type: onap.datatypes.ToscaConceptIdentifier
         requred: true
+      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
   org.onap.policy.clamp.controlloop.ControlLoop:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
@@ -90,7 +101,7 @@ topology_template:
       description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
           version: 2.3.4
         dcae_blueprint_id:
@@ -103,7 +114,7 @@ topology_template:
       description: Control loop element for the monitoring policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.3.1
         policy_type_id:
@@ -116,7 +127,7 @@ topology_template:
       description: Control loop element for the operational policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.3.1
         policy_type_id:
@@ -129,7 +140,7 @@ topology_template:
       description: Control loop element for CDS for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.PM_CDS_Blueprint
           version: 1.0.0
         cds_blueprint_id:
index 49ad6da..134bda6 100644 (file)
@@ -296,7 +296,7 @@ public class ParticipantHandler {
         if (toscaServiceTemplate != null) {
             // This message is to commission the controlloop
             for (ParticipantDefinition participantDefinition : participantUpdateMsg.getParticipantDefinitionUpdates()) {
-                if (participantDefinition.getParticipantId().equals(participantType)) {
+                if (participantDefinition.getParticipantType().equals(participantType)) {
                     clElementDefsOnThisParticipant.clear();
                     clElementDefsOnThisParticipant.addAll(participantDefinition.getControlLoopElementDefinitionList());
                     break;
@@ -347,12 +347,11 @@ public class ParticipantHandler {
         heartbeat.setControlLoopInfoList(getControlLoopInfoList());
 
         if (responseToParticipantStatusReq) {
-            List<ParticipantDefinition> participantDefinitionUpdates = new ArrayList<>();
             ParticipantDefinition participantDefinition = new ParticipantDefinition();
             participantDefinition.setParticipantId(participantId);
+            participantDefinition.setParticipantType(participantType);
             participantDefinition.setControlLoopElementDefinitionList(clElementDefsOnThisParticipant);
-            participantDefinitionUpdates.add(participantDefinition);
-            heartbeat.setParticipantDefinitionUpdates(participantDefinitionUpdates);
+            heartbeat.setParticipantDefinitionUpdates(List.of(participantDefinition));
         }
 
         return heartbeat;
index efd2625..41ed4e2 100644 (file)
@@ -76,19 +76,19 @@ public class ParticipantUpdatePublisher extends AbstractParticipantPublisher<Par
         }
 
         List<ParticipantDefinition> participantDefinitionUpdates = new ArrayList<>();
-        for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry :
-            toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates().entrySet()) {
+        for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry : toscaServiceTemplate.getToscaTopologyTemplate()
+                .getNodeTemplates().entrySet()) {
             if (toscaInputEntry.getValue().getType().contains(CONTROL_LOOP_ELEMENT)) {
-                ToscaConceptIdentifier clParticipantId;
+                ToscaConceptIdentifier clParticipantType;
                 try {
-                    clParticipantId = CODER.decode(
-                            toscaInputEntry.getValue().getProperties().get("participant_id").toString(),
-                            ToscaConceptIdentifier.class);
+                    clParticipantType =
+                            CODER.decode(toscaInputEntry.getValue().getProperties().get("participantType").toString(),
+                                    ToscaConceptIdentifier.class);
                 } catch (CoderException e) {
-                    throw new RuntimeException("cannot get ParticipantId from toscaNodeTemplate", e);
+                    throw new RuntimeException("cannot get ParticipantType from toscaNodeTemplate", e);
                 }
-                prepareParticipantDefinitionUpdate(clParticipantId, toscaInputEntry.getKey(),
-                    toscaInputEntry.getValue(), participantDefinitionUpdates);
+                prepareParticipantDefinitionUpdate(clParticipantType, toscaInputEntry.getKey(),
+                        toscaInputEntry.getValue(), participantDefinitionUpdates);
             }
         }
 
@@ -105,38 +105,37 @@ public class ParticipantUpdatePublisher extends AbstractParticipantPublisher<Par
         super.send(message);
     }
 
-    private void prepareParticipantDefinitionUpdate(ToscaConceptIdentifier clParticipantId, String entryKey,
-        ToscaNodeTemplate entryValue, List<ParticipantDefinition> participantDefinitionUpdates) {
+    private void prepareParticipantDefinitionUpdate(ToscaConceptIdentifier clParticipantType, String entryKey,
+            ToscaNodeTemplate entryValue, List<ParticipantDefinition> participantDefinitionUpdates) {
 
         var clDefinition = new ControlLoopElementDefinition();
-        clDefinition.setClElementDefinitionId(new ToscaConceptIdentifier(
-            entryKey, entryValue.getVersion()));
+        clDefinition.setClElementDefinitionId(new ToscaConceptIdentifier(entryKey, entryValue.getVersion()));
         clDefinition.setControlLoopElementToscaNodeTemplate(entryValue);
         List<ControlLoopElementDefinition> controlLoopElementDefinitionList = new ArrayList<>();
 
         if (participantDefinitionUpdates.isEmpty()) {
-            participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantId,
-                controlLoopElementDefinitionList));
+            participantDefinitionUpdates
+                    .add(getParticipantDefinition(clDefinition, clParticipantType, controlLoopElementDefinitionList));
         } else {
             var participantExists = false;
             for (ParticipantDefinition participantDefinitionUpdate : participantDefinitionUpdates) {
-                if (participantDefinitionUpdate.getParticipantId().equals(clParticipantId)) {
+                if (participantDefinitionUpdate.getParticipantType().equals(clParticipantType)) {
                     participantDefinitionUpdate.getControlLoopElementDefinitionList().add(clDefinition);
                     participantExists = true;
                 }
             }
             if (!participantExists) {
-                participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantId,
-                    controlLoopElementDefinitionList));
+                participantDefinitionUpdates.add(
+                        getParticipantDefinition(clDefinition, clParticipantType, controlLoopElementDefinitionList));
             }
         }
     }
 
     private ParticipantDefinition getParticipantDefinition(ControlLoopElementDefinition clDefinition,
-        ToscaConceptIdentifier clParticipantId,
-        List<ControlLoopElementDefinition> controlLoopElementDefinitionList) {
+            ToscaConceptIdentifier clParticipantType,
+            List<ControlLoopElementDefinition> controlLoopElementDefinitionList) {
         var participantDefinition = new ParticipantDefinition();
-        participantDefinition.setParticipantId(clParticipantId);
+        participantDefinition.setParticipantType(clParticipantType);
         controlLoopElementDefinitionList.add(clDefinition);
         participantDefinition.setControlLoopElementDefinitionList(controlLoopElementDefinitionList);
         return participantDefinition;
index f1a2728..4cfcf15 100644 (file)
@@ -192,15 +192,15 @@ class SupervisionMessagesTest extends CommonRestController {
         for (Map.Entry<String, ToscaNodeTemplate> toscaInputEntry :
             toscaServiceTemplate.getToscaTopologyTemplate().getNodeTemplates().entrySet()) {
             if (toscaInputEntry.getValue().getType().contains(CONTROL_LOOP_ELEMENT)) {
-                ToscaConceptIdentifier clParticipantId;
+                ToscaConceptIdentifier clParticipantType;
                 try {
-                    clParticipantId = CODER.decode(
-                            toscaInputEntry.getValue().getProperties().get("participant_id").toString(),
+                    clParticipantType = CODER.decode(
+                            toscaInputEntry.getValue().getProperties().get("participantType").toString(),
                             ToscaConceptIdentifier.class);
                 } catch (CoderException e) {
-                    throw new RuntimeException("cannot get ParticipantId from toscaNodeTemplate", e);
+                    throw new RuntimeException("cannot get ParticipantType from toscaNodeTemplate", e);
                 }
-                prepareParticipantDefinitionUpdate(clParticipantId, toscaInputEntry.getKey(),
+                prepareParticipantDefinitionUpdate(clParticipantType, toscaInputEntry.getKey(),
                     toscaInputEntry.getValue(), participantDefinitionUpdates);
             }
         }
@@ -215,7 +215,7 @@ class SupervisionMessagesTest extends CommonRestController {
         }
     }
 
-    private void prepareParticipantDefinitionUpdate(ToscaConceptIdentifier clParticipantId, String entryKey,
+    private void prepareParticipantDefinitionUpdate(ToscaConceptIdentifier clParticipantType, String entryKey,
         ToscaNodeTemplate entryValue, List<ParticipantDefinition> participantDefinitionUpdates) {
 
         var clDefinition = new ControlLoopElementDefinition();
@@ -225,28 +225,28 @@ class SupervisionMessagesTest extends CommonRestController {
         List<ControlLoopElementDefinition> controlLoopElementDefinitionList = new ArrayList<>();
 
         if (participantDefinitionUpdates.isEmpty()) {
-            participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantId,
+            participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantType,
                 controlLoopElementDefinitionList));
         } else {
             boolean participantExists = false;
             for (ParticipantDefinition participantDefinitionUpdate : participantDefinitionUpdates) {
-                if (participantDefinitionUpdate.getParticipantId().equals(clParticipantId)) {
+                if (participantDefinitionUpdate.getParticipantType().equals(clParticipantType)) {
                     participantDefinitionUpdate.getControlLoopElementDefinitionList().add(clDefinition);
                     participantExists = true;
                 }
             }
             if (!participantExists) {
-                participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantId,
+                participantDefinitionUpdates.add(getParticipantDefinition(clDefinition, clParticipantType,
                     controlLoopElementDefinitionList));
             }
         }
     }
 
     private ParticipantDefinition getParticipantDefinition(ControlLoopElementDefinition clDefinition,
-        ToscaConceptIdentifier clParticipantId,
+        ToscaConceptIdentifier clParticipantType,
         List<ControlLoopElementDefinition> controlLoopElementDefinitionList) {
         ParticipantDefinition participantDefinition = new ParticipantDefinition();
-        participantDefinition.setParticipantId(clParticipantId);
+        participantDefinition.setParticipantType(clParticipantType);
         controlLoopElementDefinitionList.add(clDefinition);
         participantDefinition.setControlLoopElementDefinitionList(controlLoopElementDefinitionList);
         return participantDefinition;
index dc09b46..9acff13 100644 (file)
@@ -24,9 +24,20 @@ node_types:
       provider:
         type: string
         requred: false
-      participant_id:
+      participantType:
         type: onap.datatypes.ToscaConceptIdentifier
         requred: true
+      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
   org.onap.policy.clamp.controlloop.ControlLoop:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
@@ -90,7 +101,7 @@ topology_template:
       description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
           version: 2.3.4
         dcae_blueprint_id:
@@ -103,7 +114,7 @@ topology_template:
       description: Control loop element for the monitoring policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.2.1
         policy_type_id:
@@ -116,7 +127,7 @@ topology_template:
       description: Control loop element for the operational policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.2.1
         policy_type_id:
@@ -129,7 +140,7 @@ topology_template:
       description: Control loop element for CDS for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
           version: 3.2.1
         cds_blueprint_id:
@@ -158,7 +169,7 @@ topology_template:
       description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
           version: 2.3.4
         dcae_blueprint_id:
@@ -171,7 +182,7 @@ topology_template:
       description: Control loop element for the monitoring policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.2.1
         policy_type_id:
@@ -184,7 +195,7 @@ topology_template:
       description: Control loop element for the operational policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.2.1
         policy_type_id:
@@ -197,7 +208,7 @@ topology_template:
       description: Control loop element for CDS for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
           version: 3.2.1
         cds_blueprint_id:
index c98ca42..4dd4f95 100644 (file)
@@ -630,7 +630,7 @@ topology_template:
       description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
           version: 2.3.4
         dcae_blueprint:
@@ -854,7 +854,7 @@ topology_template:
       description: Control loop element for the monitoring policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.3.1
         policy_type_id:
@@ -869,7 +869,7 @@ topology_template:
       description: Control loop element for the operational policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.3.1
         policy_type_id:
index dc09b46..9acff13 100644 (file)
@@ -24,9 +24,20 @@ node_types:
       provider:
         type: string
         requred: false
-      participant_id:
+      participantType:
         type: onap.datatypes.ToscaConceptIdentifier
         requred: true
+      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
   org.onap.policy.clamp.controlloop.ControlLoop:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
@@ -90,7 +101,7 @@ topology_template:
       description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
           version: 2.3.4
         dcae_blueprint_id:
@@ -103,7 +114,7 @@ topology_template:
       description: Control loop element for the monitoring policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.2.1
         policy_type_id:
@@ -116,7 +127,7 @@ topology_template:
       description: Control loop element for the operational policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.2.1
         policy_type_id:
@@ -129,7 +140,7 @@ topology_template:
       description: Control loop element for CDS for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
           version: 3.2.1
         cds_blueprint_id:
@@ -158,7 +169,7 @@ topology_template:
       description: Control loop element for the DCAE microservice for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.dcae.controlloop.DCAEMicroserviceControlLoopParticipant
           version: 2.3.4
         dcae_blueprint_id:
@@ -171,7 +182,7 @@ topology_template:
       description: Control loop element for the monitoring policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.2.1
         policy_type_id:
@@ -184,7 +195,7 @@ topology_template:
       description: Control loop element for the operational policy for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.policy.controlloop.PolicyControlLoopParticipant
           version: 2.2.1
         policy_type_id:
@@ -197,7 +208,7 @@ topology_template:
       description: Control loop element for CDS for Performance Management Subscription Handling
       properties:
         provider: Ericsson
-        participant_id:
+        participantType:
           name: org.onap.ccsdk.cds.controlloop.CdsControlLoopParticipant
           version: 3.2.1
         cds_blueprint_id: