Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languageyml
titlecommission.yaml
linenumberstrue
collapsetrue
tosca_definitions_version: tosca_simple_yaml_1_1_0
data_types:
  onap.datatypes.ToscaConceptIdentifier:
    derived_from: tosca.datatypes.Root
    properties:
      name:
        type: string
        required: true
      version:
        type: string
        required: true
  onap.datatype.controlloop.Target:
    derived_from: tosca.datatypes.Root
    description: Definition for a entity in A&AI to perform a control loop operation on
    properties:
      targetType:
        type: string
        description: Category for the target type
        required: true
        constraints:
        - valid_values:
          - VNF
          - VM
          - VFMODULE
          - PNF
      entityIds:
        type: map
        description: |
          Map of values that identify the resource. If none are provided, it is assumed that the
          entity that generated the ONSET event will be the target.
        required: false
        metadata:
          clamp_possible_values: ClampExecution:CSAR_RESOURCES
        entry_schema:
          type: string
  onap.datatype.controlloop.Actor:
    derived_from: tosca.datatypes.Root
    description: An actor/operation/target definition
    properties:
      actor:
        type: string
        description: The actor performing the operation.
        required: true
        metadata:
          clamp_possible_values: Dictionary:DefaultActors,ClampExecution:CDS/actor
      operation:
        type: string
        description: The operation the actor is performing.
        metadata:
          clamp_possible_values: Dictionary:DefaultOperations,ClampExecution:CDS/operation
        required: true
      target:
        type: onap.datatype.controlloop.Target
        description: The resource the operation should be performed on.
        required: true
      payload:
        type: map
        description: Name/value pairs of payload information passed by Policy to the actor
        required: false
        metadata:
          clamp_possible_values: ClampExecution:CDS/payload
        entry_schema:
          type: string
  onap.datatype.controlloop.Operation:
    derived_from: tosca.datatypes.Root
    description: An operation supported by an actor
    properties:
      id:
        type: string
        description: Unique identifier for the operation
        required: true
      description:
        type: string
        description: A user-friendly description of the intent for the operation
        required: false
      operation:
        type: onap.datatype.controlloop.Actor
        description: The definition of the operation to be performed.
        required: true
      timeout:
        type: integer
        description: The amount of time for the actor to perform the operation.
        required: true
      retries:
        type: integer
        description: The number of retries the actor should attempt to perform the operation.
        required: true
        default: 0
      success:
        type: string
        description: Points to the operation to invoke on success. A value of "final_success" indicates and end to the operation.
        required: false
        default: final_success
      failure:
        type: string
        description: Points to the operation to invoke on Actor operation failure.
        required: false
        default: final_failure
      failure_timeout:
        type: string
        description: Points to the operation to invoke when the time out for the operation occurs.
        required: false
        default: final_failure_timeout
      failure_retries:
        type: string
        description: Points to the operation to invoke when the current operation has exceeded its max retries.
        required: false
        default: final_failure_retries
      failure_exception:
        type: string
        description: Points to the operation to invoke when the current operation causes an exception.
        required: false
        default: final_failure_exception
      failure_guard:
        type: string
        description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.
        required: false
        default: final_failure_guard
policy_types:
  onap.policies.controlloop.operational.Common:
    derived_from: tosca.policies.Root
    version: 1.0.0
    name: onap.policies.controlloop.operational.Common
    description: |
      Operational Policy for Control Loop execution. Originated in Frankfurt to support TOSCA Compliant
      Policy Types. This does NOT support the legacy Policy YAML policy type.
    properties:
      id:
        type: string
        description: The unique control loop id.
        required: true
      timeout:
        type: integer
        description: |
          Overall timeout for executing all the operations. This timeout should equal or exceed the total
          timeout for each operation listed.
        required: true
      abatement:
        type: boolean
        description: Whether an abatement event message will be expected for the control loop from DCAE.
        required: true
        default: false
      trigger:
        type: string
        description: Initial operation to execute upon receiving an Onset event message for the Control Loop.
        required: true
      operations:
        type: list
        description: List of operations to be performed when Control Loop is triggered.
        required: true
        entry_schema:
          type: onap.datatype.controlloop.Operation
  onap.policies.controlloop.operational.common.Apex:
    derived_from: onap.policies.controlloop.operational.Common
    type_version: 1.0.0
    version: 1.0.0
    name: onap.policies.controlloop.operational.common.Apex
    description: Operational policies for Apex PDP
    properties:
      engineServiceParameters:
        type: string
        description: The engine parameters like name, instanceCount, policy implementation, parameters etc.
        required: true
      eventInputParameters:
        type: string
        description: The event input parameters.
        required: true
      eventOutputParameters:
        type: string
        description: The event output parameters.
        required: true
      javaProperties:
        type: string
        description: Name/value pairs of properties to be set for APEX if needed.
        required: false
node_types:
  org.onap.policy.clamp.controlloop.Participant:
    version: 1.0.1
    derived_from: tosca.nodetypes.Root
    properties:
      provider:
        type: string
        requred: false
  org.onap.policy.clamp.controlloop.ControlLoopElement:
    version: 1.0.1
    derived_from: tosca.nodetypes.Root
    properties:
      provider:
        type: string
        required: false
        metadata:
          common: true
        description: Specifies the organization that provides the control loop element
      participant_id:
        type: onap.datatypes.ToscaConceptIdentifier
        requred: 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 Control Loop Element
      startPhase:
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
        metadata:
          common: true
        description: A value indicating the start phase in which this control loop element will be started, the
          first start phase is zero. Control Loop Elements are started in their start_phase order and stopped
          in reverse start phase order. Control Loop Elements with the same start phase are started and
          stopped simultaneously
      uninitializedToPassiveTimeout:
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
        default: 60
        metadata:
          common: true
        description: The maximum time in seconds to wait for a state chage from uninitialized to passive
      passiveToRunningTimeout:
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
        default: 60
        metadata:
          common: true
        description: The maximum time in seconds to wait for a state chage from passive to running
      runningToPassiveTimeout:
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
        default: 60
        metadata:
          common: true
        description: The maximum time in seconds to wait for a state chage from running to passive
      passiveToUninitializedTimeout:
        type: integer
        required: false
        constraints:
          - greater_or_equal: 0
        default: 60
        metadata:
          common: true
        description: The maximum time in seconds to wait for a state chage from passive to uninitialized
  org.onap.policy.clamp.controlloop.ControlLoop:
    version: 1.0.1
    derived_from: tosca.nodetypes.Root
    properties:
      provider:
        type: string
        required: false
        metadata:
          common: true
        description: Specifies the organization that provides the control loop element
      elements:
        type: list
        required: true
        metadata:
          common: true
        entry_schema:
          type: onap.datatypes.ToscaConceptIdentifier
        description: Specifies a list of control loop element definitions that make up this control loop definition
  org.onap.policy.clamp.controlloop.PolicyControlLoopElement:
    version: 1.0.1
    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
    properties:
      policy_type_id:
        type: onap.datatypes.ToscaConceptIdentifier
        requred: true
      policy_id:
        type: onap.datatypes.ToscaConceptIdentifier
        requred: false
