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
  onap.datatype.controlloop.Target:
    derived_from: tosca.datatypes.Root
    description: Definition for a entity in A&AI to perform a control loop operation
      on
    properties:
      targetType:
        type: string
        description: Category for the target type
        required: true
        constraints:
          - valid_values:
              - VNF
              - VM
              - VFMODULE
              - PNF
      entityIds:
        type: map
        description: |
          Map of values that identify the resource. If none are provided, it is assumed that the
          entity that generated the ONSET event will be the target.
        required: false
        metadata:
          clamp_possible_values: ClampExecution:CSAR_RESOURCES
        entry_schema:
          type: string
  onap.datatype.controlloop.Actor:
    derived_from: tosca.datatypes.Root
    description: An actor/operation/target definition
    properties:
      actor:
        type: string
        description: The actor performing the operation.
        required: true
        metadata:
          clamp_possible_values: Dictionary:DefaultActors,ClampExecution:CDS/actor
      operation:
        type: string
        description: The operation the actor is performing.
        metadata:
          clamp_possible_values: Dictionary:DefaultOperations,ClampExecution:CDS/operation
        required: true
      target:
        type: onap.datatype.controlloop.Target
        description: The resource the operation should be performed on.
        required: true
      payload:
        type: map
        description: Name/value pairs of payload information passed by Policy to the
          actor
        required: false
        metadata:
          clamp_possible_values: ClampExecution:CDS/payload
        entry_schema:
          type: string
  onap.datatype.controlloop.Operation:
    derived_from: tosca.datatypes.Root
    description: An operation supported by an actor
    properties:
      id:
        type: string
        description: Unique identifier for the operation
        required: true
      description:
        type: string
        description: A user-friendly description of the intent for the operation
        required: false
      operation:
        type: onap.datatype.controlloop.Actor
        description: The definition of the operation to be performed.
        required: true
      timeout:
        type: integer
        description: The amount of time for the actor to perform the operation.
        required: true
      retries:
        type: integer
        description: The number of retries the actor should attempt to perform the
          operation.
        required: true
        default: 0
      success:
        type: string
        description: Points to the operation to invoke on success. A value of "final_success"
          indicates and end to the operation.
        required: false
        default: final_success
      failure:
        type: string
        description: Points to the operation to invoke on Actor operation failure.
        required: false
        default: final_failure
      failure_timeout:
        type: string
        description: Points to the operation to invoke when the time out for the operation
          occurs.
        required: false
        default: final_failure_timeout
      failure_retries:
        type: string
        description: Points to the operation to invoke when the current operation
          has exceeded its max retries.
        required: false
        default: final_failure_retries
      failure_exception:
        type: string
        description: Points to the operation to invoke when the current operation
          causes an exception.
        required: false
        default: final_failure_exception
      failure_guard:
        type: string
        description: Points to the operation to invoke when the current operation
          is blocked due to guard policy enforcement.
        required: false
        default: final_failure_guard
  org.onap.datatypes.policy.clamp.acm.httpControlLoopElement.RestRequest:
    version: 1.0.0
    derived_from: tosca.datatypes.Root
    properties:
      restRequestId:
        type: onap.datatypes.ToscaConceptIdentifier
        type_version: 0.0.0
        required: true
        description: The name and version of a REST request to be sent to a REST endpoint
      httpMethod:
        type: string
        required: true
        constraints:
          - valid_values:
              - POST
              - PUT
              - GET
              - DELETE
        description: The REST method to use
      path:
        type: string
        required: true
        description: The path of the REST request relative to the base URL
      body:
        type: string
        required: false
        description: The body of the REST request for PUT and POST requests
      expectedResponse:
        type: integer
        required: true
        constraints: []
        description: THe expected HTTP status code for the REST request
  org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity:
    version: 1.0.0
    derived_from: tosca.datatypes.Root
    properties:
      configurationEntityId:
        type: onap.datatypes.ToscaConceptIdentifier
        type_version: 0.0.0
        required: true
        description: The name and version of a Configuration Entity to be handled
          by the HTTP Automation Composition Element
      restSequence:
        type: list
        entry_schema:
          type: org.onap.datatypes.policy.clamp.acm.httpControlLoopElement.RestRequest
          type_version: 1.0.0
        description: A sequence of REST commands to send to the REST endpoint
policy_types:
  onap.policies.Monitoring:
    derived_from: tosca.policies.Root
    description: a base policy type for all policies that govern monitoring provisioning
    version: 1.0.0
    name: onap.policies.Monitoring
  onap.policies.customPolicyType:
    derived_from: tosca.policies.Root
    description: a base policy type for all policies that govern monitoring provisioning
    version: 1.0.0
    name: onap.policies.customPolicyType
  onap.policies.controlloop.operational.Common:
    derived_from: tosca.policies.Root
    version: 1.0.0
    name: onap.policies.controlloop.operational.Common
    description: |
      Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant
      Policy Types. This does NOT support the legacy Policy YAML policy type.
    properties:
      id:
        type: string
        description: The unique control loop id.
        required: true
      timeout:
        type: integer
        description: |
          Overall timeout for executing all the operations. This timeout should equal or exceed the total
          timeout for each operation listed.
        required: true
      abatement:
        type: boolean
        description: Whether an abatement event message will be expected for the control
          loop from DCAE.
        required: true
        default: false
      trigger:
        type: string
        description: Initial operation to execute upon receiving an Onset event message
          for the Control Loop.
        required: true
      operations:
        type: list
        description: List of operations to be performed when Control Loop is triggered.
        required: true
        entry_schema:
          type: onap.datatype.controlloop.Operation
  onap.policies.controlloop.operational.common.Apex:
    derived_from: onap.policies.controlloop.operational.Common
    type_version: 1.0.0
    version: 1.0.0
    name: onap.policies.controlloop.operational.common.Apex
    description: Operational policies for Apex PDP
    properties:
      engineServiceParameters:
        type: string
        description: The engine parameters like name, instanceCount, policy implementation,
          parameters etc.
        required: true
      eventInputParameters:
        type: string
        description: The event input parameters.
        required: true
      eventOutputParameters:
        type: string
        description: The event output parameters.
        required: true
      javaProperties:
        type: string
        description: Name/value pairs of properties to be set for APEX if needed.
        required: false

node_types:
  org.onap.policy.clamp.acm.Participant:
    version: 1.0.1
    derived_from: tosca.nodetypes.Root
    properties:
      provider:
        type: string
        required: false
  org.onap.policy.clamp.acm.AutomationCompositionElement:
    version: 1.0.1
    derived_from: tosca.nodetypes.Root
    properties:
      provider:
        type: string
        required: false
        metadata:
          common: true
        description: Specifies the organization that provides the automation composition element
      participant_id:
        type: onap.datatypes.ToscaConceptIdentifier
        required: true
        metadata:
          common: true
      participantType:
        type: onap.datatypes.ToscaConceptIdentifier
        required: true
        metadata:
          common: true
        description: The identity of the participant type that hosts this type of Automation Composition Element
      startPhase:
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
        metadata:
          common: true
        description: A value indicating the start phase in which this automation composition element will be started, the
          first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped
          in reverse start phase order. Automation Composition Elements with the same start phase are started and
          stopped simultaneously
      uninitializedToPassiveTimeout:
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
        default: 60
        metadata:
          common: true
        description: The maximum time in seconds to wait for a state chage from uninitialized to passive
      passiveToRunningTimeout:
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
        default: 60
        metadata:
          common: true
        description: The maximum time in seconds to wait for a state chage from passive to running
      runningToPassiveTimeout:
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
        default: 60
        metadata:
          common: true
        description: The maximum time in seconds to wait for a state chage from running to passive
      passiveToUninitializedTimeout:
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
        default: 60
        metadata:
          common: true
        description: The maximum time in seconds to wait for a state chage from passive to uninitialized
  org.onap.policy.clamp.acm.AutomationComposition:
    version: 1.0.1
    derived_from: tosca.nodetypes.Root
    properties:
      provider:
        type: string
        required: false
        metadata:
          common: true
        description: Specifies the organization that provides the automation composition element
      elements:
        type: list
        required: true
        metadata:
          common: true
        entry_schema:
          type: onap.datatypes.ToscaConceptIdentifier
        description: Specifies a list of automation composition element definitions that make up this automation composition definition
  org.onap.policy.clamp.acm.PolicyAutomationCompositionElement:
    version: 1.0.1
    derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
    properties:
      policy_type_id:
        type: onap.datatypes.ToscaConceptIdentifier
        required: true
      policy_id:
        type: onap.datatypes.ToscaConceptIdentifier
        required: false
  org.onap.policy.clamp.acm.CDSAutomationCompositionElement:
    version: 1.0.1
    derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
    properties:
      cds_blueprint_id:
        type: onap.datatypes.ToscaConceptIdentifier
        required: true
  org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement:
    version: 1.0.1
    derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
    properties:
      chart:
        type: string
        required: true
      configs:
        type: list
        required: false
      requirements:
        type: string
        required: false
      templates:
        type: list
        required: false
        entry_schema:
      values:
        type: string
        required: true
  org.onap.policy.clamp.acm.HttpAutomationCompositionElement:
    version: 1.0.1
    derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
    properties:
      baseUrl:
        type: string
        required: true
        description: The base URL to be prepended to each path, identifies the host for the REST endpoints.
      httpHeaders:
        type: map
        required: false
        entry_schema:
          type: string
        description: HTTP headers to send on REST requests
      configurationEntities:
        type: map
        required: true
        entry_schema:
          type: org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity
          type_version: 1.0.0
        description: The connfiguration entities the Automation Composition Element is managing and their associated REST requests