topology_template:
  node_templates:
    org.onap.domain.linkmonitor.LinkMonitorPolicyControlLoopElement:
      version: 1.2.3
      type: org.onap.policy.clamp.controlloop.PolicyControlLoopElement
      type_version: 1.0.1
      description: Control loop element for the Link Monitor
      properties:
        provider: Ericsson
        participant_id:
          name: org.onap.PM_Policy
          version: 1.0.0
        participantType:
          name: org.onap.policy.controlloop.PolicyControlLoopParticipant
          version: 2.3.1
        policy_type_id:
          name: onap.policies.controlloop.operational.common.Apex
          version: 1.0.0
        policy_id:
          name: operational.apex.linkmonitor
          version: 1.0.0 
        pdpGroup: defaultGroup
    org.onap.domain.linkmonitor.LinkMonitorControlLoopDefinition0:
      version: 1.2.3
      type: org.onap.policy.clamp.controlloop.ControlLoop
      type_version: 1.0.0
      description: Control loop for Link Monitor
      properties:
        provider: Ericsson
        elements:
        - name: org.onap.domain.linkmonitor.LinkMonitorPolicyControlLoopElement
          version: 1.2.3
    org.onap.policy.controlloop.PolicyControlLoopParticipant:
      version: 2.3.1
      type: org.onap.policy.clamp.controlloop.Participant
      type_version: 1.0.1
      description: Participant for policy framework
      properties:
        provider: ONAP
  policies:
  - operational.apex.linkmonitor:
      type: onap.policies.controlloop.operational.common.Apex
      type_version: 1.0.0
      version: 1.0.0
      metadata:
        policy-id: operational.apex.linkmonitor
        policy-version: 1.0.0
      properties:
        engineServiceParameters:
          name: LinkMonitorApexEngine
          version: 0.0.1
          id: 101
          instanceCount: 1
          deploymentPort: 12345
          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
            taskParameters:
            - key: ORU-ODU-Map
              value: |-
                {
                   "ERICSSON-O-RU-11220": "HCL-O-DU-1122",
                         "ERICSSON-O-RU-11221": "O-DU-1122",
                      "ERICSSON-O-RU-1122111222": "HCL-O-DU-1122",
                         "ERICSSON-O-RU-11223": "O-DU-1122",
                      "ERICSSON-O-RU-1122211224": "HCL-O-DU-11221123",
                       "ERICSSON-O-RU-11225": "O-DU-1123",
                        "ERICSSON-O-RU-1122311226": "HCL-O-DU-11221123",
                            "ERICSSON-O-RU-11227": "O-DU-1124",
                   "ERICSSON-O-RU-1122411228": "HCL-O-DU-11231125",
                   "ERICSSON-O-RU-11229": "O-DU-1125"
                }
           "ERICSSON-O-RU-11225": "HCL-O-DU-1123",policy_type_impl:
            apexPolicyModel:
              key:
                name: LinkMonitorModel
                "ERICSSON-O-RU-11226": "HCL-O-DU-1123",version: 0.0.1
              keyInformation:
                key:
                 "ERICSSON-O-RU-11227": "HCL-O-DU-1124", name: LinkMonitorModel_KeyInfo
                  version: 0.0.1
                keyInfoMap:
            "ERICSSON-O-RU-11228": "HCL-O-DU-1125",
     entry:
                  - key:
                       "ERICSSON-O-RU-11229": "HCL-O-DU-1125"}name: ApexMessageOutputEvent
          policy_type_impl:
            apexPolicyModel:
version: 0.0.1
                    keyvalue:
                 name: LinkMonitorModel
     key:
                  version: 0.0.1
     name: ApexMessageOutputEvent
        keyInformation:
                key:
version: 0.0.1
                      nameUUID: LinkMonitorModel_KeyInfocca47d74-7754-4a61-b163-ca31f66b157b
                  version: 0.0.1
   description: Generated description for concept referred to by
       keyInfoMap:
                 key entry:"ApexMessageOutputEvent:0.0.1"
                  - key:
                      name: ApexMessageOutputEventCreateLinkClearedOutfieldsEvent
                      version: 0.0.1
                    value:
                      key:
                        name: ApexMessageOutputEventCreateLinkClearedOutfieldsEvent
                        version: 0.0.1
                      UUID: cca47d74a295d6a3-77541b73-4a61387e-b163abba-ca31f66b157bb41e9b608802
                      description: Generated description for concept referred to by
                        key "ApexMessageOutputEventCreateLinkClearedOutfieldsEvent:0.0.1"
                  - key:
                      name: CreateLinkClearedOutfieldsEventCreateLinkClearedOutfieldsTask
                      version: 0.0.1
                    value:
                      key:
                        name: CreateLinkClearedOutfieldsEventCreateLinkClearedOutfieldsTask
                        version: 0.0.1
                      UUID: a295d6a3fd594e88-1b73411d-387e4a94-abbab2be-b41e9b608802697b3a0d7adf
                      description: This task Generatedcreates descriptionthe foroutput conceptfields referredwhen tolink byfailure
                        key "CreateLinkClearedOutfieldsEvent:0.0.1"
is cleared.
                  - key:
                      name: CreateLinkClearedOutfieldsTaskCreateLinkFailureOutfieldsEvent
                      version: 0.0.1
                    value:
                      key:
                        name: CreateLinkClearedOutfieldsTaskCreateLinkFailureOutfieldsEvent
                        version: 0.0.1
                      UUID: fd594e8802be2b5d-411d45b7-4a943c54-b2beae54-697b3a0d7adf97f2b5c30125
                      description: ThisGenerated taskdescription createsfor theconcept outputreferred fields when link failureto by
                        is cleared.key "CreateLinkFailureOutfieldsEvent:0.0.1"
                  - key:
                      name: CreateLinkFailureOutfieldsEventCreateLinkFailureOutfieldsTask
                      version: 0.0.1
                    value:
                      key:
                        name: CreateLinkFailureOutfieldsEventCreateLinkFailureOutfieldsTask
                        version: 0.0.1
                      UUID: 02be2b5dac3d9842-45b780af-3c544a98-ae54951c-97f2b5c30125bd79a431c613
                      description: Generated description for concept referred to byThis task the output fields when link failure is
                        key "CreateLinkFailureOutfieldsEvent:0.0.1"detected.
                  - key:
                      name: CreateLinkFailureOutfieldsTaskLinkClearedTask
                      version: 0.0.1
                    value:
                      key:
                        name: CreateLinkFailureOutfieldsTaskLinkClearedTask
                        version: 0.0.1
                      UUID: ac3d9842eecfde90-80af896c-4a984343-951c8f9c-bd79a431c6132603ced94e2d
                      description: This task sends a message to the output fields when link
 failure is
                      failure is detectedcleared.
                  - key:
                      name: LinkClearedTaskLinkFailureInputEvent
                      version: 0.0.1
                    value:
                      key:
                        name: LinkClearedTaskLinkFailureInputEvent
                        version: 0.0.1
                      UUID: eecfde90c4500941-896c3f98-43434080-8f9ca9cc-2603ced94e2d5b9753ed050b
                      description: ThisGenerated taskdescription sendsfor aconcept messagereferred to the output when linkby
                        failure is cleared.key "LinkFailureInputEvent:0.0.1"
                  - key:
                      name: LinkFailureInputEventLinkFailureInputSchema
                      version: 0.0.1
                    value:
                      key:
                        name: LinkFailureInputEventLinkFailureInputSchema
                        version: 0.0.1
                      UUID: c45009413b3974fc-3f983012-40803b02-a9cc9f33-5b9753ed050bc9d8eefe4dc1
                      description: Generated description for concept referred to by
                        key "LinkFailureInputEventLinkFailureInputSchema:0.0.1"
                  - key:
                      name: LinkFailureInputSchemaLinkFailureOutputEvent
                      version: 0.0.1
                    value:
                      key:
                        name: LinkFailureInputSchemaLinkFailureOutputEvent
                        version: 0.0.1
                      UUID: 3b3974fc4f04aa98-3012e917-3b024f4a-9f33882a-c9d8eefe4dc1c75ba5a99374
                      description: Generated description for concept referred to by
                        key "LinkFailureInputSchemaLinkFailureOutputEvent:0.0.1"
                  - key:
                      name: LinkFailureOutputEventLinkFailureOutputSchema
                      version: 0.0.1
                    value:
                      key:
                        name: LinkFailureOutputEventLinkFailureOutputSchema
                        version: 0.0.1
                      UUID: 4f04aa982d1a7f6e-e917eb9a-4f4a3984-882abe1f-c75ba5a99374283d98111b84
                      description: Generated description for concept referred to by
                        key "LinkFailureOutputEventLinkFailureOutputSchema:0.0.1"
                  - key:
                      name: LinkFailureOutputSchemaLinkFailureTask
                      version: 0.0.1
                    value:
                      key:
                        name: LinkFailureOutputSchemaLinkFailureTask
                        version: 0.0.1
                      UUID: 2d1a7f6e3351b0f4-eb9acf06-39844fa2-be1f8823-283d98111b84edf67bd30223
                      description: Generated description This task updates the config for conceptO-RU referredwhen to bylink
                        key "LinkFailureOutputSchema:0.0.1"failure is detected.
                  - key:
                      name: LinkFailureTaskLinkMonitorModel
                      version: 0.0.1
                    value:
                      key:
                        name: LinkFailureTaskLinkMonitorModel
                        version: 0.0.1
                      UUID: 3351b0f4540226fb-cf0655ee-4fa24f0e-8823a444-edf67bd30223983a0494818e
                      description: This task updatesis the configApex forPolicy O-RUModel whenfor link
                        failure is detected monitoring.
                  - key:
                      name: LinkMonitorModel_Events
                      version: 0.0.1
                    value:
                      key:
                        name: LinkMonitorModel_Events
                        version: 0.0.1
                      UUID: 540226fb27ad3e7e-55eefe3b-4f0e3bd6-a4449081-983a0494818e718705c2bcea
                      description: This is the Apex Policy Model for link monitoring. Generated description for concept referred to by
                        key "LinkMonitorModel_Events:0.0.1"
                  - key:
                      name: LinkMonitorModel_EventsKeyInfo
                      version: 0.0.1
                    value:
                      key:
                        name: LinkMonitorModel_EventsKeyInfo
                        version: 0.0.1
                      UUID: 27ad3e7eea0b5f58-fe3beefd-3bd6358a-90819660-718705c2bcea840c640bf981
                      description: Generated description for concept referred to by
                        key "LinkMonitorModel_EventsKeyInfo:0.0.1"
                  - key:
                      name: LinkMonitorModel_KeyInfoPolicies
                      version: 0.0.1
                    value:
                      key:
                        name: LinkMonitorModel_KeyInfoPolicies
                        version: 0.0.1
                      UUID: ea0b5f58ee9e0b0f-eefd2b7d-358a3ab7-96609a98-840c640bf981c5ec05ed823d
                      description: Generated description for concept referred to by
                        key "LinkMonitorModel_KeyInfoPolicies:0.0.1"
                  - key:
                      name: LinkMonitorModel_PoliciesSchemas
                      version: 0.0.1
                    value:
                      key:
                        name: LinkMonitorModel_PoliciesSchemas
                        version: 0.0.1
                      UUID: ee9e0b0ffa5f9b8f-2b7d796c-3ab73c70-9a9884e9-c5ec05ed823d5140c958c4bb
                      description: Generated description for concept referred to by
                        key "LinkMonitorModel_PoliciesSchemas:0.0.1"
                  - key:
                      name: LinkMonitorModel_SchemasTasks
                      version: 0.0.1
                    value:
                      key:
                        name: LinkMonitorModel_SchemasTasks
                        version: 0.0.1
                      UUID: fa5f9b8feec592f7-796c69d5-3c7039a9-84e9981a-5140c958c4bbe552f787ed01
                      description: Generated description for concept referred to by
                        key "LinkMonitorModel_SchemasTasks:0.0.1"
                  - key:
                      name: LinkMonitorModel_TasksLinkMonitorPolicy
                      version: 0.0.1
                    value:
                      key:
                        name: LinkMonitorModel_TasksLinkMonitorPolicy
                        version: 0.0.1
                      UUID: eec592f76c5e410f-69d5489a-39a946ff-981a964e-e552f787ed01982ce6e8b6d0
                      description: Generated description for concept referred to by
                        key "LinkMonitorModel_TasksLinkMonitorPolicy:0.0.1"
                  - key:
                      name: LinkMonitorPolicyMessageSchema
                      version: 0.0.1
                    value:
                      key:
                        name: LinkMonitorPolicyMessageSchema
                        version: 0.0.1
                      UUID: 6c5e410fac4b34ac-489a39d6-46ff3393-964ea267-982ce6e8b6d08d5b84854018
                      description: GeneratedA descriptionschema for conceptmessages referredfrom to byapex
                        key "LinkMonitorPolicy:0.0.1"
              - key:
    - key:
                      name: MessageSchemaNoPolicyDefinedTask
                      version: 0.0.1
                    value:
                      key:
                        name: MessageSchemaNoPolicyDefinedTask
                        version: 0.0.1
                      UUID: ac4b34acd48b619e-39d6d00d-33934008-a267b884-8d5b8485401802d76ea4350b
                      description: A schema for messages from apex This task sends a message to the output when an
                        event is received for which no policy has been defined.
                  - key:
                      name: NoPolicyDefinedTaskOduIdSchema
                      version: 0.0.1
                    value:
                      key:
                        name: NoPolicyDefinedTaskOduIdSchema
                        version: 0.0.1
                      UUID: d48b619e50662174-d00da88b-40083cbd-b88491bd-02d76ea4350b8e91b40b2660
                      description: This task sends a message to the output when an
                        event is received for which no policy has been defined.A schema for O-DU-ID
                  - key:
                      name: OduIdSchemaOruIdSchema
                      version: 0.0.1
                    value:
                      key:
                        name: OduIdSchemaOruIdSchema
                        version: 0.0.1
                      UUID: 5066217454daf32b-a88b015f-3cbd39cd-91bd8530-8e91b40b2660a1175c5553e9
                      description: A schema for O-DURU-ID
              policies:
     -   key:
        key:
              name: OruIdSchema
   name: LinkMonitorModel_Policies
                  version: 0.0.1
                policyMap:
    value:
              entry:
        key:
          - key:
                      name: OruIdSchemaLinkMonitorPolicy
                        version: 0.0.1
                      UUID: 54daf32b-015f-39cd-8530-a1175c5553e9value:
                      descriptionpolicyKey:
  A schema for O-RU-ID
              policies:
     name: LinkMonitorPolicy
          key:
              version: 0.0.1
   name: LinkMonitorModel_Policies
                  versiontemplate: 0.0.1Freestyle
                policyMap:
      state:
            entry:
            entry:
      - key:
                 - key: LinkClearedState
   name: LinkMonitorPolicy
                      version: 0.0.1value:
                    value:
        stateKey:
              policyKey:
                parentKeyName: LinkMonitorPolicy
       name: LinkMonitorPolicy
                        versionparentKeyVersion: 0.0.1
                      template: Freestyle
       parentLocalName: 'NULL'
              state:
                localName: LinkClearedState
       entry:
                     trigger:
   - key: LinkClearedState
                         name: value:CreateLinkClearedOutfieldsEvent
                              stateKey:version: 0.0.1
                              parentKeyNamestateOutputs: LinkMonitorPolicy
                              parentKeyVersionentry:
 0.0.1
                             - parentLocalNamekey: 'NULL'