topology_template:
  inputs:
    pmsh_operational_policy:
      type: onap.datatypes.ToscaConceptIdentifier
      description: The ID of the PMSH operational policy to use
      default:
        name: operational.apex.pmcontrol
        version: 1.0.0
  node_templates:
    org.onap.policy.clamp.acm.PolicyParticipant:
      version: 2.3.1
      type: org.onap.policy.clamp.acm.Participant
      type_version: 1.0.1
      description: Participant for DCAE microservices
      properties:
        provider: ONAP
    org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement:
      version: 1.2.3
      type: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
      type_version: 1.0.1
      description: Automation composition element for the operational policy for Performance Management Subscription Handling
      properties:
        provider: Ericsson
        participant_id:
          name: org.onap.PM_Policy
          version: 1.0.0
        participantType:
          name: org.onap.policy.clamp.acm.PolicyParticipant
          version: 2.3.1
        policy_type_id:
          name: onap.policies.operational.pm-subscription-handler
          version: 1.0.0
        policy_id:
          get_input: pmsh_operational_policy


    org.onap.policy.clamp.acm.KubernetesParticipant:
      version: 2.3.4
      type: org.onap.policy.clamp.acm.Participant
      type_version: 1.0.1
      description: Participant for K8S
      properties:
        provider: ONAP
    org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement:
      # Chart from new repository
      version: 1.2.3
      type: org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement
      type_version: 1.0.1
      description: Automation composition element for the K8S microservice for PMSH
      properties:
        provider: ONAP
        participant_id:
          name: K8sParticipant0
          version: 1.0.0
        participantType:
          name: org.onap.policy.clamp.acm.KubernetesParticipant
          version: 2.3.4
        chart:
          chartId:
            name: dcae-pmsh
            version: 10.0.0
          namespace: onap
          releaseName: onap-dcae-pmsh
          repository:
            repoName: chartmuseum
            address: http://chart-museum:80
            userName: onapinitializer
            password: demo123456!
          overrideParams:
            global.masterPassword: test
    org.onap.policy.clamp.acm.HttpParticipant:
      version: 2.3.4
      type: org.onap.policy.clamp.acm.Participant
      type_version: 1.0.1
      description: Participant for Http requests
      properties:
        provider: ONAP
    org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement:
      # Consul http config for PMSH.
      version: 1.2.3
      type: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
      type_version: 1.0.1
      description: Automation composition element for the http requests of PMSH microservice
      properties:
        provider: ONAP
        participant_id:
          name: HttpParticipant0
          version: 1.0.0
        participantType:
          name: org.onap.policy.clamp.acm.HttpParticipant
          version: 2.3.4
        uninitializedToPassiveTimeout: 180
        startPhase: 1
        baseUrl: https://dcae-pmsh:8443
        httpHeaders:
          Content-Type: application/json
        configurationEntities:
          - configurationEntityId:
              name: entity1
              version: 1.0.1
            restSequence:
              - restRequestId:
                  name: request1
                  version: 1.0.1
                httpMethod: POST
                path: subscription
                body: '{
                         "subscription":{
                         "subscriptionName":"new_sub_01",
                         "operationalPolicyName":"pmsh-operational-policy",
                         "controlLoopName":"controlLoop-name",
                         "nfFilter":{
                         "nfNames":[
                                "^pnf*"
                         ],
                         "modelInvariantIDs":[
                            "7129e420-d396-4efb-af02-6b83499b12f5"
                         ],
                            "modelVersionIDs":[
                         "e80a6ae3-cafd-4d24-850d-e14c084a5ca7"
                         ],
                        "modelNames":[
                        "pnf_134"
                        ]
                        },
                        "measurementGroups":[
                        {
                            "measurementGroup":{
                            "measurementGroupName":"msgroup_01",
                            "administrativeState":"UNLOCKED",
                            "fileBasedGP":15,
                            "fileLocation":"/pm/pm.xml",
                            "measurementTypes":[
                            {
                            "measurementType":"EutranCell.*"
                            },
                            {
                            "measurementType":"EutranCellRelation.pmCounter1"
                            },
                            {
                            "measurementType":"EutranCellRelation.pmCounter2"
                            }
                        ],
                        "managedObjectDNsBasic":[
                        {
                        "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1"
                        },
                        {
                        "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1, EUtranCellRelation=CityCenter2"
                        },
                        {
                        "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1, EUtranCellRelation=CityCenter3"
                        }
                        ]
                        }
                            }
                        ]
                        }
                }'
                expectedResponse: 201


    org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition:
      version: 1.2.3
      type: org.onap.policy.clamp.acm.AutomationComposition
      type_version: 1.0.1
      description: Automation composition for Hello World
      properties:
        provider: ONAP
        elements:
          - name: org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement
            version: 1.2.3
          - name: org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement
            version: 1.2.3
          - name: org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement
            version: 1.2.3
  policies:
    - operational.apex.pmcontrol:
        type: onap.policies.controlloop.operational.common.Apex
        type_version: 1.0.0
        version: 1.0.0
        properties:
          engineServiceParameters:
            name: MyApexEngine
            version: 0.0.1
            id: 45
            instanceCount: 2
            deploymentPort: 12561
            engineParameters:
              executorParameters:
                JAVASCRIPT:
                  parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters
              contextParameters:
                parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters
                schemaParameters:
                  Avro:
                    parameterClassName: org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters
                  Java:
                    parameterClassName: org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters
                    jsonAdapters:
                      Instant:
                        adaptedClass: java.time.Instant
                        adaptorClass: org.onap.policy.common.gson.InstantAsMillisTypeAdapter
            policy_type_impl:
              apexPolicyModel:
                key:
                  name: PMControlPolicy
                  version: 0.0.1
                keyInformation:
                  key:
                    name: PMControlPolicy_KeyInfo
                    version: 0.0.1
                  keyInfoMap:
                    entry:
                      - key:
                          name: CDSActionIdentifiersType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSActionIdentifiersType
                            version: 0.0.1
                          UUID: 6e5fa19b-14df-37e3-a4ae-8c537e861a82
                          description: Generated description for concept referred to by
                            key "CDSActionIdentifiersType:0.0.1"
                      - key:
                          name: CDSCreateResponseEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateResponseEvent
                            version: 0.0.1
                          UUID: 14b29e38-ac75-3273-aa4e-8583c0aa7dad
                          description: Generated description for concept referred to by
                            key "CDSCreateResponseEvent:0.0.1"
                      - key:
                          name: CDSCreateResponsePayloadType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateResponsePayloadType
                            version: 0.0.1
                          UUID: 04573f8f-e772-30a5-b1d9-d7318d4a1e13
                          description: Generated description for concept referred to by
                            key "CDSCreateResponsePayloadType:0.0.1"
                      - key:
                          name: CDSCreateResponsePolicy
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateResponsePolicy
                            version: 0.0.1
                          UUID: e126c965-fc09-3bfe-8f55-70f380a4a49c
                          description: Generated description for concept referred to by
                            key "CDSCreateResponsePolicy:0.0.1"
                      - key:
                          name: CDSCreateResponseTask
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateResponseTask
                            version: 0.0.1
                          UUID: 6165ee82-afd2-3aab-a517-f00b3f2461d2
                          description: Generated description for concept referred to by
                            key "CDSCreateResponseTask:0.0.1"
                      - key:
                          name: CDSCreateSubscriptionPayloadType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateSubscriptionPayloadType
                            version: 0.0.1
                          UUID: 8350ac5e-c157-38b9-9614-a0f93a830e60
                          description: Generated description for concept referred to by
                            key "CDSCreateSubscriptionPayloadType:0.0.1"
                      - key:
                          name: CDSCreateSubscriptionRequestEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateSubscriptionRequestEvent
                            version: 0.0.1
                          UUID: cfa325ba-226b-3a31-9183-ec43e2b6e9a2
                          description: Generated description for concept referred to by
                            key "CDSCreateSubscriptionRequestEvent:0.0.1"
                      - key:
                          name: CDSDeleteResponseEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteResponseEvent
                            version: 0.0.1
                          UUID: 8be9c0fa-7437-3841-aff2-b3cec6ae3bd8
                          description: Generated description for concept referred to by
                            key "CDSDeleteResponseEvent:0.0.1"
                      - key:
                          name: CDSDeleteResponsePayloadType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteResponsePayloadType
                            version: 0.0.1
                          UUID: 3fbfe0c9-152e-34d3-a504-09cd13c058d0
                          description: Generated description for concept referred to by
                            key "CDSDeleteResponsePayloadType:0.0.1"
                      - key:
                          name: CDSDeleteResponsePolicy
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteResponsePolicy
                            version: 0.0.1
                          UUID: a780251c-edd5-3132-b865-04313246b43c
                          description: Generated description for concept referred to by
                            key "CDSDeleteResponsePolicy:0.0.1"
                      - key:
                          name: CDSDeleteResponseTask
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteResponseTask
                            version: 0.0.1
                          UUID: afce4555-3aa3-3521-a7d8-ee8cdf0d3efc
                          description: Generated description for concept referred to by
                            key "CDSDeleteResponseTask:0.0.1"
                      - key:
                          name: CDSDeleteSubscriptionPayloadType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteSubscriptionPayloadType
                            version: 0.0.1
                          UUID: 12658406-9147-3c9d-a38c-5ad5e30b092b
                          description: Generated description for concept referred to by
                            key "CDSDeleteSubscriptionPayloadType:0.0.1"
                      - key:
                          name: CDSDeleteSubscriptionRequestEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteSubscriptionRequestEvent
                            version: 0.0.1
                          UUID: 24380c95-9289-36e6-8cbf-0edefa15ccd9
                          description: Generated description for concept referred to by
                            key "CDSDeleteSubscriptionRequestEvent:0.0.1"
                      - key:
                          name: CDSRequestCommonHeaderType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSRequestCommonHeaderType
                            version: 0.0.1
                          UUID: 35590ac0-062c-39f1-8786-b4ff716e30b1
                          description: Generated description for concept referred to by
                            key "CDSRequestCommonHeaderType:0.0.1"
                      - key:
                          name: CDSResponseCommonHeaderType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSResponseCommonHeaderType
                            version: 0.0.1
                          UUID: dd7e1805-885a-350b-aaf9-ed541321ae3c
                          description: Generated description for concept referred to by
                            key "CDSResponseCommonHeaderType:0.0.1"
                      - key:
                          name: CDSResponseStatusEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CDSResponseStatusEvent
                            version: 0.0.1
                          UUID: 7986e21b-32f7-302e-9554-31f21b673493
                          description: Generated description for concept referred to by
                            key "CDSResponseStatusEvent:0.0.1"
                      - key:
                          name: CDSResponseStatusType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSResponseStatusType
                            version: 0.0.1
                          UUID: 92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa
                          description: Generated description for concept referred to by
                            key "CDSResponseStatusType:0.0.1"
                      - key:
                          name: CreateSubscriptionPayloadEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CreateSubscriptionPayloadEvent
                            version: 0.0.1
                          UUID: 92162397-1a8e-3a3f-a469-d2af7700af4a
                          description: Generated description for concept referred to by
                            key "CreateSubscriptionPayloadEvent:0.0.1"
                      - key:
                          name: CreateSubscriptionPayloadTask
                          version: 0.0.1
                        value:
                          key:
                            name: CreateSubscriptionPayloadTask
                            version: 0.0.1
                          UUID: bc0c69f0-52ed-38ea-b468-ae4a6fd1730d
                          description: Generated description for concept referred to by
                            key "CreateSubscriptionPayloadTask:0.0.1"
                      - key:
                          name: CreateSubscriptionRequestTask
                          version: 0.0.1
                        value:
                          key:
                            name: CreateSubscriptionRequestTask
                            version: 0.0.1
                          UUID: 89cb75e9-f06c-30d3-b4ff-698d45f63869
                          description: Generated description for concept referred to by
                            key "CreateSubscriptionRequestTask:0.0.1"
                      - key:
                          name: DeleteSubscriptionPayloadEvent
                          version: 0.0.1
                        value:
                          key:
                            name: DeleteSubscriptionPayloadEvent
                            version: 0.0.1
                          UUID: 994fa441-04ab-33bb-832d-1cd12ab5d074
                          description: Generated description for concept referred to by
                            key "DeleteSubscriptionPayloadEvent:0.0.1"
                      - key:
                          name: DeleteSubscriptionPayloadTask
                          version: 0.0.1
                        value:
                          key:
                            name: DeleteSubscriptionPayloadTask
                            version: 0.0.1
                          UUID: 0f519117-5fea-3e4b-941f-8f778100465f
                          description: Generated description for concept referred to by
                            key "DeleteSubscriptionPayloadTask:0.0.1"
                      - key:
                          name: DeleteSubscriptionRequestTask
                          version: 0.0.1
                        value:
                          key:
                            name: DeleteSubscriptionRequestTask
                            version: 0.0.1
                          UUID: acb772fe-d442-39e3-98f9-b1080caf4150
                          description: Generated description for concept referred to by
                            key "DeleteSubscriptionRequestTask:0.0.1"
                      - key:
                          name: MRResponseEvent
                          version: 0.0.1
                        value:
                          key:
                            name: MRResponseEvent
                            version: 0.0.1
                          UUID: 13c747a3-6bae-3bcf-9c80-b152e01dc194
                          description: Generated description for concept referred to by
                            key "MRResponseEvent:0.0.1"
                      - key:
                          name: PMControlPolicy
                          version: 0.0.1
                        value:
                          key:
                            name: PMControlPolicy
                            version: 0.0.1
                          UUID: acf1e55c-7bc5-3bd5-975a-0ca54afcd8a4
                          description: Generated description for concept referred to by
                            key "PMControlPolicy:0.0.1"
                      - key:
                          name: PMControlPolicy_Albums
                          version: 0.0.1
                        value:
                          key:
                            name: PMControlPolicy_Albums
                            version: 0.0.1
                          UUID: b38ad204-c2c8-32f4-9b5a-dda0aeb0145b
                          description: Generated description for concept referred to by
                            key "PMControlPolicy_Albums:0.0.1"
                      - key:
                          name: PMControlPolicy_Events
                          version: 0.0.1
                        value:
                          key:
                            name: PMControlPolicy_Events
                            version: 0.0.1
                          UUID: be3871a0-c42a-3113-a066-82d192840eca
                          description: Generated description for concept referred to by
                            key "PMControlPolicy_Events:0.0.1"
                      - key:
                          name: PMControlPolicy_KeyInfo
                          version: 0.0.1
                        value:
                          key:
                            name: PMControlPolicy_KeyInfo
                            version: 0.0.1
                          UUID: ced37634-28a4-3178-b7f6-2980794927b0
                          description: Generated description for concept referred to by
                            key "PMControlPolicy_KeyInfo:0.0.1"
                      - key:
                          name: PMControlPolicy_Policies
                          version: 0.0.1
                        value:
                          key:
                            name: PMControlPolicy_Policies
                            version: 0.0.1
                          UUID: be3d180d-ef9c-3a75-8e9c-84271a038bed
                          description: Generated description for concept referred to by
                            key "PMControlPolicy_Policies:0.0.1"
                      - key:
                          name: PMControlPolicy_Schemas
                          version: 0.0.1
                        value:
                          key:
                            name: PMControlPolicy_Schemas
                            version: 0.0.1
                          UUID: e61973f1-189c-39e5-82f6-0d3afe298a20
                          description: Generated description for concept referred to by
                            key "PMControlPolicy_Schemas:0.0.1"
                      - key:
                          name: PMControlPolicy_Tasks
                          version: 0.0.1
                        value:
                          key:
                            name: PMControlPolicy_Tasks
                            version: 0.0.1
                          UUID: 5658adb3-2962-30a3-a241-fae75bb8eb4a
                          description: Generated description for concept referred to by
                            key "PMControlPolicy_Tasks:0.0.1"
                      - key:
                          name: PMSubscriptionAlbum
                          version: 0.0.1
                        value:
                          key:
                            name: PMSubscriptionAlbum
                            version: 0.0.1
                          UUID: c2bd6f0d-6854-317a-9be2-97c08338428c
                          description: Generated description for concept referred to by
                            key "PMSubscriptionAlbum:0.0.1"
                      - key:
                          name: PMSubscriptionOutputEvent
                          version: 0.0.1
                        value:
                          key:
                            name: PMSubscriptionOutputEvent
                            version: 0.0.1
                          UUID: 992b7819-9f69-3aa0-bb0f-6e45ea15ce05
                          description: Generated description for concept referred to by
                            key "PMSubscriptionOutputEvent:0.0.1"
                      - key:
                          name: PMSubscriptionType
                          version: 0.0.1
                        value:
                          key:
                            name: PMSubscriptionType
                            version: 0.0.1
                          UUID: 73c1c397-4fc3-357f-93b6-a8ad707fbaae
                          description: Generated description for concept referred to by
                            key "PMSubscriptionType:0.0.1"
                      - key:
                          name: ReceiveEventPolicy
                          version: 0.0.1
                        value:
                          key:
                            name: ReceiveEventPolicy
                            version: 0.0.1
                          UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1
                          description: Generated description for concept referred to by
                            key "ReceiveEventPolicy:0.0.1"
                      - key:
                          name: ReceiveSubscriptionTask
                          version: 0.0.1
                        value:
                          key:
                            name: ReceiveSubscriptionTask
                            version: 0.0.1
                          UUID: f596afc8-100c-35eb-92c8-352355ea457d
                          description: Generated description for concept referred to by
                            key "ReceiveSubscriptionTask:0.0.1"
                      - key:
                          name: SimpleIntType
                          version: 0.0.1
                        value:
                          key:
                            name: SimpleIntType
                            version: 0.0.1
                          UUID: 153791fd-ae0a-36a7-88a5-309a7936415d
                          description: Generated description for concept referred to by
                            key "SimpleIntType:0.0.1"
                      - key:
                          name: SimpleStringType
                          version: 0.0.1
                        value:
                          key:
                            name: SimpleStringType
                            version: 0.0.1
                          UUID: 8a4957cf-9493-3a76-8c22-a208e23259af
                          description: Generated description for concept referred to by
                            key "SimpleStringType:0.0.1"
                      - key:
                          name: SubscriptionStatusType
                          version: 0.0.1
                        value:
                          key:
                            name: SubscriptionStatusType
                            version: 0.0.1
                          UUID: 597643b1-9db1-31ce-85d0-e1c63c43b30b
                          description: Generated description for concept referred to by
                            key "SubscriptionStatusType:0.0.1"
                      - key:
                          name: SubscriptionType
                          version: 0.0.1
                        value:
                          key:
                            name: SubscriptionType
                            version: 0.0.1
                          UUID: 184547bb-7d64-3cb2-a273-d7185102c5ce
                          description: Generated description for concept referred to by
                            key "SubscriptionType:0.0.1"
                      - key:
                          name: UUIDType
                          version: 0.0.1
                        value:
                          key:
                            name: UUIDType
                            version: 0.0.1
                          UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c
                          description: Generated description for concept referred to by
                            key "UUIDType:0.0.1"
                      - key:
                          name: pmsh-operational-policy
                          version: 0.0.1
                        value:
                          key:
                            name: pmsh-operational-policy
                            version: 0.0.1
                          UUID: fdf2c9ff-6422-3ea6-b6b6-49b12116265d
                          description: Generated description for concept referred to by
                            key "pmsh-operational-policy:0.0.1"
                policies:
                  key:
                    name: PMControlPolicy_Policies
                    version: 0.0.1
                  policyMap:
                    entry:
                      - key:
                          name: CDSCreateResponsePolicy
                          version: 0.0.1
                        value:
                          policyKey:
                            name: CDSCreateResponsePolicy
                            version: 0.0.1
                          template: Freestyle
                          state:
                            entry:
                              - key: CDSCreateResponseState
                                value:
                                  stateKey:
                                    parentKeyName: CDSCreateResponsePolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: 'NULL'
                                    localName: CDSCreateResponseState
                                  trigger:
                                    name: CDSCreateResponseEvent
                                    version: 0.0.1
                                  stateOutputs:
                                    entry:
                                      - key: ResponseOutput
                                        value:
                                          key:
                                            parentKeyName: CDSCreateResponsePolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CDSCreateResponseState
                                            localName: ResponseOutput
                                          outgoingEvent:
                                            name: CDSResponseStatusEvent
                                            version: 0.0.1
                                          outgoingEventReference:
                                            - name: CDSResponseStatusEvent
                                              version: 0.0.1
                                          nextState:
                                            parentKeyName: 'NULL'
                                            parentKeyVersion: 0.0.0
                                            parentLocalName: 'NULL'
                                            localName: 'NULL'
                                  contextAlbumReference: [ ]
                                  taskSelectionLogic:
                                    key: 'NULL'
                                    logicFlavour: UNDEFINED
                                    logic: ''
                                  stateFinalizerLogicMap:
                                    entry: [ ]
                                  defaultTask:
                                    name: CDSCreateResponseTask
                                    version: 0.0.1
                                  taskReferences:
                                    entry:
                                      - key:
                                          name: CDSCreateResponseTask
                                          version: 0.0.1
                                        value:
                                          key:
                                            parentKeyName: CDSCreateResponsePolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CDSCreateResponseState
                                            localName: CDSCreateResponsePolicy
                                          outputType: DIRECT
                                          output:
                                            parentKeyName: CDSCreateResponsePolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CDSCreateResponseState
                                            localName: ResponseOutput
                          firstState: CDSCreateResponseState
                      - key:
                          name: CDSDeleteResponsePolicy
                          version: 0.0.1
                        value:
                          policyKey:
                            name: CDSDeleteResponsePolicy
                            version: 0.0.1
                          template: Freestyle
                          state:
                            entry:
                              - key: CDSDeleteResponseState
                                value:
                                  stateKey:
                                    parentKeyName: CDSDeleteResponsePolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: 'NULL'
                                    localName: CDSDeleteResponseState
                                  trigger:
                                    name: CDSDeleteResponseEvent
                                    version: 0.0.1
                                  stateOutputs:
                                    entry:
                                      - key: ResponseOutput
                                        value:
                                          key:
                                            parentKeyName: CDSDeleteResponsePolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CDSDeleteResponseState
                                            localName: ResponseOutput
                                          outgoingEvent:
                                            name: CDSResponseStatusEvent
                                            version: 0.0.1
                                          outgoingEventReference:
                                            - name: CDSResponseStatusEvent
                                              version: 0.0.1
                                          nextState:
                                            parentKeyName: 'NULL'
                                            parentKeyVersion: 0.0.0
                                            parentLocalName: 'NULL'
                                            localName: 'NULL'
                                  contextAlbumReference: [ ]
                                  taskSelectionLogic:
                                    key: 'NULL'
                                    logicFlavour: UNDEFINED
                                    logic: ''
                                  stateFinalizerLogicMap:
                                    entry: [ ]
                                  defaultTask:
                                    name: CDSDeleteResponseTask
                                    version: 0.0.1
                                  taskReferences:
                                    entry:
                                      - key:
                                          name: CDSDeleteResponseTask
                                          version: 0.0.1
                                        value:
                                          key:
                                            parentKeyName: CDSDeleteResponsePolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CDSDeleteResponseState
                                            localName: CDSDeleteResponsePolicy
                                          outputType: DIRECT
                                          output:
                                            parentKeyName: CDSDeleteResponsePolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CDSDeleteResponseState
                                            localName: ResponseOutput
                          firstState: CDSDeleteResponseState
                      - key:
                          name: ReceiveEventPolicy
                          version: 0.0.1
                        value:
                          policyKey:
                            name: ReceiveEventPolicy
                            version: 0.0.1
                          template: Freestyle
                          state:
                            entry:
                              - key: CreateOrDeleteState
                                value:
                                  stateKey:
                                    parentKeyName: ReceiveEventPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: 'NULL'
                                    localName: CreateOrDeleteState
                                  trigger:
                                    name: PMSubscriptionOutputEvent
                                    version: 0.0.1
                                  stateOutputs:
                                    entry:
                                      - key: CreateSubscriptionPayload
                                        value:
                                          key:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CreateOrDeleteState
                                            localName: CreateSubscriptionPayload
                                          outgoingEvent:
                                            name: CreateSubscriptionPayloadEvent
                                            version: 0.0.1
                                          outgoingEventReference:
                                            - name: CreateSubscriptionPayloadEvent
                                              version: 0.0.1
                                          nextState:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: 'NULL'
                                            localName: CreateSubscription
                                      - key: DeleteSubscriptionPayload
                                        value:
                                          key:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CreateOrDeleteState
                                            localName: DeleteSubscriptionPayload
                                          outgoingEvent:
                                            name: DeleteSubscriptionPayloadEvent
                                            version: 0.0.1
                                          outgoingEventReference:
                                            - name: DeleteSubscriptionPayloadEvent
                                              version: 0.0.1
                                          nextState:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: 'NULL'
                                            localName: DeleteSubscription
                                  contextAlbumReference:
                                    - name: PMSubscriptionAlbum
                                      version: 0.0.1
                                  taskSelectionLogic:
                                    key: TaskSelectionLogic
                                    logicFlavour: JAVASCRIPT
                                    logic: |-
                                      /*
                                       * ============LICENSE_START=======================================================
                                       *  Copyright (C) 2020 Nordix. All rights reserved.
                                       * ================================================================================
                                       * Licensed under the Apache License, Version 2.0 (the "License");
                                       * you may not use this file except in compliance with the License.
                                       * You may obtain a copy of the License at
                                       *
                                       *      http://www.apache.org/licenses/LICENSE-2.0
                                       *
                                       * Unless required by applicable law or agreed to in writing, software
                                       * distributed under the License is distributed on an "AS IS" BASIS,
                                       * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                                       * See the License for the specific language governing permissions and
                                       * limitations under the License.
                                       *
                                       * SPDX-License-Identifier: Apache-2.0
                                       * ============LICENSE_END=========================================================
                                       */
                                      executor.logger.info(executor.subject.id);
                                      var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
                                      var changeType = pmSubscriptionInfo.get("changeType").toString()
                                      executor.logger.info("Change Type is " + changeType)
                                      if ("CREATE".equals(changeType)) {
                                          executor.logger.info("Choosing to create a subscription")
                                          executor.subject.getTaskKey("CreateSubscriptionPayloadTask").copyTo(executor.selectedTask);
                                      }
                                      else if ("DELETE".equals(changeType)) {
                                          executor.logger.info("Choosing to delete a subscription")
                                          executor.subject.getTaskKey("DeleteSubscriptionPayloadTask").copyTo(executor.selectedTask);
                                      }
                                      returnValue = executor.isTrue;
                                      true;
                                  stateFinalizerLogicMap:
                                    entry: [ ]
                                  defaultTask:
                                    name: CreateSubscriptionPayloadTask
                                    version: 0.0.1
                                  taskReferences:
                                    entry:
                                      - key:
                                          name: CreateSubscriptionPayloadTask
                                          version: 0.0.1
                                        value:
                                          key:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CreateOrDeleteState
                                            localName: ReceiveEventPolicy
                                          outputType: DIRECT
                                          output:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CreateOrDeleteState
                                            localName: CreateSubscriptionPayload
                                      - key:
                                          name: DeleteSubscriptionPayloadTask
                                          version: 0.0.1
                                        value:
                                          key:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CreateOrDeleteState
                                            localName: ReceiveEventPolicy
                                          outputType: DIRECT
                                          output:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CreateOrDeleteState
                                            localName: DeleteSubscriptionPayload
                              - key: CreateSubscription
                                value:
                                  stateKey:
                                    parentKeyName: ReceiveEventPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: 'NULL'
                                    localName: CreateSubscription
                                  trigger:
                                    name: CreateSubscriptionPayloadEvent
                                    version: 0.0.1
                                  stateOutputs:
                                    entry:
                                      - key: IssueCreateSubscriptionRequestOutput
                                        value:
                                          key:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CreateSubscription
                                            localName: IssueCreateSubscriptionRequestOutput
                                          outgoingEvent:
                                            name: CDSCreateSubscriptionRequestEvent
                                            version: 0.0.1
                                          outgoingEventReference:
                                            - name: CDSCreateSubscriptionRequestEvent
                                              version: 0.0.1
                                          nextState:
                                            parentKeyName: 'NULL'
                                            parentKeyVersion: 0.0.0
                                            parentLocalName: 'NULL'
                                            localName: 'NULL'
                                  contextAlbumReference:
                                    - name: PMSubscriptionAlbum
                                      version: 0.0.1
                                  taskSelectionLogic:
                                    key: 'NULL'
                                    logicFlavour: UNDEFINED
                                    logic: ''
                                  stateFinalizerLogicMap:
                                    entry: [ ]
                                  defaultTask:
                                    name: CreateSubscriptionRequestTask
                                    version: 0.0.1
                                  taskReferences:
                                    entry:
                                      - key:
                                          name: CreateSubscriptionRequestTask
                                          version: 0.0.1
                                        value:
                                          key:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CreateSubscription
                                            localName: ReceiveEventPolicy
                                          outputType: DIRECT
                                          output:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: CreateSubscription
                                            localName: IssueCreateSubscriptionRequestOutput
                              - key: DeleteSubscription
                                value:
                                  stateKey:
                                    parentKeyName: ReceiveEventPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: 'NULL'
                                    localName: DeleteSubscription
                                  trigger:
                                    name: DeleteSubscriptionPayloadEvent
                                    version: 0.0.1
                                  stateOutputs:
                                    entry:
                                      - key: IssueDeleteSubscriptionRequestOutput
                                        value:
                                          key:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: DeleteSubscription
                                            localName: IssueDeleteSubscriptionRequestOutput
                                          outgoingEvent:
                                            name: CDSDeleteSubscriptionRequestEvent
                                            version: 0.0.1
                                          outgoingEventReference:
                                            - name: CDSDeleteSubscriptionRequestEvent
                                              version: 0.0.1
                                          nextState:
                                            parentKeyName: 'NULL'
                                            parentKeyVersion: 0.0.0
                                            parentLocalName: 'NULL'
                                            localName: 'NULL'
                                  contextAlbumReference:
                                    - name: PMSubscriptionAlbum
                                      version: 0.0.1
                                  taskSelectionLogic:
                                    key: 'NULL'
                                    logicFlavour: UNDEFINED
                                    logic: ''
                                  stateFinalizerLogicMap:
                                    entry: [ ]
                                  defaultTask:
                                    name: DeleteSubscriptionRequestTask
                                    version: 0.0.1
                                  taskReferences:
                                    entry:
                                      - key:
                                          name: DeleteSubscriptionRequestTask
                                          version: 0.0.1
                                        value:
                                          key:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: DeleteSubscription
                                            localName: ReceiveEventPolicy
                                          outputType: DIRECT
                                          output:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: DeleteSubscription
                                            localName: IssueDeleteSubscriptionRequestOutput
                              - key: ReceiveSubscriptionState
                                value:
                                  stateKey:
                                    parentKeyName: ReceiveEventPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: 'NULL'
                                    localName: ReceiveSubscriptionState
                                  trigger:
                                    name: pmsh-operational-policy
                                    version: 0.0.1
                                  stateOutputs:
                                    entry:
                                      - key: ReceivePMSubscriptionOutput
                                        value:
                                          key:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: ReceiveSubscriptionState
                                            localName: ReceivePMSubscriptionOutput
                                          outgoingEvent:
                                            name: PMSubscriptionOutputEvent
                                            version: 0.0.1
                                          outgoingEventReference:
                                            - name: PMSubscriptionOutputEvent
                                              version: 0.0.1
                                          nextState:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: 'NULL'
                                            localName: CreateOrDeleteState
                                  contextAlbumReference:
                                    - name: PMSubscriptionAlbum
                                      version: 0.0.1
                                  taskSelectionLogic:
                                    key: 'NULL'
                                    logicFlavour: UNDEFINED
                                    logic: ''
                                  stateFinalizerLogicMap:
                                    entry: [ ]
                                  defaultTask:
                                    name: ReceiveSubscriptionTask
                                    version: 0.0.1
                                  taskReferences:
                                    entry:
                                      - key:
                                          name: ReceiveSubscriptionTask
                                          version: 0.0.1
                                        value:
                                          key:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: ReceiveSubscriptionState
                                            localName: ReceiveEventPolicy
                                          outputType: DIRECT
                                          output:
                                            parentKeyName: ReceiveEventPolicy
                                            parentKeyVersion: 0.0.1
                                            parentLocalName: ReceiveSubscriptionState
                                            localName: ReceivePMSubscriptionOutput
                          firstState: ReceiveSubscriptionState
                tasks:
                  key:
                    name: PMControlPolicy_Tasks
                    version: 0.0.1
                  taskMap:
                    entry:
                      - key:
                          name: CDSCreateResponseTask
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateResponseTask
                            version: 0.0.1
                          inputEvent:
                            key:
                              name: CDSCreateResponseEvent
                              version: 0.0.1
                            nameSpace: org.onap.policy.apex.onap.pmcontrol
                            source: CDS
                            target: APEX
                            parameter:
                              entry:
                                - key: actionIdentifiers
                                  value:
                                    key: actionIdentifiers
                                    fieldSchemaKey:
                                      name: CDSActionIdentifiersType
                                      version: 0.0.1
                                    optional: false
                                - key: commonHeader
                                  value:
                                    key: commonHeader
                                    fieldSchemaKey:
                                      name: CDSResponseCommonHeaderType
                                      version: 0.0.1
                                    optional: false
                                - key: payload
                                  value:
                                    key: payload
                                    fieldSchemaKey:
                                      name: CDSCreateResponsePayloadType
                                      version: 0.0.1
                                    optional: false
                                - key: status
                                  value:
                                    key: status
                                    fieldSchemaKey:
                                      name: CDSResponseStatusType
                                      version: 0.0.1
                                    optional: false
                          outputEvents:
                            entry:
                              - key: CDSResponseStatusEvent
                                value:
                                  key:
                                    name: CDSResponseStatusEvent
                                    version: 0.0.1
                                  nameSpace: org.onap.policy.apex.onap.pmcontrol
                                  source: APEX
                                  target: DCAE
                                  parameter:
                                    entry:
                                      - key: status
                                        value:
                                          key: status
                                          fieldSchemaKey:
                                            name: SubscriptionStatusType
                                            version: 0.0.1
                                          optional: false
                          taskParameters:
                            entry: [ ]
                          contextAlbumReference:
                            - name: PMSubscriptionAlbum
                              version: 0.0.1
                          taskLogic:
                            key: TaskLogic
                            logicFlavour: JAVASCRIPT
                            logic: |-
                              /*
                               * ============LICENSE_START=======================================================
                               *  Copyright (C) 2020 Nordix. All rights reserved.
                               * ================================================================================
                               * Licensed under the Apache License, Version 2.0 (the "License");
                               * you may not use this file except in compliance with the License.
                               * You may obtain a copy of the License at
                               *
                               *      http://www.apache.org/licenses/LICENSE-2.0
                               *
                               * Unless required by applicable law or agreed to in writing, software
                               * distributed under the License is distributed on an "AS IS" BASIS,
                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                               * See the License for the specific language governing permissions and
                               * limitations under the License.
                               *
                               * SPDX-License-Identifier: Apache-2.0
                               * ============LICENSE_END=========================================================
                               */
                              executor.logger.info(executor.subject.id);
                              var commonHeader = executor.inFields.get("commonHeader")
                              var response = executor.inFields.get("payload")
                              var albumID = commonHeader.get("requestId")
                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
                              var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
                              var changeType = pmSubscriptionInfo.get("changeType").toUpperCase()
                              responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
                              responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
                              if ("CREATE".equals(changeType)) {
                                  responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
                                  responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("subscription").get("measurementGroup").get("measurementGroupName"))
                              }
                              else if ("DELETE".equals(changeType)) {
                                  responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
                                  responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
                              }
                              var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
                              executor.logger.info("RESPONSE STATUS = " + status)
                              if(status == "success") {
                                  responseStatus.put("message", "success")
                              } else {
                                  responseStatus.put("message", "failed")
                              }
                              executor.outFields.put("status", responseStatus)
                              returnValue = executor.isTrue;
                              true;
                      - key:
                          name: CDSDeleteResponseTask
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteResponseTask
                            version: 0.0.1
                          inputEvent:
                            key:
                              name: CDSDeleteResponseEvent
                              version: 0.0.1
                            nameSpace: org.onap.policy.apex.onap.pmcontrol
                            source: CDS
                            target: APEX
                            parameter:
                              entry:
                                - key: actionIdentifiers
                                  value:
                                    key: actionIdentifiers
                                    fieldSchemaKey:
                                      name: CDSActionIdentifiersType
                                      version: 0.0.1
                                    optional: false
                                - key: commonHeader
                                  value:
                                    key: commonHeader
                                    fieldSchemaKey:
                                      name: CDSResponseCommonHeaderType
                                      version: 0.0.1
                                    optional: false
                                - key: payload
                                  value:
                                    key: payload
                                    fieldSchemaKey:
                                      name: CDSDeleteResponsePayloadType
                                      version: 0.0.1
                                    optional: false
                                - key: status
                                  value:
                                    key: status
                                    fieldSchemaKey:
                                      name: CDSResponseStatusType
                                      version: 0.0.1
                                    optional: false
                          outputEvents:
                            entry:
                              - key: CDSResponseStatusEvent
                                value:
                                  key:
                                    name: CDSResponseStatusEvent
                                    version: 0.0.1
                                  nameSpace: org.onap.policy.apex.onap.pmcontrol
                                  source: APEX
                                  target: DCAE
                                  parameter:
                                    entry:
                                      - key: status
                                        value:
                                          key: status
                                          fieldSchemaKey:
                                            name: SubscriptionStatusType
                                            version: 0.0.1
                                          optional: false
                          taskParameters:
                            entry: [ ]
                          contextAlbumReference:
                            - name: PMSubscriptionAlbum
                              version: 0.0.1
                          taskLogic:
                            key: TaskLogic
                            logicFlavour: JAVASCRIPT
                            logic: |-
                              /*
                               * ============LICENSE_START=======================================================
                               *  Copyright (C) 2020 Nordix. All rights reserved.
                               * ================================================================================
                               * Licensed under the Apache License, Version 2.0 (the "License");
                               * you may not use this file except in compliance with the License.
                               * You may obtain a copy of the License at
                               *
                               *      http://www.apache.org/licenses/LICENSE-2.0
                               *
                               * Unless required by applicable law or agreed to in writing, software
                               * distributed under the License is distributed on an "AS IS" BASIS,
                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                               * See the License for the specific language governing permissions and
                               * limitations under the License.
                               *
                               * SPDX-License-Identifier: Apache-2.0
                               * ============LICENSE_END=========================================================
                               */
                              executor.logger.info(executor.subject.id);
                              var commonHeader = executor.inFields.get("commonHeader")
                              var response = executor.inFields.get("payload")
                              var albumID = commonHeader.get("requestId")
                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(albumID.toString());
                              var responseStatus = executor.subject.getOutFieldSchemaHelper("status").createNewInstance();
                              var changeType = pmSubscriptionInfo.get("changeType").toUpperCase()
                              responseStatus.put("nfName", pmSubscriptionInfo.get("nfName"))
                              responseStatus.put("changeType", pmSubscriptionInfo.get("changeType"))
                              if ("CREATE".equals(changeType)) {
                                  responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscription").get("subscriptionName"))
                                  responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("subscription").get("measurementGroup").get("measurementGroupName"))
                              }
                              else if ("DELETE".equals(changeType)) {
                                  responseStatus.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
                                  responseStatus.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
                              }
                              var status = response.get(pmSubscriptionInfo.get("changeType").toLowerCase() + "_DasH_subscription_DasH_response").get("odl_DasH_response").get("status")
                              executor.logger.info("RESPONSE STATUS = " + status)
                              if(status == "success") {
                                  responseStatus.put("message", "success")
                              } else {
                                  responseStatus.put("message", "failed")
                              }
                              executor.outFields.put("status", responseStatus)
                              returnValue = executor.isTrue;
                              true;
                      - key:
                          name: CreateSubscriptionPayloadTask
                          version: 0.0.1
                        value:
                          key:
                            name: CreateSubscriptionPayloadTask
                            version: 0.0.1
                          inputEvent:
                            key:
                              name: PMSubscriptionOutputEvent
                              version: 0.0.1
                            nameSpace: org.onap.policy.apex.onap.pmcontrol
                            source: APEX
                            target: APEX
                            parameter:
                              entry:
                                - key: albumID
                                  value:
                                    key: albumID
                                    fieldSchemaKey:
                                      name: UUIDType
                                      version: 0.0.1
                                    optional: false
                          outputEvents:
                            entry:
                              - key: CreateSubscriptionPayloadEvent
                                value:
                                  key:
                                    name: CreateSubscriptionPayloadEvent
                                    version: 0.0.1
                                  nameSpace: org.onap.policy.apex.onap.pmcontrol
                                  source: APEX
                                  target: APEX
                                  parameter:
                                    entry:
                                      - key: albumID
                                        value:
                                          key: albumID
                                          fieldSchemaKey:
                                            name: UUIDType
                                            version: 0.0.1
                                          optional: false
                                      - key: payload
                                        value:
                                          key: payload
                                          fieldSchemaKey:
                                            name: CDSCreateSubscriptionPayloadType
                                            version: 0.0.1
                                          optional: false
                          taskParameters:
                            entry: [ ]
                          contextAlbumReference:
                            - name: PMSubscriptionAlbum
                              version: 0.0.1
                          taskLogic:
                            key: TaskLogic
                            logicFlavour: JAVASCRIPT
                            logic: |-
                              /*
                               * ============LICENSE_START=======================================================
                               *  Copyright (C) 2020 Nordix. All rights reserved.
                               * ================================================================================
                               * Licensed under the Apache License, Version 2.0 (the "License");
                               * you may not use this file except in compliance with the License.
                               * You may obtain a copy of the License at
                               *
                               *      http://www.apache.org/licenses/LICENSE-2.0
                               *
                               * Unless required by applicable law or agreed to in writing, software
                               * distributed under the License is distributed on an "AS IS" BASIS,
                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                               * See the License for the specific language governing permissions and
                               * limitations under the License.
                               *
                               * SPDX-License-Identifier: Apache-2.0
                               * ============LICENSE_END=========================================================
                               */
                              executor.logger.info(executor.subject.id);
                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
                              var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
                              var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
                              payloadProperties.put("nfName",  pmSubscriptionInfo.get("nfName"))
                              payloadProperties.put("ipAddress", pmSubscriptionInfo.get("ipAddress"))
                              if ("create".equals(changeType)) {
                                  payloadProperties.put("subscriptionName",  pmSubscriptionInfo.get("subscription").get("subscriptionName"))
                                  payloadProperties.put("fileBasedGP",  pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
                                  payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
                                  payloadProperties.put("measurementGroup", pmSubscriptionInfo.get("subscription").get("measurementGroup"))
                              }
                              else if ("delete".equals(changeType)) {
                                  payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
                                  payloadProperties.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
                              }
                              var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
                              payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
                              var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
                              payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
                              executor.outFields.put("albumID", executor.inFields.get("albumID"))
                              executor.outFields.put("payload", payload);
                              returnValue = executor.isTrue;
                              true;
                      - key:
                          name: CreateSubscriptionRequestTask
                          version: 0.0.1
                        value:
                          key:
                            name: CreateSubscriptionRequestTask
                            version: 0.0.1
                          inputEvent:
                            key:
                              name: CreateSubscriptionPayloadEvent
                              version: 0.0.1
                            nameSpace: org.onap.policy.apex.onap.pmcontrol
                            source: APEX
                            target: APEX
                            parameter:
                              entry:
                                - key: albumID
                                  value:
                                    key: albumID
                                    fieldSchemaKey:
                                      name: UUIDType
                                      version: 0.0.1
                                    optional: false
                                - key: payload
                                  value:
                                    key: payload
                                    fieldSchemaKey:
                                      name: CDSCreateSubscriptionPayloadType
                                      version: 0.0.1
                                    optional: false
                          outputEvents:
                            entry:
                              - key: CDSCreateSubscriptionRequestEvent
                                value:
                                  key:
                                    name: CDSCreateSubscriptionRequestEvent
                                    version: 0.0.1
                                  nameSpace: org.onap.policy.apex.onap.pmcontrol
                                  source: APEX
                                  target: APEX
                                  parameter:
                                    entry:
                                      - key: actionIdentifiers
                                        value:
                                          key: actionIdentifiers
                                          fieldSchemaKey:
                                            name: CDSActionIdentifiersType
                                            version: 0.0.1
                                          optional: false
                                      - key: commonHeader
                                        value:
                                          key: commonHeader
                                          fieldSchemaKey:
                                            name: CDSRequestCommonHeaderType
                                            version: 0.0.1
                                          optional: false
                                      - key: payload
                                        value:
                                          key: payload
                                          fieldSchemaKey:
                                            name: CDSCreateSubscriptionPayloadType
                                            version: 0.0.1
                                          optional: false
                          taskParameters:
                            entry: [ ]
                          contextAlbumReference:
                            - name: PMSubscriptionAlbum
                              version: 0.0.1
                          taskLogic:
                            key: TaskLogic
                            logicFlavour: JAVASCRIPT
                            logic: |-
                              /*
                               * ============LICENSE_START=======================================================
                               *  Copyright (C) 2020 Nordix. All rights reserved.
                               * ================================================================================
                               * Licensed under the Apache License, Version 2.0 (the "License");
                               * you may not use this file except in compliance with the License.
                               * You may obtain a copy of the License at
                               *
                               *      http://www.apache.org/licenses/LICENSE-2.0
                               *
                               * Unless required by applicable law or agreed to in writing, software
                               * distributed under the License is distributed on an "AS IS" BASIS,
                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                               * See the License for the specific language governing permissions and
                               * limitations under the License.
                               *
                               * SPDX-License-Identifier: Apache-2.0
                               * ============LICENSE_END=========================================================
                               */
                              executor.logger.info(executor.subject.id);
                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
                              executor.logger.info(pmSubscriptionInfo)
                              var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
                              var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
                              var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
                              var payload = executor.inFields.get("payload")
                              var actionName = changeType + "-subscription"
                              var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
                              commonHeader.put("originatorId", "sdnc");
                              commonHeader.put("requestId", executor.inFields.get("albumID").toString());
                              commonHeader.put("subRequestId", "sub-123456-1000");
                              var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
                              actionIdentifiers.put("actionName", actionName);
                              actionIdentifiers.put("blueprintName", blueprintName);
                              actionIdentifiers.put("blueprintVersion", blueprintVersion);
                              actionIdentifiers.put("mode", "sync");
                              executor.outFields.put("commonHeader", commonHeader);
                              executor.outFields.put("actionIdentifiers", actionIdentifiers);
                              executor.outFields.put("payload", payload);
                              returnValue = executor.isTrue;
                              true;
                      - key:
                          name: DeleteSubscriptionPayloadTask
                          version: 0.0.1
                        value:
                          key:
                            name: DeleteSubscriptionPayloadTask
                            version: 0.0.1
                          inputEvent:
                            key:
                              name: PMSubscriptionOutputEvent
                              version: 0.0.1
                            nameSpace: org.onap.policy.apex.onap.pmcontrol
                            source: APEX
                            target: APEX
                            parameter:
                              entry:
                                - key: albumID
                                  value:
                                    key: albumID
                                    fieldSchemaKey:
                                      name: UUIDType
                                      version: 0.0.1
                                    optional: false
                          outputEvents:
                            entry:
                              - key: DeleteSubscriptionPayloadEvent
                                value:
                                  key:
                                    name: DeleteSubscriptionPayloadEvent
                                    version: 0.0.1
                                  nameSpace: org.onap.policy.apex.onap.pmcontrol
                                  source: APEX
                                  target: APEX
                                  parameter:
                                    entry:
                                      - key: albumID
                                        value:
                                          key: albumID
                                          fieldSchemaKey:
                                            name: UUIDType
                                            version: 0.0.1
                                          optional: false
                                      - key: payload
                                        value:
                                          key: payload
                                          fieldSchemaKey:
                                            name: CDSDeleteSubscriptionPayloadType
                                            version: 0.0.1
                                          optional: false
                          taskParameters:
                            entry: [ ]
                          contextAlbumReference:
                            - name: PMSubscriptionAlbum
                              version: 0.0.1
                          taskLogic:
                            key: TaskLogic
                            logicFlavour: JAVASCRIPT
                            logic: |-
                              /*
                               * ============LICENSE_START=======================================================
                               *  Copyright (C) 2020 Nordix. All rights reserved.
                               * ================================================================================
                               * Licensed under the Apache License, Version 2.0 (the "License");
                               * you may not use this file except in compliance with the License.
                               * You may obtain a copy of the License at
                               *
                               *      http://www.apache.org/licenses/LICENSE-2.0
                               *
                               * Unless required by applicable law or agreed to in writing, software
                               * distributed under the License is distributed on an "AS IS" BASIS,
                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                               * See the License for the specific language governing permissions and
                               * limitations under the License.
                               *
                               * SPDX-License-Identifier: Apache-2.0
                               * ============LICENSE_END=========================================================
                               */
                              executor.logger.info(executor.subject.id);
                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
                              var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
                              var payloadProperties = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance(changeType + "_DasH_subscription_DasH_properties_record");
                              payloadProperties.put("nfName",  pmSubscriptionInfo.get("nfName"))
                              payloadProperties.put("ipAddress", pmSubscriptionInfo.get("ipAddress"))
                              if ("create".equals(changeType)) {
                                  payloadProperties.put("subscriptionName",  pmSubscriptionInfo.get("subscription").get("subscriptionName"))
                                  payloadProperties.put("fileBasedGP",  pmSubscriptionInfo.get("subscription").get("fileBasedGP").toString())
                                  payloadProperties.put("fileLocation", pmSubscriptionInfo.get("subscription").get("fileLocation"))
                                  payloadProperties.put("measurementGroup", pmSubscriptionInfo.get("subscription").get("measurementGroup"))
                              }
                              else if ("delete".equals(changeType)) {
                                  payloadProperties.put("subscriptionName", pmSubscriptionInfo.get("subscriptionName"))
                                  payloadProperties.put("measurementGroupName", pmSubscriptionInfo.get("measurementGroupName"))
                              }
                              var payloadEntry = executor.subject.getOutFieldSchemaHelper("payload").createNewSubInstance("CDSRequestPayloadEntry");
                              payloadEntry.put(changeType + "_DasH_subscription_DasH_properties", payloadProperties)
                              var payload = executor.subject.getOutFieldSchemaHelper("payload").createNewInstance();
                              payload.put(changeType + "_DasH_subscription_DasH_request", payloadEntry);
                              executor.outFields.put("albumID", executor.inFields.get("albumID"))
                              executor.outFields.put("payload", payload);
                              returnValue = executor.isTrue;
                              true;
                      - key:
                          name: DeleteSubscriptionRequestTask
                          version: 0.0.1
                        value:
                          key:
                            name: DeleteSubscriptionRequestTask
                            version: 0.0.1
                          inputEvent:
                            key:
                              name: DeleteSubscriptionPayloadEvent
                              version: 0.0.1
                            nameSpace: org.onap.policy.apex.onap.pmcontrol
                            source: APEX
                            target: APEX
                            parameter:
                              entry:
                                - key: albumID
                                  value:
                                    key: albumID
                                    fieldSchemaKey:
                                      name: UUIDType
                                      version: 0.0.1
                                    optional: false
                                - key: payload
                                  value:
                                    key: payload
                                    fieldSchemaKey:
                                      name: CDSDeleteSubscriptionPayloadType
                                      version: 0.0.1
                                    optional: false
                          outputEvents:
                            entry:
                              - key: CDSDeleteSubscriptionRequestEvent
                                value:
                                  key:
                                    name: CDSDeleteSubscriptionRequestEvent
                                    version: 0.0.1
                                  nameSpace: org.onap.policy.apex.onap.pmcontrol
                                  source: APEX
                                  target: APEX
                                  parameter:
                                    entry:
                                      - key: actionIdentifiers
                                        value:
                                          key: actionIdentifiers
                                          fieldSchemaKey:
                                            name: CDSActionIdentifiersType
                                            version: 0.0.1
                                          optional: false
                                      - key: commonHeader
                                        value:
                                          key: commonHeader
                                          fieldSchemaKey:
                                            name: CDSRequestCommonHeaderType
                                            version: 0.0.1
                                          optional: false
                                      - key: payload
                                        value:
                                          key: payload
                                          fieldSchemaKey:
                                            name: CDSDeleteSubscriptionPayloadType
                                            version: 0.0.1
                                          optional: false
                          taskParameters:
                            entry: [ ]
                          contextAlbumReference:
                            - name: PMSubscriptionAlbum
                              version: 0.0.1
                          taskLogic:
                            key: TaskLogic
                            logicFlavour: JAVASCRIPT
                            logic: |-
                              /*
                               * ============LICENSE_START=======================================================
                               *  Copyright (C) 2020 Nordix. All rights reserved.
                               * ================================================================================
                               * Licensed under the Apache License, Version 2.0 (the "License");
                               * you may not use this file except in compliance with the License.
                               * You may obtain a copy of the License at
                               *
                               *      http://www.apache.org/licenses/LICENSE-2.0
                               *
                               * Unless required by applicable law or agreed to in writing, software
                               * distributed under the License is distributed on an "AS IS" BASIS,
                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                               * See the License for the specific language governing permissions and
                               * limitations under the License.
                               *
                               * SPDX-License-Identifier: Apache-2.0
                               * ============LICENSE_END=========================================================
                               */
                              executor.logger.info(executor.subject.id);
                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").get(executor.inFields.get("albumID").toString())
                              executor.logger.info(pmSubscriptionInfo)
                              var changeType = pmSubscriptionInfo.get("changeType").toLowerCase()
                              var blueprintName = pmSubscriptionInfo.get("blueprintName").toLowerCase()
                              var blueprintVersion = pmSubscriptionInfo.get("blueprintVersion").toLowerCase()
                              var payload = executor.inFields.get("payload")
                              var actionName = changeType + "-subscription"
                              var commonHeader = executor.subject.getOutFieldSchemaHelper("commonHeader").createNewInstance();
                              commonHeader.put("originatorId", "sdnc");
                              commonHeader.put("requestId", executor.inFields.get("albumID").toString());
                              commonHeader.put("subRequestId", "sub-123456-1000");
                              var actionIdentifiers = executor.subject.getOutFieldSchemaHelper("actionIdentifiers").createNewInstance();
                              actionIdentifiers.put("actionName", actionName);
                              actionIdentifiers.put("blueprintName", blueprintName);
                              actionIdentifiers.put("blueprintVersion", blueprintVersion);
                              actionIdentifiers.put("mode", "sync");
                              executor.outFields.put("commonHeader", commonHeader);
                              executor.outFields.put("actionIdentifiers", actionIdentifiers);
                              executor.outFields.put("payload", payload);
                              returnValue = executor.isTrue;
                              true;
                      - key:
                          name: ReceiveSubscriptionTask
                          version: 0.0.1
                        value:
                          key:
                            name: ReceiveSubscriptionTask
                            version: 0.0.1
                          inputEvent:
                            key:
                              name: pmsh-operational-policy
                              version: 0.0.1
                            nameSpace: org.onap.policy.apex.onap.pmcontrol
                            source: DCAE
                            target: APEX
                            parameter:
                              entry:
                                - key: blueprintName
                                  value:
                                    key: blueprintName
                                    fieldSchemaKey:
                                      name: SimpleStringType
                                      version: 0.0.1
                                    optional: false
                                - key: blueprintVersion
                                  value:
                                    key: blueprintVersion
                                    fieldSchemaKey:
                                      name: SimpleStringType
                                      version: 0.0.1
                                    optional: false
                                - key: changeType
                                  value:
                                    key: changeType
                                    fieldSchemaKey:
                                      name: SimpleStringType
                                      version: 0.0.1
                                    optional: false
                                - key: controlLoopName
                                  value:
                                    key: controlLoopName
                                    fieldSchemaKey:
                                      name: SimpleStringType
                                      version: 0.0.1
                                    optional: false
                                - key: ipAddress
                                  value:
                                    key: ipAddress
                                    fieldSchemaKey:
                                      name: SimpleStringType
                                      version: 0.0.1
                                    optional: false
                                - key: measurementGroupName
                                  value:
                                    key: measurementGroupName
                                    fieldSchemaKey:
                                      name: SimpleStringType
                                      version: 0.0.1
                                    optional: true
                                - key: nfName
                                  value:
                                    key: nfName
                                    fieldSchemaKey:
                                      name: SimpleStringType
                                      version: 0.0.1
                                    optional: false
                                - key: operationalPolicyName
                                  value:
                                    key: operationalPolicyName
                                    fieldSchemaKey:
                                      name: SimpleStringType
                                      version: 0.0.1
                                    optional: false
                                - key: subscription
                                  value:
                                    key: subscription
                                    fieldSchemaKey:
                                      name: SubscriptionType
                                      version: 0.0.1
                                    optional: true
                                - key: subscriptionName
                                  value:
                                    key: subscriptionName
                                    fieldSchemaKey:
                                      name: SimpleStringType
                                      version: 0.0.1
                                    optional: true
                          outputEvents:
                            entry:
                              - key: PMSubscriptionOutputEvent
                                value:
                                  key:
                                    name: PMSubscriptionOutputEvent
                                    version: 0.0.1
                                  nameSpace: org.onap.policy.apex.onap.pmcontrol
                                  source: APEX
                                  target: APEX
                                  parameter:
                                    entry:
                                      - key: albumID
                                        value:
                                          key: albumID
                                          fieldSchemaKey:
                                            name: UUIDType
                                            version: 0.0.1
                                          optional: false
                          taskParameters:
                            entry: [ ]
                          contextAlbumReference:
                            - name: PMSubscriptionAlbum
                              version: 0.0.1
                          taskLogic:
                            key: TaskLogic
                            logicFlavour: JAVASCRIPT
                            logic: |-
                              /*
                               * ============LICENSE_START=======================================================
                               *  Copyright (C) 2020 Nordix. All rights reserved.
                               * ================================================================================
                               * Licensed under the Apache License, Version 2.0 (the "License");
                               * you may not use this file except in compliance with the License.
                               * You may obtain a copy of the License at
                               *
                               *      http://www.apache.org/licenses/LICENSE-2.0
                               *
                               * Unless required by applicable law or agreed to in writing, software
                               * distributed under the License is distributed on an "AS IS" BASIS,
                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                               * See the License for the specific language governing permissions and
                               * limitations under the License.
                               *
                               * SPDX-License-Identifier: Apache-2.0
                               * ============LICENSE_END=========================================================
                               */
                              var uuidType = java.util.UUID;
                              executor.logger.info(executor.subject.id);
                              //albumID will be used to fetch info from our album later
                              var albumID = uuidType.randomUUID();
                              var pmSubscriptionInfo = executor.getContextAlbum("PMSubscriptionAlbum").getSchemaHelper().createNewInstance();
                              var returnValue = true;
                              if(executor.inFields.get("operationalPolicyName") != null) {
                                  executor.logger.info("nfName in receive sub event " + executor.inFields.get("nfName"));
                                  var changeType = executor.inFields.get("changeType")
                                  var nfName = executor.inFields.get("nfName")
                                  var ipAddress = executor.inFields.get("ipAddress")
                                  var operationalPolicyName = executor.inFields.get("operationalPolicyName")
                                  var controlLoopName = executor.inFields.get("controlLoopName")
                                  var subscription = executor.inFields.get("subscription")
                                  var blueprintName = executor.inFields.get("blueprintName")
                                  var blueprintVersion = executor.inFields.get("blueprintVersion")
                                  pmSubscriptionInfo.put("nfName", executor.inFields.get("nfName"));
                                  pmSubscriptionInfo.put("ipAddress", executor.inFields.get("ipAddress"));
                                  pmSubscriptionInfo.put("changeType", executor.inFields.get("changeType"))
                                  pmSubscriptionInfo.put("operationalPolicyName", executor.inFields.get("operationalPolicyName"))
                                  pmSubscriptionInfo.put("controlLoopName", executor.inFields.get("controlLoopName"))
                                  pmSubscriptionInfo.put("subscription", subscription)
                                  pmSubscriptionInfo.put("blueprintName", blueprintName)
                                  pmSubscriptionInfo.put("blueprintVersion", blueprintVersion)
                                  if ("delete".equals(changeType.toLowerCase())) {
                                      pmSubscriptionInfo.put("subscriptionName",  executor.inFields.get("subscriptionName"))
                                      pmSubscriptionInfo.put("measurementGroupName",  executor.inFields.get("measurementGroupName"))
                                  }
                                  executor.getContextAlbum("PMSubscriptionAlbum").put(albumID.toString(), pmSubscriptionInfo);
                                  executor.outFields.put("albumID", albumID)
                              } else {
                                  executor.message = "Received invalid event"
                                  returnValue = false;
                              }
                              returnValue;
                events:
                  key:
                    name: PMControlPolicy_Events
                    version: 0.0.1
                  eventMap:
                    entry:
                      - key:
                          name: CDSCreateResponseEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateResponseEvent
                            version: 0.0.1
                          nameSpace: org.onap.policy.apex.onap.pmcontrol
                          source: CDS
                          target: APEX
                          parameter:
                            entry:
                              - key: actionIdentifiers
                                value:
                                  key: actionIdentifiers
                                  fieldSchemaKey:
                                    name: CDSActionIdentifiersType
                                    version: 0.0.1
                                  optional: false
                              - key: commonHeader
                                value:
                                  key: commonHeader
                                  fieldSchemaKey:
                                    name: CDSResponseCommonHeaderType
                                    version: 0.0.1
                                  optional: false
                              - key: payload
                                value:
                                  key: payload
                                  fieldSchemaKey:
                                    name: CDSCreateResponsePayloadType
                                    version: 0.0.1
                                  optional: false
                              - key: status
                                value:
                                  key: status
                                  fieldSchemaKey:
                                    name: CDSResponseStatusType
                                    version: 0.0.1
                                  optional: false
                      - key:
                          name: CDSCreateSubscriptionRequestEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateSubscriptionRequestEvent
                            version: 0.0.1
                          nameSpace: org.onap.policy.apex.onap.pmcontrol
                          source: APEX
                          target: APEX
                          parameter:
                            entry:
                              - key: actionIdentifiers
                                value:
                                  key: actionIdentifiers
                                  fieldSchemaKey:
                                    name: CDSActionIdentifiersType
                                    version: 0.0.1
                                  optional: false
                              - key: commonHeader
                                value:
                                  key: commonHeader
                                  fieldSchemaKey:
                                    name: CDSRequestCommonHeaderType
                                    version: 0.0.1
                                  optional: false
                              - key: payload
                                value:
                                  key: payload
                                  fieldSchemaKey:
                                    name: CDSCreateSubscriptionPayloadType
                                    version: 0.0.1
                                  optional: false
                      - key:
                          name: CDSDeleteResponseEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteResponseEvent
                            version: 0.0.1
                          nameSpace: org.onap.policy.apex.onap.pmcontrol
                          source: CDS
                          target: APEX
                          parameter:
                            entry:
                              - key: actionIdentifiers
                                value:
                                  key: actionIdentifiers
                                  fieldSchemaKey:
                                    name: CDSActionIdentifiersType
                                    version: 0.0.1
                                  optional: false
                              - key: commonHeader
                                value:
                                  key: commonHeader
                                  fieldSchemaKey:
                                    name: CDSResponseCommonHeaderType
                                    version: 0.0.1
                                  optional: false
                              - key: payload
                                value:
                                  key: payload
                                  fieldSchemaKey:
                                    name: CDSDeleteResponsePayloadType
                                    version: 0.0.1
                                  optional: false
                              - key: status
                                value:
                                  key: status
                                  fieldSchemaKey:
                                    name: CDSResponseStatusType
                                    version: 0.0.1
                                  optional: false
                      - key:
                          name: CDSDeleteSubscriptionRequestEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteSubscriptionRequestEvent
                            version: 0.0.1
                          nameSpace: org.onap.policy.apex.onap.pmcontrol
                          source: APEX
                          target: APEX
                          parameter:
                            entry:
                              - key: actionIdentifiers
                                value:
                                  key: actionIdentifiers
                                  fieldSchemaKey:
                                    name: CDSActionIdentifiersType
                                    version: 0.0.1
                                  optional: false
                              - key: commonHeader
                                value:
                                  key: commonHeader
                                  fieldSchemaKey:
                                    name: CDSRequestCommonHeaderType
                                    version: 0.0.1
                                  optional: false
                              - key: payload
                                value:
                                  key: payload
                                  fieldSchemaKey:
                                    name: CDSDeleteSubscriptionPayloadType
                                    version: 0.0.1
                                  optional: false
                      - key:
                          name: CDSResponseStatusEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CDSResponseStatusEvent
                            version: 0.0.1
                          nameSpace: org.onap.policy.apex.onap.pmcontrol
                          source: APEX
                          target: DCAE
                          parameter:
                            entry:
                              - key: status
                                value:
                                  key: status
                                  fieldSchemaKey:
                                    name: SubscriptionStatusType
                                    version: 0.0.1
                                  optional: false
                      - key:
                          name: CreateSubscriptionPayloadEvent
                          version: 0.0.1
                        value:
                          key:
                            name: CreateSubscriptionPayloadEvent
                            version: 0.0.1
                          nameSpace: org.onap.policy.apex.onap.pmcontrol
                          source: APEX
                          target: APEX
                          parameter:
                            entry:
                              - key: albumID
                                value:
                                  key: albumID
                                  fieldSchemaKey:
                                    name: UUIDType
                                    version: 0.0.1
                                  optional: false
                              - key: payload
                                value:
                                  key: payload
                                  fieldSchemaKey:
                                    name: CDSCreateSubscriptionPayloadType
                                    version: 0.0.1
                                  optional: false
                      - key:
                          name: DeleteSubscriptionPayloadEvent
                          version: 0.0.1
                        value:
                          key:
                            name: DeleteSubscriptionPayloadEvent
                            version: 0.0.1
                          nameSpace: org.onap.policy.apex.onap.pmcontrol
                          source: APEX
                          target: APEX
                          parameter:
                            entry:
                              - key: albumID
                                value:
                                  key: albumID
                                  fieldSchemaKey:
                                    name: UUIDType
                                    version: 0.0.1
                                  optional: false
                              - key: payload
                                value:
                                  key: payload
                                  fieldSchemaKey:
                                    name: CDSDeleteSubscriptionPayloadType
                                    version: 0.0.1
                                  optional: false
                      - key:
                          name: MRResponseEvent
                          version: 0.0.1
                        value:
                          key:
                            name: MRResponseEvent
                            version: 0.0.1
                          nameSpace: org.onap.policy.apex.onap.pmcontrol
                          source: DCAE
                          target: APEX
                          parameter:
                            entry:
                              - key: count
                                value:
                                  key: count
                                  fieldSchemaKey:
                                    name: SimpleIntType
                                    version: 0.0.1
                                  optional: false
                              - key: serverTimeMs
                                value:
                                  key: serverTimeMs
                                  fieldSchemaKey:
                                    name: SimpleIntType
                                    version: 0.0.1
                                  optional: false
                      - key:
                          name: PMSubscriptionOutputEvent
                          version: 0.0.1
                        value:
                          key:
                            name: PMSubscriptionOutputEvent
                            version: 0.0.1
                          nameSpace: org.onap.policy.apex.onap.pmcontrol
                          source: APEX
                          target: APEX
                          parameter:
                            entry:
                              - key: albumID
                                value:
                                  key: albumID
                                  fieldSchemaKey:
                                    name: UUIDType
                                    version: 0.0.1
                                  optional: false
                      - key:
                          name: pmsh-operational-policy
                          version: 0.0.1
                        value:
                          key:
                            name: pmsh-operational-policy
                            version: 0.0.1
                          nameSpace: org.onap.policy.apex.onap.pmcontrol
                          source: DCAE
                          target: APEX
                          parameter:
                            entry:
                              - key: blueprintName
                                value:
                                  key: blueprintName
                                  fieldSchemaKey:
                                    name: SimpleStringType
                                    version: 0.0.1
                                  optional: false
                              - key: blueprintVersion
                                value:
                                  key: blueprintVersion
                                  fieldSchemaKey:
                                    name: SimpleStringType
                                    version: 0.0.1
                                  optional: false
                              - key: changeType
                                value:
                                  key: changeType
                                  fieldSchemaKey:
                                    name: SimpleStringType
                                    version: 0.0.1
                                  optional: false
                              - key: controlLoopName
                                value:
                                  key: controlLoopName
                                  fieldSchemaKey:
                                    name: SimpleStringType
                                    version: 0.0.1
                                  optional: false
                              - key: ipAddress
                                value:
                                  key: ipAddress
                                  fieldSchemaKey:
                                    name: SimpleStringType
                                    version: 0.0.1
                                  optional: false
                              - key: measurementGroupName
                                value:
                                  key: measurementGroupName
                                  fieldSchemaKey:
                                    name: SimpleStringType
                                    version: 0.0.1
                                  optional: true
                              - key: nfName
                                value:
                                  key: nfName
                                  fieldSchemaKey:
                                    name: SimpleStringType
                                    version: 0.0.1
                                  optional: false
                              - key: operationalPolicyName
                                value:
                                  key: operationalPolicyName
                                  fieldSchemaKey:
                                    name: SimpleStringType
                                    version: 0.0.1
                                  optional: false
                              - key: subscription
                                value:
                                  key: subscription
                                  fieldSchemaKey:
                                    name: SubscriptionType
                                    version: 0.0.1
                                  optional: true
                              - key: subscriptionName
                                value:
                                  key: subscriptionName
                                  fieldSchemaKey:
                                    name: SimpleStringType
                                    version: 0.0.1
                                  optional: true
                albums:
                  key:
                    name: PMControlPolicy_Albums
                    version: 0.0.1
                  albums:
                    entry:
                      - key:
                          name: PMSubscriptionAlbum
                          version: 0.0.1
                        value:
                          key:
                            name: PMSubscriptionAlbum
                            version: 0.0.1
                          scope: policy
                          isWritable: true
                          itemSchema:
                            name: PMSubscriptionType
                            version: 0.0.1
                schemas:
                  key:
                    name: PMControlPolicy_Schemas
                    version: 0.0.1
                  schemas:
                    entry:
                      - key:
                          name: CDSActionIdentifiersType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSActionIdentifiersType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                                "type": "record",
                                "name": "ActionIdentifiers_Type",
                                "namespace": "org.onap.policy.apex.onap.helloworld",
                                "fields": [
                                    {
                                        "name": "actionName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "blueprintName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "blueprintVersion",
                                        "type": "string"
                                    },
                                    {
                                        "name": "mode",
                                        "type": "string"
                                    }
                                ]
                            }
                      - key:
                          name: CDSCreateResponsePayloadType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateResponsePayloadType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                              "name": "CreateResponsePayloadEntry",
                              "type": "record",
                              "namespace": "com.acme.avro",
                              "fields": [
                                {
                                  "name": "create_DasH_subscription_DasH_response",
                                  "type": {
                                    "name": "create_DasH_subscription_DasH_response",
                                    "type": "record",
                                    "fields": [
                                      {
                                        "name": "odl_DasH_response",
                                        "type": {
                                          "name": "odl_DasH_response",
                                          "type": "record",
                                          "fields": [
                                              {
                                                "name": "status",
                                                "type": "string"
                                              }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                      - key:
                          name: CDSCreateSubscriptionPayloadType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSCreateSubscriptionPayloadType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                               "type":"map",
                               "values":{
                                  "type":"record",
                                  "name":"CDSRequestPayloadEntry",
                                  "fields":[
                                     {
                                        "name":"create_DasH_subscription_DasH_properties",
                                        "type":{
                                           "name":"create_DasH_subscription_DasH_properties_record",
                                           "type":"record",
                                           "fields":[
                                              {
                                                 "name":"nfName",
                                                 "type":"string"
                                              },
                                              {
                                                 "name":"ipAddress",
                                                 "type":"string"
                                              },
                                              {
                                                 "name":"subscriptionName",
                                                 "type":"string"
                                              },
                                              {
                                                 "name":"fileBasedGP",
                                                 "type":"string"
                                              },
                                              {
                                                 "name":"fileLocation",
                                                 "type":"string"
                                              },
                                              {
                                                 "name":"measurementGroup",
                                                 "type":{
                                                    "name":"Measurement_Group_Type",
                                                    "type":"record",
                                                    "fields":[
                                                       {
                                                          "name":"measurementGroupName",
                                                          "type":"string"
                                                       },
                                                       {
                                                          "name":"measurementTypes",
                                                          "type":{
                                                             "type":"array",
                                                             "items":{
                                                                "name":"Measurement_Types_Type",
                                                                "type":"record",
                                                                "fields":[
                                                                   {
                                                                      "name":"measurementType",
                                                                      "type":"string"
                                                                   }
                                                                ]
                                                             }
                                                          }
                                                       },
                                                       {
                                                          "name":"managedObjectDNsBasic",
                                                          "type":{
                                                             "type":"array",
                                                             "items":{
                                                                "name":"Managed_Object_Dns_Basic_Type",
                                                                "type":"record",
                                                                "fields":[
                                                                   {
                                                                      "name":"DN",
                                                                      "type":"string"
                                                                   }
                                                                ]
                                                             }
                                                          }
                                                       }
                                                    ]
                                                 }
                                              }
                                           ]
                                        }
                                     }
                                  ]
                               }
                            }
                      - key:
                          name: CDSDeleteResponsePayloadType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteResponsePayloadType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                              "name": "DeleteResponsePayloadEntry",
                              "type": "record",
                              "namespace": "com.acme.avro",
                              "fields": [
                                {
                                  "name": "delete_DasH_subscription_DasH_response",
                                  "type": {
                                    "name": "delete_DasH_subscription_DasH_response",
                                    "type": "record",
                                    "fields": [
                                      {
                                        "name": "odl_DasH_response",
                                        "type": {
                                          "name": "odl_DasH_response",
                                          "type": "record",
                                          "fields": [
                                              {
                                                "name": "status",
                                                "type": "string"
                                              }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                      - key:
                          name: CDSDeleteSubscriptionPayloadType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSDeleteSubscriptionPayloadType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                               "type":"map",
                               "values":{
                                  "type":"record",
                                  "name":"CDSRequestPayloadEntry",
                                  "fields":[
                                     {
                                        "name":"delete_DasH_subscription_DasH_properties",
                                        "type":{
                                           "name":"delete_DasH_subscription_DasH_properties_record",
                                           "type":"record",
                                           "fields":[
                                              {
                                                 "name":"nfName",
                                                 "type":"string"
                                              },
                                              {
                                                 "name":"ipAddress",
                                                 "type":"string"
                                              },
                                              {
                                                 "name":"subscriptionName",
                                                 "type":"string"
                                              },
                                              {
                                                 "name":"measurementGroupName",
                                                 "type":"string"
                                              }
                                           ]
                                        }
                                     }
                                  ]
                               }
                            }
                      - key:
                          name: CDSRequestCommonHeaderType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSRequestCommonHeaderType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                                "type": "record",
                                "name": "RequestCommonHeader_Type",
                                "namespace": "org.onap.policy.apex.onap.helloworld",
                                "fields": [
                                    {
                                        "name": "originatorId",
                                        "type": "string"
                                    },
                                    {
                                        "name": "requestId",
                                        "type": "string"
                                    },
                                    {
                                        "name": "subRequestId",
                                        "type": "string"
                                    }
                                ]
                            }
                      - key:
                          name: CDSResponseCommonHeaderType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSResponseCommonHeaderType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                                "type": "record",
                                "name": "ResponseCommonHeader_Type",
                                "namespace": "org.onap.policy.apex.onap.helloworld",
                                "fields": [
                                    {
                                        "name": "originatorId",
                                        "type": "string"
                                    },
                                    {
                                        "name": "requestId",
                                        "type": "string"
                                    },
                                    {
                                        "name": "subRequestId",
                                        "type": "string"
                                    },
                                    {
                                        "name": "timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "name": "flags",
                                        "type": ["null", "string"]
                                    }
                                ]
                            }
                      - key:
                          name: CDSResponseStatusType
                          version: 0.0.1
                        value:
                          key:
                            name: CDSResponseStatusType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                                "type": "record",
                                "name": "ResponseStatus_Type",
                                "namespace": "org.onap.policy.apex.onap.helloworld",
                                "fields": [
                                    {
                                        "name": "code",
                                        "type": "int"
                                    },
                                    {
                                        "name": "eventType",
                                        "type": "string"
                                    },
                                    {
                                        "name": "timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "name": "message",
                                        "type": "string"
                                    }
                                ]
                            }
                      - key:
                          name: PMSubscriptionType
                          version: 0.0.1
                        value:
                          key:
                            name: PMSubscriptionType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                                "name": "PMSubscription",
                                "type": "record",
                                "namespace": "org.onap.policy.apex.onap.pmcontrol",
                                "fields": [
                                    {
                                        "name": "nfName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "ipAddress",
                                        "type": "string"
                                    },
                                    {
                                        "name": "changeType",
                                        "type": "string"
                                    },
                                    {
                                        "name": "controlLoopName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "operationalPolicyName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "blueprintName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "blueprintVersion",
                                        "type": "string"
                                    },
                                    {
                                        "name": "subscriptionName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "measurementGroupName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "subscription",
                                        "type": {
                                            "name": "subscription",
                                            "type": "record",
                                            "fields": [
                                                {
                                                    "name": "subscriptionName",
                                                    "type": "string"
                                                },
                                                {
                                                    "name": "fileBasedGP",
                                                    "type": "int"
                                                },
                                                {
                                                    "name": "fileLocation",
                                                    "type": "string"
                                                },
                                                {
                                                    "name": "measurementGroup",
                                                    "type": {
                                                        "name": "Measurement_Group_Type",
                                                        "type": "record",
                                                        "fields": [
                                                            {
                                                                "name": "measurementGroupName",
                                                                "type": "string"
                                                            },
                                                            {
                                                                "name": "measurementTypes",
                                                                "type": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "name": "Measurement_Types_Type",
                                                                        "type": "record",
                                                                        "fields": [
                                                                            {
                                                                                "name": "measurementType",
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    }
                                                                }
                                                            },
                                                            {
                                                                "name": "managedObjectDNsBasic",
                                                                "type": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "name": "Managed_Object_Dns_Basic_Type",
                                                                        "type": "record",
                                                                        "fields": [
                                                                            {
                                                                                "name": "DN",
                                                                                "type": "string"
                                                                            }
                                                                        ]
                                                                    }
                                                                }
                                                            }
                                                        ]
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                ]
                            }
                      - key:
                          name: SimpleIntType
                          version: 0.0.1
                        value:
                          key:
                            name: SimpleIntType
                            version: 0.0.1
                          schemaFlavour: Java
                          schemaDefinition: java.lang.Integer
                      - key:
                          name: SimpleStringType
                          version: 0.0.1
                        value:
                          key:
                            name: SimpleStringType
                            version: 0.0.1
                          schemaFlavour: Java
                          schemaDefinition: java.lang.String
                      - key:
                          name: SubscriptionStatusType
                          version: 0.0.1
                        value:
                          key:
                            name: SubscriptionStatusType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                                "type": "record",
                                "name": "ActivateSubscriptionStatus_Type",
                                "namespace": "org.onap.policy.apex.onap.helloworld",
                                "fields": [
                                    {
                                        "name": "subscriptionName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "measurementGroupName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "nfName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "changeType",
                                        "type": "string"
                                    },
                                    {
                                        "name": "message",
                                        "type": "string"
                                    }
                                ]
                            }
                      - key:
                          name: SubscriptionType
                          version: 0.0.1
                        value:
                          key:
                            name: SubscriptionType
                            version: 0.0.1
                          schemaFlavour: Avro
                          schemaDefinition: |-
                            {
                                "name": "subscription",
                                "type": "record",
                                "default": "null",
                                "fields": [
                                    {
                                        "name": "subscriptionName",
                                        "type": "string"
                                    },
                                    {
                                        "name": "fileBasedGP",
                                        "type": "int"
                                    },
                                    {
                                        "name": "fileLocation",
                                        "type": "string"
                                    },
                                    {
                                        "name": "measurementGroup",
                                        "type": {
                                            "name": "Measurement_Group_Type",
                                            "type": "record",
                                            "fields": [
                                                {
                                                    "name": "measurementGroupName",
                                                    "type": "string"
                                                },
                                                {
                                                    "name": "measurementTypes",
                                                    "type": {
                                                        "type": "array",
                                                        "items": {
                                                            "name": "Measurement_Types_Type",
                                                            "type": "record",
                                                            "fields": [
                                                                {
                                                                    "name": "measurementType",
                                                                    "type": "string"
                                                                }
                                                            ]
                                                        }
                                                    }
                                                },
                                                {
                                                    "name": "managedObjectDNsBasic",
                                                    "type": {
                                                        "type": "array",
                                                        "items": {
                                                            "name": "Managed_Object_Dns_Basic_Type",
                                                            "type": "record",
                                                            "fields": [
                                                                {
                                                                    "name": "DN",
                                                                    "type": "string"
                                                                }
                                                            ]
                                                        }
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                ]
                            }
                      - key:
                          name: UUIDType
                          version: 0.0.1
                        value:
                          key:
                            name: UUIDType
                            version: 0.0.1
                          schemaFlavour: Java
                          schemaDefinition: java.util.UUID
          eventInputParameters:
            DCAEConsumer:
              carrierTechnologyParameters:
                carrierTechnology: RESTCLIENT
                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
                parameters:
                  consumerPollTime: '50'
                  url: https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/sg1
              eventProtocolParameters:
                eventProtocol: JSON
                parameters:
                  nameAlias: operationalPolicyName
              eventName: pmsh-operational-policy
              eventNameFilter: pmsh-operational-policy
            CDSRequestConsumer:
              carrierTechnologyParameters:
                carrierTechnology: RESTREQUESTOR
                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
                parameters:
                  url: http://cds-blueprints-processor-http:8080/api/v1/execution-service/process
                  httpMethod: POST
                  restRequestTimeout: 2000
                  httpHeaders:
                    - - Authorization
                      - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
              eventProtocolParameters:
                eventProtocol: JSON
              eventName: CDSCreateResponseEvent
              eventNameFilter: CDSCreateResponseEvent
              requestorMode: true
              requestorPeer: CDSRequestProducer
              requestorTimeout: 500
            CDSDeleteRequestConsumer:
              carrierTechnologyParameters:
                carrierTechnology: RESTREQUESTOR
                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
                parameters:
                  url: http://cds-blueprints-processor-http:8080/api/v1/execution-service/process
                  httpMethod: POST
                  restRequestTimeout: 2000
                  httpHeaders:
                    - - Authorization
                      - Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
              eventProtocolParameters:
                eventProtocol: JSON
              eventName: CDSDeleteResponseEvent
              eventNameFilter: CDSDeleteResponseEvent
              requestorMode: true
              requestorPeer: CDSDeleteRequestProducer
              requestorTimeout: 500
          eventOutputParameters:
            logOutputter:
              carrierTechnologyParameters:
                carrierTechnology: FILE
                parameters:
                  standardIo: true
              eventProtocolParameters:
                eventProtocol: JSON
            StdOutOutputter:
              carrierTechnologyParameters:
                carrierTechnology: FILE
                parameters:
                  standardIo: true
              eventProtocolParameters:
                eventProtocol: JSON
            CDSRequestProducer:
              carrierTechnologyParameters:
                carrierTechnology: RESTREQUESTOR
                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
              eventProtocolParameters:
                eventProtocol: JSON
              eventNameFilter: CDSCreateSubscriptionRequestEvent
              requestorMode: true
              requestorPeer: CDSRequestConsumer
              requestorTimeout: 500
            CDSDeleteRequestProducer:
              carrierTechnologyParameters:
                carrierTechnology: RESTREQUESTOR
                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restrequestor.RestRequestorCarrierTechnologyParameters
              eventProtocolParameters:
                eventProtocol: JSON
              eventNameFilter: CDSDeleteSubscriptionRequestEvent
              requestorMode: true
              requestorPeer: CDSDeleteRequestConsumer
              requestorTimeout: 500
            CDSReplyProducer:
              carrierTechnologyParameters:
                carrierTechnology: RESTCLIENT
                parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
                parameters:
                  url: https://message-router:3905/events/unauthenticated.PMSH_CL_INPUT
                  httpMethod: POST
                  restRequestTimeout: 2000
              eventProtocolParameters:
                eventProtocol: JSON
              eventNameFilter: CDSResponseStatusEvent