LinkClearedLogic_Output_Direct
                                localNamevalue:
  LinkClearedState
                            trigger:
    key:
                          name: CreateLinkClearedOutfieldsEvent
         parentKeyName: LinkMonitorPolicy
                    version: 0.0.1
               parentKeyVersion: 0.0.1
            stateOutputs:
                        parentLocalName: LinkClearedState
     entry:
                              - keylocalName: LinkClearedLogic_Output_Direct
                                value  outgoingEvent:
                                  key:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkClearedState
                                    localName: LinkClearedLogic_Output_Direct
                                  outgoingEvent:
                                    name: ApexMessageOutputEvent
                                    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: LinkClearedTask
                              version: 0.0.1
                            taskReferences:
                              entry:
                              - key:
                                  name: LinkClearedTask
                                  version: 0.0.1
                                value:
                                  key:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkClearedState
                                    localName: LinkClearedTask
                                  outputType: DIRECT
                                  output:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkClearedState
                                    localName: LinkClearedLogic_Output_Direct
                        - key: LinkFailureOrClearedState
                          value:
                            stateKey:
                              parentKeyName: LinkMonitorPolicy
                              parentKeyVersion: 0.0.1
                              parentLocalName: 'NULL'
                              localName: LinkFailureOrClearedState
                            trigger:
                              name: LinkFailureInputEvent
                              version: 0.0.1
                            stateOutputs:
                              entry:
                              - key: CreateLinkClearedOutfieldsLogic_Output_Direct
                                value:
                                  key:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureOrClearedState
                                    localName: CreateLinkClearedOutfieldsLogic_Output_Direct
                                  outgoingEvent:
                                    name: CreateLinkClearedOutfieldsEvent
                                    version: 0.0.1
                                  nextState:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: 'NULL'
                                    localName: LinkClearedState
                              - key: CreateLinkFailureOutfieldsLogic_Output_Direct
                                value:
                                  key:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureOrClearedState
                                    localName: CreateLinkFailureOutfieldsLogic_Output_Direct
                                  outgoingEvent:
                                    name: CreateLinkFailureOutfieldsEvent
                                    version: 0.0.1
                                  nextState:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: 'NULL'
                                    localName: LinkFailureState
                              - key: NoPolicyDefinedLogic_Output_Direct
                                value:
                                  key:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureOrClearedState
                                    localName: NoPolicyDefinedLogic_Output_Direct
                                  outgoingEvent:
                                    name: ApexMessageOutputEvent
                                    version: 0.0.1
                                  nextState:
                                    parentKeyName: 'NULL'
                                    parentKeyVersion: 0.0.0
                                    parentLocalName: 'NULL'
                                    localName: 'NULL'
                            contextAlbumReference: []
                            taskSelectionLogic:
                              key: TaskSelectionLogic
                              logicFlavour: JAVASCRIPT
                              logic: |-
                                /*
                                 * ============LICENSE_START=======================================================
                                 * Copyright (C) 2021 Nordix Foundation.
                                 * ================================================================================
                                 * 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("Task Selection Execution: '"+executor.subject.id+
                                    "'. InputFields: '"+executor.inFields+"'");
 
                                var linkFailureInput = executor.inFields.get("LinkFailureInput");
                                var commonEventHeader = linkFailureInput.get("event").get("commonEventHeader");
                                var domain = commonEventHeader.get("domain");
 
                                taskFailure = executor.subject.getTaskKey("CreateLinkFailureOutfieldsTask");
                                taskCleared = executor.subject.getTaskKey("CreateLinkClearedOutfieldsTask");
                                taskDefault = executor.subject.getDefaultTaskKey();
 
                                if (domain == "fault") {
                                    var faultFields = linkFailureInput.get("event").get("faultFields");
                                    var alarmCondition = faultFields.get("alarmCondition");
                                    var eventSeverity = faultFields.get("eventSeverity");
                                    if (alarmCondition == "28" && eventSeverity != "NORMAL") {
                                        taskFailure.copyTo(executor.selectedTask);
                                    } else if (alarmCondition == "28" && eventSeverity == "NORMAL") {
                                        taskCleared.copyTo(executor.selectedTask);
                                    } else {
                                        taskDefault.copyTo(executor.selectedTask);
                                    }
                                } else {
                                    taskDefault.copyTo(executor.selectedTask);
                                }
 
                                true;
                            stateFinalizerLogicMap:
                              entry: []
                            defaultTask:
                              name: NoPolicyDefinedTask
                              version: 0.0.1
                            taskReferences:
                              entry:
                              - key:
                                  name: CreateLinkClearedOutfieldsTask
                                  version: 0.0.1
                                value:
                                  key:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureOrClearedState
                                    localName: CreateLinkClearedOutfieldsTask
                                  outputType: DIRECT
                                  output:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureOrClearedState
                                    localName: CreateLinkClearedOutfieldsLogic_Output_Direct
                              - key:
                                  name: CreateLinkFailureOutfieldsTask
                                  version: 0.0.1
                                value:
                                  key:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureOrClearedState
                                    localName: CreateLinkFailureOutfieldsTask
                                  outputType: DIRECT
                                  output:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureOrClearedState
                                    localName: CreateLinkFailureOutfieldsLogic_Output_Direct
                              - key:
                                  name: NoPolicyDefinedTask
                                  version: 0.0.1
                                value:
                                  key:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureOrClearedState
                                    localName: NoPolicyDefinedTask
                                  outputType: DIRECT
                                  output:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureOrClearedState
                                    localName: NoPolicyDefinedLogic_Output_Direct
                        - key: LinkFailureState
                          value:
                            stateKey:
                              parentKeyName: LinkMonitorPolicy
                              parentKeyVersion: 0.0.1
                              parentLocalName: 'NULL'
                              localName: LinkFailureState
                            trigger:
                              name: CreateLinkFailureOutfieldsEvent
                              version: 0.0.1
                            stateOutputs:
                              entry:
                              - key: LinkFailureLogic_Output_Direct
                                value:
                                  key:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureState
                                    localName: LinkFailureLogic_Output_Direct
                                  outgoingEvent:
                                    name: LinkFailureOutputEvent
                                    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: LinkFailureTask
                              version: 0.0.1
                            taskReferences:
                              entry:
                              - key:
                                  name: LinkFailureTask
                                  version: 0.0.1
                                value:
                                  key:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureState
                                    localName: LinkFailureTask
                                  outputType: DIRECT
                                  output:
                                    parentKeyName: LinkMonitorPolicy
                                    parentKeyVersion: 0.0.1
                                    parentLocalName: LinkFailureState
                                    localName: LinkFailureLogic_Output_Direct
                      firstState: LinkFailureOrClearedState
              tasks:
                key:
                  name: LinkMonitorModel_Tasks
                  version: 0.0.1
                taskMap:
                  entry:
                  - key:
                      name: CreateLinkClearedOutfieldsTask
                      version: 0.0.1
                    value:
                      key:
                        name: CreateLinkClearedOutfieldsTask
                        version: 0.0.1
                      inputFields:
                        entry:
                        - key: LinkFailureInput
                          value:
                            key: LinkFailureInput
                            fieldSchemaKey:
                              name: LinkFailureInputSchema
                              version: 0.0.1
                            optional: false
                      outputFields:
                        entry:
                        - key: OruId
                          value:
                            key: OruId
                            fieldSchemaKey:
                              name: OruIdSchema
                              version: 0.0.1
                            optional: false
                      taskParameters:
                        entry: []
                      contextAlbumReference: []
                      taskLogic:
                        key: TaskLogic
                        logicFlavour: JAVASCRIPT
                        logic: |-
                          /*
                           * ============LICENSE_START=======================================================
                           * Copyright (C) 2021 Nordix Foundation.
                           * ================================================================================
                           * 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("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");
 
                          var linkFailureInput = executor.inFields.get("LinkFailureInput");
                          var oruId = linkFailureInput.get("event").get("commonEventHeader").get("sourceName");
 
                          executor.outFields.put("OruId", oruId);
 
                          executor.logger.info(executor.outFields);
 
                          true;
                  - key:
                      name: CreateLinkFailureOutfieldsTask
                      version: 0.0.1
                    value:
                      key:
                        name: CreateLinkFailureOutfieldsTask
                        version: 0.0.1
                      inputFields:
                        entry:
                        - key: LinkFailureInput
                          value:
                            key: LinkFailureInput
                            fieldSchemaKey:
                              name: LinkFailureInputSchema
                              version: 0.0.1
                            optional: false
                      outputFields:
                        entry:
                        - key: OduId
                          value:
                            key: OduId
                            fieldSchemaKey:
                              name: OduIdSchema
                              version: 0.0.1
                            optional: false
                        - key: OruId
                          value:
                            key: OruId
                            fieldSchemaKey:
                              name: OruIdSchema
                              version: 0.0.1
                            optional: false
                      taskParameters:
                        entry: []
                      contextAlbumReference: []
                      taskLogic:
                        key: TaskLogic
                        logicFlavour: JAVASCRIPT
                        logic: |-
                          /*
                           * ============LICENSE_START=======================================================
                           * Copyright (C) 2021 Nordix Foundation.
                           * ================================================================================
                           * 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("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");
 
                          var returnValue = true;
                          var linkFailureInput = executor.inFields.get("LinkFailureInput");
                          var oruId = linkFailureInput.get("event").get("commonEventHeader").get("sourceName");
                          var oruOduMap = JSON.parse(executor.parameters.get("ORU-ODU-Map"));
 
                          if (oruId in oruOduMap) {
                              var oduId = oruOduMap[oruId];
                              executor.outFields.put("OruId", oruId);
                              executor.outFields.put("OduId", oduId);
                              executor.logger.info(executor.outFields);
                          } else {
                              executor.message = "No O-RU found in the config with this ID: " + oruId;
                              returnValue = false;
                          }
 
                          returnValue;
                  - key:
                      name: LinkClearedTask
                      version: 0.0.1
                    value:
                      key:
                        name: LinkClearedTask
                        version: 0.0.1
                      inputFields:
                        entry:
                        - key: OruId
                          value:
                            key: OruId
                            fieldSchemaKey:
                              name: OruIdSchema
                              version: 0.0.1
                            optional: false
                      outputFields:
                        entry:
                        - key: message
                          value:
                            key: message
                            fieldSchemaKey:
                              name: MessageSchema
                              version: 0.0.1
                            optional: false
                      taskParameters:
                        entry: []
                      contextAlbumReference: []
                      taskLogic:
                        key: TaskLogic
                        logicFlavour: JAVASCRIPT
                        logic: |-
                          /*
                           * ============LICENSE_START=======================================================
                           * Copyright (C) 2021 Nordix Foundation.
                           * ================================================================================
                           * 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("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");
 
                          var oruId = executor.inFields.get("OruId");
 
                          executor.outFields.put("message", "CLEARED link failure for O-RU: " + oruId);
 
                          executor.logger.info(executor.outFields);
 
                          true;
                  - key:
                      name: LinkFailureTask
                      version: 0.0.1
                    value:
                      key:
                        name: LinkFailureTask
                        version: 0.0.1
                      inputFields:
                        entry:
                        - key: OduId
                          value:
                            key: OduId
                            fieldSchemaKey:
                              name: OduIdSchema
                              version: 0.0.1
                            optional: false
                        - key: OruId
                          value:
                            key: OruId
                            fieldSchemaKey:
                              name: OruIdSchema
                              version: 0.0.1
                            optional: false
                      outputFields:
                        entry:
                        - key: LinkFailureOutput
                          value:
                            key: LinkFailureOutput
                            fieldSchemaKey:
                              name: LinkFailureOutputSchema
                              version: 0.0.1
                            optional: false
                      taskParameters:
                        entry: []
                      contextAlbumReference: []
                      taskLogic:
                        key: TaskLogic
                        logicFlavour: JAVASCRIPT
                        logic: |-
                          /*
                           * ============LICENSE_START=======================================================
                           * Copyright (C) 2021 Nordix Foundation.
                           * ================================================================================
                           * 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("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");
 
                          var linkFailureOutput = executor.subject.getOutFieldSchemaHelper("LinkFailureOutput").createNewInstance();
 
                          var oruId = executor.inFields.get("OruId");
                          var oduId = executor.inFields.get("OduId");
 
                          var unlockMessageArray = new java.util.ArrayList();
                          for (var i = 0; i < 1; i++) {
                              unlockMessageArray.add({
                                  "nameid" : oruId:"rrm-pol-1",
                                  "administrativeradio_DasH_resource_DasH_management_DasH_policy_DasH_max_DasH_stateratio" : "UNLOCKED":25,
                              });
    "radio_DasH_resource_DasH_management_DasH_policy_DasH_members":
                        }

              [
            linkFailureOutput.put("o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_du_DasH_to_DasH_ru_DasH_connection", unlockMessageArray);
                          executor.outFields.put("LinkFailureOutput", linkFailureOutput.toString());
 {
                          executor.getExecutionProperties().setProperty("OduId", oduId);
                          executor.getExecutionProperties().setProperty("OruId", oruId);

"mobile_DasH_country_DasH_code":"310",
                          executor.logger.info(executor.outFields);

                  "mobile_DasH_network_DasH_code":"150",
        true;
                  - key:
                 "slice_DasH_differentiator":1,
     name: NoPolicyDefinedTask
                      version: 0.0.1
               "slice_DasH_service_DasH_type":1
     value:
                      key:
             }
           name: NoPolicyDefinedTask
                        version: 0.0.1],
                      inputFields:
          "radio_DasH_resource_DasH_management_DasH_policy_DasH_min_DasH_ratio":15,
              entry:
                  "user_DasH_label":"rrm-pol-1",
      - key: LinkFailureInput
                          value:"resource_DasH_type":"prb",
                            key: LinkFailureInput
   "radio_DasH_resource_DasH_management_DasH_policy_DasH_dedicated_DasH_ratio":20,
                         fieldSchemaKey:
       "administrative_DasH_state":"unlocked"
                       name: LinkFailureInputSchema
    });
                          version: 0.0.1}
 
                            optional: falselinkFailureOutput.put("o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_radio_DasH_resource_DasH_management_DasH_policy_DasH_ratio", unlockMessageArray);
                      outputFields:
    executor.outFields.put("LinkFailureOutput", linkFailureOutput.toString());
 
                  entry:
        executor.getExecutionProperties().setProperty("OduId", oduId);
               - key: message
         executor.getExecutionProperties().setProperty("OruId", oruId);
 
               value:
           executor.logger.info(executor.outFields);
 
                key: message
         true;
                  - fieldSchemaKeykey:
                              name: MessageSchema
        NoPolicyDefinedTask
                      version: 0.0.1
                            optional: falsevalue:
                      taskParameterskey:
                        entryname: []NoPolicyDefinedTask
                        contextAlbumReferenceversion: []0.0.1
                      taskLogicinputFields:
                        keyentry:
 TaskLogic
                       - logicFlavourkey: JAVASCRIPTLinkFailureInput
                          logicvalue:
  |-
                          /*key: LinkFailureInput
                           * ============LICENSE_START======================================================= fieldSchemaKey:
                           * Copyright (C) 2021name: NordixLinkFailureInputSchema
 Foundation.
                           * ================================================================================  version: 0.0.1
                           * Licensedoptional: underfalse
 the Apache License, Version 2.0 (the "License");
               outputFields:
            * you may not use this file except in compliance with the License.entry:
                        - key: message
  * You may obtain a copy of the License at
               value:
            *
                key: message
          *      http://www.apache.org/licenses/LICENSE-2.0
            fieldSchemaKey:
               *
               name: MessageSchema
           * Unless required by applicable law or agreed to in writing, software
        version: 0.0.1
                  * distributed under the License is distributed on an "AS IS" BASIS,optional: false
                      taskParameters:
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        entry: []
                  * See the License for the specific language governing permissions and
  contextAlbumReference: []
                      taskLogic:
              * limitations under the License.
      key: TaskLogic
                    *
    logicFlavour: JAVASCRIPT
                       * SPDX-License-Identifierlogic: Apache-2.0|-
                          /*
                           * ============LICENSE_END==START=======================================================
                           */

 Copyright (C) 2021 Nordix Foundation.
                     executor.logger.info("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");

   * ================================================================================
                        executor.outFields.put("message", "No policy defined* forLicensed this event");

      under the Apache License, Version 2.0 (the "License");
                    executor.logger.info(executor.outFields);

       * you may not use this file except in compliance with the License.
       true;
              events:
      * You may obtain a copy of the License  key:at
                  name: LinkMonitorModel_Events
                  version: 0.0.1
 *
               eventMap:
            *      entry:http://www.apache.org/licenses/LICENSE-2.0
                  - key:
        *
              name: ApexMessageOutputEvent
            * Unless required by applicable law or agreed to in version: 0.0.1writing, software
                    value:
       * distributed under the License is distributed on an "AS IS" BASIS,
    key:
                       * name:WITHOUT ApexMessageOutputEvent
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
               version: 0.0.1
           * See the License for the specific language governing   nameSpace: org.onap.policy.apex.auth.clieditorpermissions and
                      source: APEX
    * limitations under the  License.
             target: APEX
             *
         parameter:
                  * SPDX-License-Identifier: Apache-2.0
    entry:
                        - key: message
* ============LICENSE_END=========================================================
                           value:*/
 
                           key: message
    executor.logger.info("Task Execution: '"+executor.subject.id+"'. Input Fields: '"+executor.inFields+"'");
 
                        fieldSchemaKey:
  executor.outFields.put("message", "No policy defined for this event");
 
                     name: MessageSchema
    executor.logger.info(executor.outFields);
 
                         version: 0.0.1 true;
              events:
                optionalkey: false
                  - key:name: LinkMonitorModel_Events
                      nameversion: CreateLinkClearedOutfieldsEvent0.0.1
                      version: 0.0.1eventMap:
                    valueentry:
                     - key:
                        name: CreateLinkClearedOutfieldsEventApexMessageOutputEvent
                        version: 0.0.1
                      nameSpace: org.onap.policy.apex.auth.clieditorvalue:
                      sourcekey: APEX
                      target:   name: ApexMessageOutputEvent
                        version: 0.0.1
                      nameSpace: org.onap.policy.apex.auth.clieditor
                      source: APEX
                      target: APEX
                      parameter:
                        entry:
                        - key: OruIdmessage
                          value:
                            key: OruIdmessage
                            fieldSchemaKey:
                              name: OruIdSchemaMessageSchema
                              version: 0.0.1
                            optional: false
                  - key:
                      name: CreateLinkFailureOutfieldsEventCreateLinkClearedOutfieldsEvent
                      version: 0.0.1
                    value:
                      key:
                        name: CreateLinkFailureOutfieldsEventCreateLinkClearedOutfieldsEvent
                        version: 0.0.1
                      nameSpace: org.onap.policy.apex.auth.clieditor
                      source: APEX
                      target: APEX
                      parameter:
                        entry:
                        - key: OduIdOruId
                          value:
                            key: OduIdOruId
                            fieldSchemaKey:
                              name: OduIdSchemaOruIdSchema
                              version: 0.0.1
                            optional: false
                        - key: OruId
                      name: CreateLinkFailureOutfieldsEvent
   value:
                   version: 0.0.1
        key: OruId
            value:
                fieldSchemaKey:
      key:
                        name: OruIdSchemaCreateLinkFailureOutfieldsEvent
                              version: 0.0.1
                      nameSpace: org.onap.policy.apex.auth.clieditor
     optional: false
                  - key:source: APEX
                      nametarget: LinkFailureInputEventAPEX
                      versionparameter: 0.0.1

                        valueentry:
                        - key: OduId
                          namevalue:
  LinkFailureInputEvent
                        version: 0.0.1
   key: OduId
                    nameSpace: org.onap.policy.apex.auth.clieditor
       fieldSchemaKey:
               source: DMAAP
              name: OduIdSchema
       target: APEX
                      parameter:
version: 0.0.1
                         entry:   optional: false
                        - key: LinkFailureInputOruId
                          value:
                            key: LinkFailureInputOruId
                            fieldSchemaKey:
                              name: LinkFailureInputSchemaOruIdSchema
                              version: 0.0.1
                            optional: false
                  - key:
                      name: LinkFailureOutputEventLinkFailureInputEvent
                      version: 0.0.1
                    value:
                      key:
                        name: LinkFailureOutputEventLinkFailureInputEvent
                        version: 0.0.1
                      nameSpace: org.onap.policy.apex.auth.clieditor
                      source: APEXDMAAP
                      target: OAMAPEX
                      parameter:
                        entry:
                        - key: LinkFailureOutputLinkFailureInput
                          value:
                            key: LinkFailureOutputLinkFailureInput
                            fieldSchemaKey:
                              name: LinkFailureOutputSchemaLinkFailureInputSchema
                              version: 0.0.1
                            optional: false
              schemas:
    - key:
           key:
           name:   LinkFailureOutputEvent
    name: LinkMonitorModel_Schemas
                  version: 0.0.1
                schemas:
        value:
          entry:
                  - key:
                        name: LinkFailureInputSchemaLinkFailureOutputEvent
                        version: 0.0.1
                      value:nameSpace: org.onap.policy.apex.auth.clieditor
                      keysource: APEX
                        nametarget: LinkFailureInputSchemaOAM
                      parameter:
   version: 0.0.1
                    entry:
  schemaFlavour: Avro
                     - schemaDefinitionkey: |-LinkFailureOutput
                          {value:
                            "type"key: "record",LinkFailureOutput
                            "name"fieldSchemaKey: "Link_Failure_Input",

                              "fields"name: [LinkFailureOutputSchema
                                {version: 0.0.1
                            optional: false
       "name": "event",
      schemas:
                key:
              "type": {
   name: LinkMonitorModel_Schemas
                  version: 0.0.1
                 "type"schemas:
 "record",
                 entry:
                  - key:
    "name": "Event_Type",
                 name: LinkFailureInputSchema
                      "fields"version: [0.0.1
                    value:
                      key:
  {
                      name: LinkFailureInputSchema
                         "name"version: "commonEventHeader",0.0.1
                      schemaFlavour: Avro
                         "type"schemaDefinition: {|-
                        {
                            "type": "record",
                            "name": "Link_Failure_Input",
                            "namefields": "Common_Event_Header_Type",
[
                                {
                                    "fieldsname": [
"event",
                                    "type": {
                     {
                   "type": "record",
                                        "name": "domainEvent_Type",
                                        "fields": [
                   "type": "string"
                        {
                                },
                "name": "commonEventHeader",
                                       {
         "type": {
                                                    "nametype": "eventIdrecord",
                                                            "typename": "string"Common_Event_Header_Type",
                                                        },"fields": [
                                                        {
                                                            "name": "eventNamedomain",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "eventTypeeventId",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "sequenceeventName",
                                                            "type": "intstring"
                                                        },
                                                        {
                                                            "name": "priorityeventType",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "reportingEntityIdsequence",
                                                            "type": "stringint"
                                                        },
                                                        {
                                                            "name": "reportingEntityNamepriority",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "sourceIdreportingEntityId",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "sourceNamereportingEntityName",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "startEpochMicrosecsourceId",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "lastEpochMicrosecsourceName",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "nfNamingCodestartEpochMicrosec",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "nfVendorNamelastEpochMicrosec",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "timeZoneOffsetnfNamingCode",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "versionnfVendorName",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "vesEventListenerVersiontimeZoneOffset",
                                                            "type": "string"
                                                        },
                                                       ] {
                                                }
            "name": "version",
                               },
                             "type": "string"
              {
                                          },
      "name": "faultFields",
                                                "type": {
                                                            "typename": "recordvesEventListenerVersion",
                                                            "nametype": "Fault_Fields_Typestring",
                                                    "fields": [
   }
                                                     {]
                                                }
            "name": "faultFieldsVersion",
                               },
                             "type": "string"
              {
                                          },
      "name": "faultFields",
                                                "type": {
                                                            "name"type": "alarmConditionrecord",
                                                            "typename": "stringFault_Fields_Type",
                                                        },"fields": [
                                                        {
                                                            "name": "alarmInterfaceAfaultFieldsVersion",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "eventSourceTypealarmCondition",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "specificProblemalarmInterfaceA",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "eventSeverityeventSourceType",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "vfStatusspecificProblem",
                                                            "type": "string"
                                                        },
                                                        {
                                                            "name": "alarmAdditionalInformationeventSeverity",
                                                            "type": {"string"
                                                        },
        "type": "record",
                                                {
                   "name": "Alarm_Additional_Information_Type",
                                        "name": "vfStatus",
                       "fields": [
                                    "type": "string"
                               {
                            },
                                            "name": "eventTime",
           {
                                                             "typename": "stringalarmAdditionalInformation",
                                                                    },"type": {
                                                                    {
        "type": "record",
                                                                "name": "equipTypeAlarm_Additional_Information_Type",
                                                                "fields": [
       "type": "string"
                                                               {
     },
                                                                    {"name": "eventTime",
                                                                        "nametype": "vendorstring",
                                                                    },
    "type": "string"
                                                               {
     },
                                                                    {"name": "equipType",
                                                                        "nametype": "modelstring",
                                                                    },
        "type": "string"
                                                           {
         }
                                                                ]"name": "vendor",
                                                            }
            "type": "string"
                                           }
                         },
                              ]
                                      {
          }
                                            }
                  "name": "model",
                     ]
                                    }
               "type": "string"
                }
                            ]
                        }
                  - key:
                      name: LinkFailureOutputSchema
                      version: 0.0.1]
                    value:
                      key:
                  }
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                  - key:
                      name: LinkFailureOutputSchema
                      version: 0.0.1
                    value:
                      key:
                        name: LinkFailureOutputSchema
                        version: 0.0.1
                      schemaFlavour: Avro
                      schemaDefinition: "{\n  \"name\": \"Link_Failure_Output\",\n  \"type\": \"record\",\n  \"fields\": [\n    {\n      \"name\": \"o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_radio_DasH_resource_DasH_management_DasH_policy_DasH_ratio\",\n      \"type\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"name\": \"o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_radio_DasH_resource_DasH_management_DasH_policy_DasH_ratio_record\",\n          \"type\": \"record\",\n          \"fields\": [\n            {\n              \"name\": \"id\",\n              \"type\": \"string\"\n            },\n            {\n              \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_max_DasH_ratio\",\n              \"type\": \"int\"\n            },\n            {\n              \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_members\",\n              \"type\": {\n                \"type\": LinkFailureOutputSchema
 \"array\",\n                \"items\": {\n                  version: 0.0.1
\"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_members_record\",\n                  \"type\": \"record\",\n               schemaFlavour: Avro
  \"fields\": [\n                   schemaDefinition: "{\n                      \"typename\": \"recordmobile_DasH_country_DasH_code\",\n                      \"nametype\":
 \"string\"\n                    },\n                   \"Link_Failure_Output\",\n    \"fields\": [\n {\n                      \"name\": \"mobile_DasH_network_DasH_code\",\n          {\n            \"nametype\":
 \"string\"\n                       \"o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_du_DasH_to_DasH_ru_DasH_connection\"},\n
                    {\n    \           \"type\": {\n        \t\"typename\": \"arrayslice_DasH_differentiator\",\n
                      \"type\": \"int\"\n  \            \t\"items\": {\n\t\t    \"name\": \"Config_Change_Message\" },\n
                     {\n   \                   \"typename\": \"recordslice_DasH_service_DasH_type\",\n                      \"fieldstype\":
 \"int\"\n                    }\n        [\n          ]\n                {}\n              }\n            },\n  \"name\":
          {\n              \"name\",\n              \": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_min_DasH_ratio\",\n              \"type\": \"stringint\"\n
            },\n            {\n              \"name\": \"user_DasH_label\",\n              },\n\t\t\t{"type\": \"string\"\n            },\n            {\n    \"name\":
          \"name\": \"resource_DasH_type\",\n              \"type\": \"administrative_DasH_statestring\",\n            },\n            {\n     \"type\":
         \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_dedicated_DasH_ratio\",\n              \"type\": \"stringint\"\n            },\n            }{\n              \"name\": \"administrative_DasH_state\",\n     ]\n
         \"type\": \"string\"\n            }\n   \       ]\n        }\n\t      }\n        }\n    ]\n}"
                  - key:
                      name: MessageSchema
                      version: 0.0.1
                    value:
                      key:
                        name: MessageSchema
                        version: 0.0.1
                      schemaFlavour: Java
                      schemaDefinition: java.lang.String
                  - key:
                      name: OduIdSchema
                      version: 0.0.1
                    value:
                      key:
                        name: OduIdSchema
                        version: 0.0.1
                      schemaFlavour: Java
                      schemaDefinition: java.lang.String
                  - key:
                      name: OruIdSchema
                      version: 0.0.1
                    value:
                      key:
                        name: OruIdSchema
                        version: 0.0.1
                      schemaFlavour: Java
                      schemaDefinition: java.lang.String
        eventOutputParameters:
          RestProducer:
            carrierTechnologyParameters:
              carrierTechnology: RESTCLIENT
              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
              parameters:
                url: http://sdnr-simulator.nonrtric:9990/rests/data/network-topology:network-topology/topology=topology-netconf/node={OduId}/yang-ext:mount/o-ran-sc-du-hello-world:network-function/dudistributed-tounit-ru-connectionfunctions={OruId}OduId}/radio-resource-management-policy-ratio=rrm-pol-1
                httpMethod: PUT
                httpHeaders:
                - - Authorization
                  - Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==
            eventProtocolParameters:
              eventProtocol: JSON
              parameters:
                pojoField: LinkFailureOutput
            eventNameFilter: LinkFailureOutputEvent
          StdOutProducer:
            carrierTechnologyParameters:
              carrierTechnology: FILE
              parameters:
                standardIo: true
            eventProtocolParameters:
              eventProtocol: JSON
              parameters:
                pojoField: message
            eventNameFilter: ApexMessageOutputEvent
        eventInputParameters:
          DMaaPConsumer:
            carrierTechnologyParameters:
              carrierTechnology: RESTCLIENT
              parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters
              parameters:
                url: http://message-router:3904/events/unauthenticated.SEC_FAULT_OUTPUT/users/link-monitor-nonrtric?timeout=15000&limit=100
            eventProtocolParameters:
              eventProtocol: JSON
              parameters:
                versionAlias: version
                pojoField: LinkFailureInput
            eventName: LinkFailureInputEvent


NOTE: The default hostname/port for sdnr-simulator and message-router are specified in lines 1547 and 1573 respectively of the above file. They should be replaced with actual values if using different hostname/port.

...

Code Block
languageyml
titlecommission.yaml
linenumberstrue
collapsetrue
tosca_definitions_version: tosca_simple_yaml_1_1_0
data_types:
  onap.datatypes.ToscaConceptIdentifier:
    derived_from: tosca.datatypes.Root
    properties:
      name:
        type: string
        required: true
      version:
        type: string
        required: true
node_types:
  org.onap.policy.clamp.controlloop.Participant:
    version: 1.0.1
    derived_from: tosca.nodetypes.Root
    properties:
      provider:
        type: string
        requred: false
  org.onap.policy.clamp.controlloop.ControlLoop:
    version: 1.0.1
    derived_from: tosca.nodetypes.Root
    properties:
      provider:
        type: string
        requred: false
      elements:
        type: list
        required: true
        entry_schema:
          type: onap.datatypes.ToscaConceptIdentifier
  org.onap.policy.clamp.controlloop.ControlLoopElement:
    version: 1.0.1
    derived_from: tosca.nodetypes.Root
    properties:
      provider:
        type: string
        requred: false
      participant_id:
        type: onap.datatypes.ToscaConceptIdentifier
        requred: true
  org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement:
    version: 1.0.1
    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
    properties:
      chart:
        type: string
        required: true
      configs:
        type: list
        required: false
      requirements:
        type: string
        requred: false
      templates:
        type: list
        required: false
        entry_schema:
      values:
        type: string
        requred: true
topology_template:
  node_templates:
    org.onap.domain.linkmonitor.LinkMonitorControlLoopDefinition1:
      version: 1.2.3
      type: org.onap.policy.clamp.controlloop.ControlLoop
      type_version: 1.0.1
      description: Control loop for Link Monitor
      properties:
        provider: Ericsson
        elements:
        - name: org.onap.domain.linkmonitor.OruAppK8SMicroserviceControlLoopElement
          version: 1.2.3
        - name: org.onap.domain.linkmonitor.MessageGeneratorK8SMicroserviceControlLoopElement
          version: 1.2.3
        - name: org.onap.domain.linkmonitor.SdnrSimulatorK8SMicroserviceControlLoopElement
          version: 1.2.3
    org.onap.k8s.controlloop.K8SControlLoopParticipant:
      version: 2.3.4
      type: org.onap.policy.clamp.controlloop.Participant
      type_version: 1.0.1
      description: Participant for k8s
      properties:
        provider: ONAP
    org.onap.domain.linkmonitor.OruAppK8SMicroserviceControlLoopElement:
      version: 1.2.3
      type: org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement
      type_version: 1.0.1
      description: Control loop element for oru-app
      properties:
        provider: ONAP
        participant_id:
          name: K8sParticipant0
          version: 1.0.0
        participantType:
          name: org.onap.k8s.controlloop.K8SControlLoopParticipant
          version: 2.3.4
        chart:
          chartId:
            name: oru-app
            version: 0.1.0
          releaseName: oru-app
          repository:
             repoName: chartmuseum
          namespace: nonrtric
          overrideParams:
            image.repository: nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-o-ru-closed-loop-recovery
            image.tag: 1.0.01
            messagerouter.host: http://message-router.onap
            messagerouter.port: 3904
            sdnr.host: http://sdnr-simulator
            sdnr.port: 9990
    org.onap.domain.linkmonitor.MessageGeneratorK8SMicroserviceControlLoopElement:
      version: 1.2.3
      type: org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement
      type_version: 1.0.1
      description: Control loop element for message-generator
      properties:
        provider: ONAP
        participant_id:
          name: K8sParticipant0
          version: 1.0.0
        participantType:
          name: org.onap.k8s.controlloop.K8SControlLoopParticipant
          version: 2.3.4
        chart:
          chartId:
            name: message-generator
            version: 0.1.0
          releaseName: message-generator
          repository:
             repoName: chartmuseum
          namespace: nonrtric
          overrideParams:
            image.repository: registry.nordix.org/onap/message-generator
            image.tag: 1.0.0
            messagerouter.host: http://message-router.onap
            messagerouter.port: 3904
    org.onap.domain.linkmonitor.SdnrSimulatorK8SMicroserviceControlLoopElement:
      version: 1.2.3
      type: org.onap.policy.clamp.controlloop.K8SMicroserviceControlLoopElement
      type_version: 1.0.1
      description: Control loop element for sdnr-simulator
      properties:
        provider: ONAP
        participant_id:
          name: K8sParticipant0
          version: 1.0.0
        participantType:
          name: org.onap.k8s.controlloop.K8SControlLoopParticipant
          version: 2.3.4
        chart:
          chartId:
            name: sdnr-simulator
            version: 0.1.0
          releaseName: sdnr-simulator
          repository:
             repoName: chartmuseum
          namespace: nonrtric
          overrideParams:
            image.repository: registry.nordix.org/onap/sdnr-simulator
            image.tag: 1.0.0
            messagerouter.host: http://message-router.onap
            messagerouter.port: 3904


This control loop will bring up three micro-services in the nonrtric namespace: oru-app (running the actual logic of the usecase), message-generator (sending the LinkFailure messages at random intervals), and sdnr-simulator (for receiving the REST calls made by oru-app). Make sure that the sdnr-simulator is not already running in the nonrtric namespace, otherwise the control loop instantiation might fail.

...