{ "data_types": { "onap.datatype.controlloop.Target": { "derived_from": "tosca.datatypes.Root", "properties": { "targetType": { "required": true, "constraints": [ { "valid_values": [ "VNF","VM","VFMODULE","PNF"] }], "description": "Category for the target type", "type": "string" }, "entityIds": { "required": false, "metadata": { "clamp_possible_values": "ClampExecution:CSAR_RESOURCES" }, "entry_schema": { "type": "string" }, "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. ", "type": "map" } }, "description": "Definition for a entity in A&AI to perform a control loop operation on" }, "onap.datatypes.ToscaConceptIdentifier": { "derived_from": "tosca.datatypes.Root", "properties": { "version": { "required": true, "type": "string" }, "name": { "required": true, "type": "string" } } }, "onap.datatype.controlloop.Operation": { "derived_from": "tosca.datatypes.Root", "properties": { "failure_guard": { "required": false, "default": "final_failure_guard", "description": "Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.", "type": "string" }, "retries": { "required": true, "default": 0, "description": "The number of retries the actor should attempt to perform the operation.", "type": "integer" }, "success": { "required": false, "default": "final_success", "description": "Points to the operation to invoke on success. A value of \"final_success\" indicates and end to the operation.", "type": "string" }, "description": { "required": false, "description": "A user-friendly description of the intent for the operation", "type": "string" }, "failure_retries": { "required": false, "default": "final_failure_retries", "description": "Points to the operation to invoke when the current operation has exceeded its max retries.", "type": "string" }, "timeout": { "required": true, "description": "The amount of time for the actor to perform the operation.", "type": "integer" }, "failure": { "required": false, "default": "final_failure", "description": "Points to the operation to invoke on Actor operation failure.", "type": "string" }, "id": { "required": true, "description": "Unique identifier for the operation", "type": "string" }, "failure_timeout": { "required": false, "default": "final_failure_timeout", "description": "Points to the operation to invoke when the time out for the operation occurs.", "type": "string" }, "failure_exception": { "required": false, "default": "final_failure_exception", "description": "Points to the operation to invoke when the current operation causes an exception.", "type": "string" }, "operation": { "required": true, "description": "The definition of the operation to be performed.", "type": "onap.datatype.controlloop.Actor" } }, "description": "An operation supported by an actor" }, "onap.datatype.controlloop.Actor": { "derived_from": "tosca.datatypes.Root", "properties": { "payload": { "required": false, "metadata": { "clamp_possible_values": "ClampExecution:CDS/payload" }, "entry_schema": { "type": "string" }, "description": "Name/value pairs of payload information passed by Policy to the actor", "type": "map" }, "target": { "required": true, "description": "The resource the operation should be performed on.", "type": "onap.datatype.controlloop.Target" }, "operation": { "required": true, "metadata": { "clamp_possible_values": "Dictionary:DefaultOperations,ClampExecution:CDS/operation" }, "description": "The operation the actor is performing.", "type": "string" }, "actor": { "required": true, "metadata": { "clamp_possible_values": "Dictionary:DefaultActors,ClampExecution:CDS/actor" }, "description": "The actor performing the operation.", "type": "string" } }, "description": "An actor/operation/target definition" } }, "topology_template": { "policies": [ { "operational.apex.linkmonitor": { "properties": { "eventInputParameters": { "DMaaPConsumer": { "carrierTechnologyParameters": { "parameters": { "url": "http://message-router:3904/events/unauthenticated.SEC_FAULT_OUTPUT/users/link-monitor-nonrtric?timeout=15000&limit=100" }, "carrierTechnology": "RESTCLIENT", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters" }, "eventName": "LinkFailureInputEvent", "eventProtocolParameters": { "parameters": { "versionAlias": "version", "pojoField": "LinkFailureInput" }, "eventProtocol": "JSON" } } }, "eventOutputParameters": { "RestProducer": { "eventNameFilter": "LinkFailureOutputEvent", "carrierTechnologyParameters": { "parameters": { "url": "http://sdnc-oam:8282/rests/data/network-topology:network-topology/topology=topology-netconf/node={OduId}/yang-ext:mount/o-ran-sc-du-hello-world:network-function/distributed-unit-functions={OduId}/radio-resource-management-policy-ratio=rrm-pol-2", "httpMethod": "PUT", "httpHeaders": [ [ "Authorization","Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="]] }, "carrierTechnology": "RESTCLIENT", "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters" }, "eventProtocolParameters": { "parameters": { "pojoField": "LinkFailureOutput" }, "eventProtocol": "JSON" } }, "StdOutProducer": { "eventNameFilter": "ApexMessageOutputEvent", "carrierTechnologyParameters": { "parameters": { "standardIo": true }, "carrierTechnology": "FILE" }, "eventProtocolParameters": { "parameters": { "pojoField": "message" }, "eventProtocol": "JSON" } } }, "engineServiceParameters": { "policy_type_impl": { "apexPolicyModel": { "key": { "version": "0.0.1", "name": "LinkMonitorModel" }, "policies": { "key": { "version": "0.0.1", "name": "LinkMonitorModel_Policies" }, "policyMap": { "entry": [ { "key": { "version": "0.0.1", "name": "LinkMonitorPolicy" }, "value": { "template": "Freestyle", "policyKey": { "version": "0.0.1", "name": "LinkMonitorPolicy" }, "state": { "entry": [ { "key": "LinkClearedState", "value": { "defaultTask": { "version": "0.0.1", "name": "LinkClearedTask" }, "stateOutputs": { "entry": [ { "key": "LinkClearedLogic_Output_Direct", "value": { "key": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkClearedState", "localName": "LinkClearedLogic_Output_Direct" }, "outgoingEvent": { "version": "0.0.1", "name": "ApexMessageOutputEvent" }, "nextState": { "parentKeyName": "NULL", "parentKeyVersion": "0.0.0", "parentLocalName": "NULL", "localName": "NULL" } } }] }, "taskReferences": { "entry": [ { "key": { "version": "0.0.1", "name": "LinkClearedTask" }, "value": { "key": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkClearedState", "localName": "LinkClearedTask" }, "output": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkClearedState", "localName": "LinkClearedLogic_Output_Direct" }, "outputType": "DIRECT" } }] }, "stateKey": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "NULL", "localName": "LinkClearedState" }, "contextAlbumReference": [], "stateFinalizerLogicMap": { "entry": [] }, "taskSelectionLogic": { "key": "NULL", "logic": "", "logicFlavour": "UNDEFINED" }, "trigger": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsEvent" } } },{ "key": "LinkFailureOrClearedState", "value": { "defaultTask": { "version": "0.0.1", "name": "NoPolicyDefinedTask" }, "stateOutputs": { "entry": [ { "key": "CreateLinkClearedOutfieldsLogic_Output_Direct", "value": { "key": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkFailureOrClearedState", "localName": "CreateLinkClearedOutfieldsLogic_Output_Direct" }, "outgoingEvent": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsEvent" }, "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": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsEvent" }, "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": { "version": "0.0.1", "name": "ApexMessageOutputEvent" }, "nextState": { "parentKeyName": "NULL", "parentKeyVersion": "0.0.0", "parentLocalName": "NULL", "localName": "NULL" } } }] }, "taskReferences": { "entry": [ { "key": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsTask" }, "value": { "key": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkFailureOrClearedState", "localName": "CreateLinkClearedOutfieldsTask" }, "output": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkFailureOrClearedState", "localName": "CreateLinkClearedOutfieldsLogic_Output_Direct" }, "outputType": "DIRECT" } },{ "key": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsTask" }, "value": { "key": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkFailureOrClearedState", "localName": "CreateLinkFailureOutfieldsTask" }, "output": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkFailureOrClearedState", "localName": "CreateLinkFailureOutfieldsLogic_Output_Direct" }, "outputType": "DIRECT" } },{ "key": { "version": "0.0.1", "name": "NoPolicyDefinedTask" }, "value": { "key": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkFailureOrClearedState", "localName": "NoPolicyDefinedTask" }, "output": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkFailureOrClearedState", "localName": "NoPolicyDefinedLogic_Output_Direct" }, "outputType": "DIRECT" } }] }, "stateKey": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "NULL", "localName": "LinkFailureOrClearedState" }, "contextAlbumReference": [], "stateFinalizerLogicMap": { "entry": [] }, "taskSelectionLogic": { "key": "TaskSelectionLogic", "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;", "logicFlavour": "JAVASCRIPT" }, "trigger": { "version": "0.0.1", "name": "LinkFailureInputEvent" } } },{ "key": "LinkFailureState", "value": { "defaultTask": { "version": "0.0.1", "name": "LinkFailureTask" }, "stateOutputs": { "entry": [ { "key": "LinkFailureLogic_Output_Direct", "value": { "key": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkFailureState", "localName": "LinkFailureLogic_Output_Direct" }, "outgoingEvent": { "version": "0.0.1", "name": "LinkFailureOutputEvent" }, "nextState": { "parentKeyName": "NULL", "parentKeyVersion": "0.0.0", "parentLocalName": "NULL", "localName": "NULL" } } }] }, "taskReferences": { "entry": [ { "key": { "version": "0.0.1", "name": "LinkFailureTask" }, "value": { "key": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkFailureState", "localName": "LinkFailureTask" }, "output": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "LinkFailureState", "localName": "LinkFailureLogic_Output_Direct" }, "outputType": "DIRECT" } }] }, "stateKey": { "parentKeyName": "LinkMonitorPolicy", "parentKeyVersion": "0.0.1", "parentLocalName": "NULL", "localName": "LinkFailureState" }, "contextAlbumReference": [], "stateFinalizerLogicMap": { "entry": [] }, "taskSelectionLogic": { "key": "NULL", "logic": "", "logicFlavour": "UNDEFINED" }, "trigger": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsEvent" } } }] }, "firstState": "LinkFailureOrClearedState" } }] } }, "events": { "key": { "version": "0.0.1", "name": "LinkMonitorModel_Events" }, "eventMap": { "entry": [ { "key": { "version": "0.0.1", "name": "ApexMessageOutputEvent" }, "value": { "key": { "version": "0.0.1", "name": "ApexMessageOutputEvent" }, "target": "APEX", "source": "APEX", "nameSpace": "org.onap.policy.apex.auth.clieditor", "parameter": { "entry": [ { "key": "message", "value": { "optional": false, "key": "message", "fieldSchemaKey": { "version": "0.0.1", "name": "MessageSchema" } } }] } } },{ "key": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsEvent" }, "value": { "key": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsEvent" }, "target": "APEX", "source": "APEX", "nameSpace": "org.onap.policy.apex.auth.clieditor", "parameter": { "entry": [ { "key": "OruId", "value": { "optional": false, "key": "OruId", "fieldSchemaKey": { "version": "0.0.1", "name": "OruIdSchema" } } }] } } },{ "key": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsEvent" }, "value": { "key": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsEvent" }, "target": "APEX", "source": "APEX", "nameSpace": "org.onap.policy.apex.auth.clieditor", "parameter": { "entry": [ { "key": "OduId", "value": { "optional": false, "key": "OduId", "fieldSchemaKey": { "version": "0.0.1", "name": "OduIdSchema" } } },{ "key": "OruId", "value": { "optional": false, "key": "OruId", "fieldSchemaKey": { "version": "0.0.1", "name": "OruIdSchema" } } }] } } },{ "key": { "version": "0.0.1", "name": "LinkFailureInputEvent" }, "value": { "key": { "version": "0.0.1", "name": "LinkFailureInputEvent" }, "target": "APEX", "source": "DMAAP", "nameSpace": "org.onap.policy.apex.auth.clieditor", "parameter": { "entry": [ { "key": "LinkFailureInput", "value": { "optional": false, "key": "LinkFailureInput", "fieldSchemaKey": { "version": "0.0.1", "name": "LinkFailureInputSchema" } } }] } } },{ "key": { "version": "0.0.1", "name": "LinkFailureOutputEvent" }, "value": { "key": { "version": "0.0.1", "name": "LinkFailureOutputEvent" }, "target": "OAM", "source": "APEX", "nameSpace": "org.onap.policy.apex.auth.clieditor", "parameter": { "entry": [ { "key": "LinkFailureOutput", "value": { "optional": false, "key": "LinkFailureOutput", "fieldSchemaKey": { "version": "0.0.1", "name": "LinkFailureOutputSchema" } } }] } } }] } }, "keyInformation": { "key": { "version": "0.0.1", "name": "LinkMonitorModel_KeyInfo" }, "keyInfoMap": { "entry": [ { "key": { "version": "0.0.1", "name": "ApexMessageOutputEvent" }, "value": { "key": { "version": "0.0.1", "name": "ApexMessageOutputEvent" }, "description": "Generated description for concept referred to by key \"ApexMessageOutputEvent:0.0.1\"", "UUID": "cca47d74-7754-4a61-b163-ca31f66b157b" } },{ "key": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsEvent" }, "value": { "key": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsEvent" }, "description": "Generated description for concept referred to by key \"CreateLinkClearedOutfieldsEvent:0.0.1\"", "UUID": "a295d6a3-1b73-387e-abba-b41e9b608802" } },{ "key": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsTask" }, "value": { "key": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsTask" }, "description": "This task creates the output fields when link failure is cleared.", "UUID": "fd594e88-411d-4a94-b2be-697b3a0d7adf" } },{ "key": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsEvent" }, "value": { "key": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsEvent" }, "description": "Generated description for concept referred to by key \"CreateLinkFailureOutfieldsEvent:0.0.1\"", "UUID": "02be2b5d-45b7-3c54-ae54-97f2b5c30125" } },{ "key": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsTask" }, "value": { "key": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsTask" }, "description": "This task the output fields when link failure is detected.", "UUID": "ac3d9842-80af-4a98-951c-bd79a431c613" } },{ "key": { "version": "0.0.1", "name": "LinkClearedTask" }, "value": { "key": { "version": "0.0.1", "name": "LinkClearedTask" }, "description": "This task sends a message to the output when link failure is cleared.", "UUID": "eecfde90-896c-4343-8f9c-2603ced94e2d" } },{ "key": { "version": "0.0.1", "name": "LinkFailureInputEvent" }, "value": { "key": { "version": "0.0.1", "name": "LinkFailureInputEvent" }, "description": "Generated description for concept referred to by key \"LinkFailureInputEvent:0.0.1\"", "UUID": "c4500941-3f98-4080-a9cc-5b9753ed050b" } },{ "key": { "version": "0.0.1", "name": "LinkFailureInputSchema" }, "value": { "key": { "version": "0.0.1", "name": "LinkFailureInputSchema" }, "description": "Generated description for concept referred to by key \"LinkFailureInputSchema:0.0.1\"", "UUID": "3b3974fc-3012-3b02-9f33-c9d8eefe4dc1" } },{ "key": { "version": "0.0.1", "name": "LinkFailureOutputEvent" }, "value": { "key": { "version": "0.0.1", "name": "LinkFailureOutputEvent" }, "description": "Generated description for concept referred to by key \"LinkFailureOutputEvent:0.0.1\"", "UUID": "4f04aa98-e917-4f4a-882a-c75ba5a99374" } },{ "key": { "version": "0.0.1", "name": "LinkFailureOutputSchema" }, "value": { "key": { "version": "0.0.1", "name": "LinkFailureOutputSchema" }, "description": "Generated description for concept referred to by key \"LinkFailureOutputSchema:0.0.1\"", "UUID": "2d1a7f6e-eb9a-3984-be1f-283d98111b84" } },{ "key": { "version": "0.0.1", "name": "LinkFailureTask" }, "value": { "key": { "version": "0.0.1", "name": "LinkFailureTask" }, "description": "This task updates the config for O-RU when link failure is detected.", "UUID": "3351b0f4-cf06-4fa2-8823-edf67bd30223" } },{ "key": { "version": "0.0.1", "name": "LinkMonitorModel" }, "value": { "key": { "version": "0.0.1", "name": "LinkMonitorModel" }, "description": "This is the Apex Policy Model for link monitoring.", "UUID": "540226fb-55ee-4f0e-a444-983a0494818e" } },{ "key": { "version": "0.0.1", "name": "LinkMonitorModel_Events" }, "value": { "key": { "version": "0.0.1", "name": "LinkMonitorModel_Events" }, "description": "Generated description for concept referred to by key \"LinkMonitorModel_Events:0.0.1\"", "UUID": "27ad3e7e-fe3b-3bd6-9081-718705c2bcea" } },{ "key": { "version": "0.0.1", "name": "LinkMonitorModel_KeyInfo" }, "value": { "key": { "version": "0.0.1", "name": "LinkMonitorModel_KeyInfo" }, "description": "Generated description for concept referred to by key \"LinkMonitorModel_KeyInfo:0.0.1\"", "UUID": "ea0b5f58-eefd-358a-9660-840c640bf981" } },{ "key": { "version": "0.0.1", "name": "LinkMonitorModel_Policies" }, "value": { "key": { "version": "0.0.1", "name": "LinkMonitorModel_Policies" }, "description": "Generated description for concept referred to by key \"LinkMonitorModel_Policies:0.0.1\"", "UUID": "ee9e0b0f-2b7d-3ab7-9a98-c5ec05ed823d" } },{ "key": { "version": "0.0.1", "name": "LinkMonitorModel_Schemas" }, "value": { "key": { "version": "0.0.1", "name": "LinkMonitorModel_Schemas" }, "description": "Generated description for concept referred to by key \"LinkMonitorModel_Schemas:0.0.1\"", "UUID": "fa5f9b8f-796c-3c70-84e9-5140c958c4bb" } },{ "key": { "version": "0.0.1", "name": "LinkMonitorModel_Tasks" }, "value": { "key": { "version": "0.0.1", "name": "LinkMonitorModel_Tasks" }, "description": "Generated description for concept referred to by key \"LinkMonitorModel_Tasks:0.0.1\"", "UUID": "eec592f7-69d5-39a9-981a-e552f787ed01" } },{ "key": { "version": "0.0.1", "name": "LinkMonitorPolicy" }, "value": { "key": { "version": "0.0.1", "name": "LinkMonitorPolicy" }, "description": "Generated description for concept referred to by key \"LinkMonitorPolicy:0.0.1\"", "UUID": "6c5e410f-489a-46ff-964e-982ce6e8b6d0" } },{ "key": { "version": "0.0.1", "name": "MessageSchema" }, "value": { "key": { "version": "0.0.1", "name": "MessageSchema" }, "description": "A schema for messages from apex", "UUID": "ac4b34ac-39d6-3393-a267-8d5b84854018" } },{ "key": { "version": "0.0.1", "name": "NoPolicyDefinedTask" }, "value": { "key": { "version": "0.0.1", "name": "NoPolicyDefinedTask" }, "description": "This task sends a message to the output when an event is received for which no policy has been defined.", "UUID": "d48b619e-d00d-4008-b884-02d76ea4350b" } },{ "key": { "version": "0.0.1", "name": "OduIdSchema" }, "value": { "key": { "version": "0.0.1", "name": "OduIdSchema" }, "description": "A schema for O-DU-ID", "UUID": "50662174-a88b-3cbd-91bd-8e91b40b2660" } },{ "key": { "version": "0.0.1", "name": "OruIdSchema" }, "value": { "key": { "version": "0.0.1", "name": "OruIdSchema" }, "description": "A schema for O-RU-ID", "UUID": "54daf32b-015f-39cd-8530-a1175c5553e9" } }] } }, "schemas": { "key": { "version": "0.0.1", "name": "LinkMonitorModel_Schemas" }, "schemas": { "entry": [ { "key": { "version": "0.0.1", "name": "LinkFailureInputSchema" }, "value": { "schemaDefinition": "{ \"type\": \"record\", \"name\": \"Link_Failure_Input\", \"fields\": [ { \"name\": \"event\", \"type\": { \"type\": \"record\", \"name\": \"Event_Type\", \"fields\": [ { \"name\": \"commonEventHeader\", \"type\": { \"type\": \"record\", \"name\": \"Common_Event_Header_Type\", \"fields\": [ { \"name\": \"domain\", \"type\": \"string\" }, { \"name\": \"eventId\", \"type\": \"string\" }, { \"name\": \"eventName\", \"type\": \"string\" }, { \"name\": \"eventType\", \"type\": \"string\" }, { \"name\": \"sequence\", \"type\": \"int\" }, { \"name\": \"priority\", \"type\": \"string\" }, { \"name\": \"reportingEntityId\", \"type\": \"string\" }, { \"name\": \"reportingEntityName\", \"type\": \"string\" }, { \"name\": \"sourceId\", \"type\": \"string\" }, { \"name\": \"sourceName\", \"type\": \"string\" }, { \"name\": \"startEpochMicrosec\", \"type\": \"string\" }, { \"name\": \"lastEpochMicrosec\", \"type\": \"string\" }, { \"name\": \"nfNamingCode\", \"type\": \"string\" }, { \"name\": \"nfVendorName\", \"type\": \"string\" }, { \"name\": \"timeZoneOffset\", \"type\": \"string\" }, { \"name\": \"version\", \"type\": \"string\" }, { \"name\": \"vesEventListenerVersion\", \"type\": \"string\" } ] } }, { \"name\": \"faultFields\", \"type\": { \"type\": \"record\", \"name\": \"Fault_Fields_Type\", \"fields\": [ { \"name\": \"faultFieldsVersion\", \"type\": \"string\" }, { \"name\": \"alarmCondition\", \"type\": \"string\" }, { \"name\": \"alarmInterfaceA\", \"type\": \"string\" }, { \"name\": \"eventSourceType\", \"type\": \"string\" }, { \"name\": \"specificProblem\", \"type\": \"string\" }, { \"name\": \"eventSeverity\", \"type\": \"string\" }, { \"name\": \"vfStatus\", \"type\": \"string\" }, { \"name\": \"alarmAdditionalInformation\", \"type\": { \"type\": \"record\", \"name\": \"Alarm_Additional_Information_Type\", \"fields\": [ { \"name\": \"eventTime\", \"type\": \"string\" }, { \"name\": \"equipType\", \"type\": \"string\" }, { \"name\": \"vendor\", \"type\": \"string\" }, { \"name\": \"model\", \"type\": \"string\" } ] } } ] } } ] } } ] }", "key": { "version": "0.0.1", "name": "LinkFailureInputSchema" }, "schemaFlavour": "Avro" } },{ "key": { "version": "0.0.1", "name": "LinkFailureOutputSchema" }, "value": { "schemaDefinition": "{ \"name\": \"Link_Failure_Output\", \"type\": \"record\", \"fields\": [ { \"name\": \"o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_radio_DasH_resource_DasH_management_DasH_policy_DasH_ratio\", \"type\": { \"type\": \"array\", \"items\": { \"name\": \"o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_radio_DasH_resource_DasH_management_DasH_policy_DasH_ratio_record\", \"type\": \"record\", \"fields\": [ { \"name\": \"id\", \"type\": \"string\" }, { \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_max_DasH_ratio\", \"type\": \"int\" }, { \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_members\", \"type\": { \"type\": \"array\", \"items\": { \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_members_record\", \"type\": \"record\", \"fields\": [ { \"name\": \"mobile_DasH_country_DasH_code\", \"type\": \"string\" }, { \"name\": \"mobile_DasH_network_DasH_code\", \"type\": \"string\" }, { \"name\": \"slice_DasH_differentiator\", \"type\": \"int\" }, { \"name\": \"slice_DasH_service_DasH_type\", \"type\": \"int\" } ] } } }, { \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_min_DasH_ratio\", \"type\": \"int\" }, { \"name\": \"user_DasH_label\", \"type\": \"string\" }, { \"name\": \"resource_DasH_type\", \"type\": \"string\" }, { \"name\": \"radio_DasH_resource_DasH_management_DasH_policy_DasH_dedicated_DasH_ratio\", \"type\": \"int\" }, { \"name\": \"administrative_DasH_state\", \"type\": \"string\" } ] } } } ] }", "key": { "version": "0.0.1", "name": "LinkFailureOutputSchema" }, "schemaFlavour": "Avro" } },{ "key": { "version": "0.0.1", "name": "MessageSchema" }, "value": { "schemaDefinition": "java.lang.String", "key": { "version": "0.0.1", "name": "MessageSchema" }, "schemaFlavour": "Java" } },{ "key": { "version": "0.0.1", "name": "OduIdSchema" }, "value": { "schemaDefinition": "java.lang.String", "key": { "version": "0.0.1", "name": "OduIdSchema" }, "schemaFlavour": "Java" } },{ "key": { "version": "0.0.1", "name": "OruIdSchema" }, "value": { "schemaDefinition": "java.lang.String", "key": { "version": "0.0.1", "name": "OruIdSchema" }, "schemaFlavour": "Java" } }] } }, "tasks": { "key": { "version": "0.0.1", "name": "LinkMonitorModel_Tasks" }, "taskMap": { "entry": [ { "key": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsTask" }, "value": { "taskParameters": { "entry": [] }, "key": { "version": "0.0.1", "name": "CreateLinkClearedOutfieldsTask" }, "taskLogic": { "key": "TaskLogic", "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;", "logicFlavour": "JAVASCRIPT" }, "inputFields": { "entry": [ { "key": "LinkFailureInput", "value": { "optional": false, "key": "LinkFailureInput", "fieldSchemaKey": { "version": "0.0.1", "name": "LinkFailureInputSchema" } } }] }, "outputFields": { "entry": [ { "key": "OruId", "value": { "optional": false, "key": "OruId", "fieldSchemaKey": { "version": "0.0.1", "name": "OruIdSchema" } } }] }, "contextAlbumReference": [] } },{ "key": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsTask" }, "value": { "taskParameters": { "entry": [] }, "key": { "version": "0.0.1", "name": "CreateLinkFailureOutfieldsTask" }, "taskLogic": { "key": "TaskLogic", "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;", "logicFlavour": "JAVASCRIPT" }, "inputFields": { "entry": [ { "key": "LinkFailureInput", "value": { "optional": false, "key": "LinkFailureInput", "fieldSchemaKey": { "version": "0.0.1", "name": "LinkFailureInputSchema" } } }] }, "outputFields": { "entry": [ { "key": "OduId", "value": { "optional": false, "key": "OduId", "fieldSchemaKey": { "version": "0.0.1", "name": "OduIdSchema" } } },{ "key": "OruId", "value": { "optional": false, "key": "OruId", "fieldSchemaKey": { "version": "0.0.1", "name": "OruIdSchema" } } }] }, "contextAlbumReference": [] } },{ "key": { "version": "0.0.1", "name": "LinkClearedTask" }, "value": { "taskParameters": { "entry": [] }, "key": { "version": "0.0.1", "name": "LinkClearedTask" }, "taskLogic": { "key": "TaskLogic", "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;", "logicFlavour": "JAVASCRIPT" }, "inputFields": { "entry": [ { "key": "OruId", "value": { "optional": false, "key": "OruId", "fieldSchemaKey": { "version": "0.0.1", "name": "OruIdSchema" } } }] }, "outputFields": { "entry": [ { "key": "message", "value": { "optional": false, "key": "message", "fieldSchemaKey": { "version": "0.0.1", "name": "MessageSchema" } } }] }, "contextAlbumReference": [] } },{ "key": { "version": "0.0.1", "name": "LinkFailureTask" }, "value": { "taskParameters": { "entry": [] }, "key": { "version": "0.0.1", "name": "LinkFailureTask" }, "taskLogic": { "key": "TaskLogic", "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({ \"id\":\"rrm-pol-2\", \"radio_DasH_resource_DasH_management_DasH_policy_DasH_max_DasH_ratio\":25, \"radio_DasH_resource_DasH_management_DasH_policy_DasH_members\": [ { \"mobile_DasH_country_DasH_code\":\"310\", \"mobile_DasH_network_DasH_code\":\"150\", \"slice_DasH_differentiator\":1, \"slice_DasH_service_DasH_type\":1 } ], \"radio_DasH_resource_DasH_management_DasH_policy_DasH_min_DasH_ratio\":15, \"user_DasH_label\":\"rrm-pol-2\", \"resource_DasH_type\":\"prb\", \"radio_DasH_resource_DasH_management_DasH_policy_DasH_dedicated_DasH_ratio\":20, \"administrative_DasH_state\":\"unlocked\" }); } linkFailureOutput.put(\"o_DasH_ran_DasH_sc_DasH_du_DasH_hello_DasH_world_ColoN_radio_DasH_resource_DasH_management_DasH_policy_DasH_ratio\", unlockMessageArray); executor.outFields.put(\"LinkFailureOutput\", linkFailureOutput.toString()); executor.getExecutionProperties().setProperty(\"OduId\", oduId); executor.getExecutionProperties().setProperty(\"OruId\", oruId); executor.logger.info(executor.outFields); true;", "logicFlavour": "JAVASCRIPT" }, "inputFields": { "entry": [ { "key": "OduId", "value": { "optional": false, "key": "OduId", "fieldSchemaKey": { "version": "0.0.1", "name": "OduIdSchema" } } },{ "key": "OruId", "value": { "optional": false, "key": "OruId", "fieldSchemaKey": { "version": "0.0.1", "name": "OruIdSchema" } } }] }, "outputFields": { "entry": [ { "key": "LinkFailureOutput", "value": { "optional": false, "key": "LinkFailureOutput", "fieldSchemaKey": { "version": "0.0.1", "name": "LinkFailureOutputSchema" } } }] }, "contextAlbumReference": [] } },{ "key": { "version": "0.0.1", "name": "NoPolicyDefinedTask" }, "value": { "taskParameters": { "entry": [] }, "key": { "version": "0.0.1", "name": "NoPolicyDefinedTask" }, "taskLogic": { "key": "TaskLogic", "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+\"'\"); executor.outFields.put(\"message\", \"No policy defined for this event\"); executor.logger.info(executor.outFields); true;", "logicFlavour": "JAVASCRIPT" }, "inputFields": { "entry": [ { "key": "LinkFailureInput", "value": { "optional": false, "key": "LinkFailureInput", "fieldSchemaKey": { "version": "0.0.1", "name": "LinkFailureInputSchema" } } }] }, "outputFields": { "entry": [ { "key": "message", "value": { "optional": false, "key": "message", "fieldSchemaKey": { "version": "0.0.1", "name": "MessageSchema" } } }] }, "contextAlbumReference": [] } }] } } } }, "version": "0.0.1", "id": 101, "instanceCount": 1, "name": "LinkMonitorApexEngine", "engineParameters": { "taskParameters": [ { "key": "ORU-ODU-Map", "value": "{ \"o-ru-11211\": \"o-du-1121\", \"o-ru-11223\": \"o-du-1122\", \"o-ru-11222\": \"o-du-1122\", \"o-ru-11221\": \"o-du-1122\" }" }], "contextParameters": { "schemaParameters": { "Avro": { "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters" } }, "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters" }, "executorParameters": { "JAVASCRIPT": { "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" } } }, "deploymentPort": 12345 } }, "metadata": { "policy-id": "operational.apex.linkmonitor", "policy-version": "1.0.0" }, "version": "1.0.0", "type_version": "1.0.0", "type": "onap.policies.controlloop.operational.common.Apex" } }], "node_templates": { "org.onap.domain.linkmonitor.LinkMonitorControlLoopDefinition0": { "properties": { "elements": [ { "version": "1.2.3", "name": "org.onap.domain.linkmonitor.LinkMonitorPolicyControlLoopElement" }], "provider": "Ericsson" }, "description": "Control loop for Link Monitor", "version": "1.2.3", "type_version": "1.0.0", "type": "org.onap.policy.clamp.controlloop.ControlLoop" }, "org.onap.policy.controlloop.PolicyControlLoopParticipant": { "properties": { "provider": "ONAP" }, "description": "Participant for policy framework", "version": "2.3.1", "type_version": "1.0.1", "type": "org.onap.policy.clamp.controlloop.Participant" }, "org.onap.domain.linkmonitor.LinkMonitorPolicyControlLoopElement": { "properties": { "participantType": { "version": "2.3.1", "name": "org.onap.policy.controlloop.PolicyControlLoopParticipant" }, "policy_type_id": { "version": "1.0.0", "name": "onap.policies.controlloop.operational.common.Apex" }, "participant_id": { "version": "1.0.0", "name": "org.onap.PM_Policy" }, "pdpGroup": "defaultGroup", "provider": "Ericsson", "policy_id": { "version": "1.0.0", "name": "operational.apex.linkmonitor" } }, "description": "Control loop element for the Link Monitor", "version": "1.2.3", "type_version": "1.0.1", "type": "org.onap.policy.clamp.controlloop.PolicyControlLoopElement" } } }, "policy_types": { "onap.policies.controlloop.operational.Common": { "derived_from": "tosca.policies.Root", "properties": { "abatement": { "required": true, "default": false, "description": "Whether an abatement event message will be expected for the control loop from DCAE.", "type": "boolean" }, "operations": { "required": true, "entry_schema": { "type": "onap.datatype.controlloop.Operation" }, "description": "List of operations to be performed when Control Loop is triggered.", "type": "list" }, "timeout": { "required": true, "description": "Overall timeout for executing all the operations. This timeout should equal or exceed the total timeout for each operation listed. ", "type": "integer" }, "id": { "required": true, "description": "The unique control loop id.", "type": "string" }, "trigger": { "required": true, "description": "Initial operation to execute upon receiving an Onset event message for the Control Loop.", "type": "string" } }, "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. ", "version": "1.0.0", "name": "onap.policies.controlloop.operational.Common" }, "onap.policies.controlloop.operational.common.Apex": { "derived_from": "onap.policies.controlloop.operational.Common", "properties": { "javaProperties": { "required": false, "description": "Name/value pairs of properties to be set for APEX if needed.", "type": "string" }, "eventInputParameters": { "required": true, "description": "The event input parameters.", "type": "string" }, "eventOutputParameters": { "required": true, "description": "The event output parameters.", "type": "string" }, "engineServiceParameters": { "required": true, "description": "The engine parameters like name, instanceCount, policy implementation, parameters etc.", "type": "string" } }, "description": "Operational policies for Apex PDP", "version": "1.0.0", "type_version": "1.0.0", "name": "onap.policies.controlloop.operational.common.Apex" } }, "tosca_definitions_version": "tosca_simple_yaml_1_1_0", "node_types": { "org.onap.policy.clamp.controlloop.ControlLoop": { "derived_from": "tosca.nodetypes.Root", "properties": { "elements": { "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", "type": "list" }, "provider": { "required": false, "metadata": { "common": true }, "description": "Specifies the organization that provides the control loop element", "type": "string" } }, "version": "1.0.1" }, "org.onap.policy.clamp.controlloop.Participant": { "derived_from": "tosca.nodetypes.Root", "properties": { "provider": { "requred": false, "type": "string" } }, "version": "1.0.1" }, "org.onap.policy.clamp.controlloop.ControlLoopElement": { "derived_from": "tosca.nodetypes.Root", "properties": { "runningToPassiveTimeout": { "required": false, "metadata": { "common": true }, "default": 60, "constraints": [ { "greater_or_equal": 0 }], "description": "The maximum time in seconds to wait for a state chage from running to passive", "type": "integer" }, "participantType": { "required": true, "metadata": { "common": true }, "description": "The identity of the participant type that hosts this type of Control Loop Element", "type": "onap.datatypes.ToscaConceptIdentifier" }, "startPhase": { "required": false, "metadata": { "common": true }, "constraints": [ { "greater_or_equal": 0 }], "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", "type": "integer" }, "passiveToUninitializedTimeout": { "required": false, "metadata": { "common": true }, "default": 60, "constraints": [ { "greater_or_equal": 0 }], "description": "The maximum time in seconds to wait for a state chage from passive to uninitialized", "type": "integer" }, "uninitializedToPassiveTimeout": { "required": false, "metadata": { "common": true }, "default": 60, "constraints": [ { "greater_or_equal": 0 }], "description": "The maximum time in seconds to wait for a state chage from uninitialized to passive", "type": "integer" }, "participant_id": { "metadata": { "common": true }, "requred": true, "type": "onap.datatypes.ToscaConceptIdentifier" }, "provider": { "required": false, "metadata": { "common": true }, "description": "Specifies the organization that provides the control loop element", "type": "string" }, "passiveToRunningTimeout": { "required": false, "metadata": { "common": true }, "default": 60, "constraints": [ { "greater_or_equal": 0 }], "description": "The maximum time in seconds to wait for a state chage from passive to running", "type": "integer" } }, "version": "1.0.1" }, "org.onap.policy.clamp.controlloop.PolicyControlLoopElement": { "derived_from": "org.onap.policy.clamp.controlloop.ControlLoopElement", "properties": { "policy_type_id": { "requred": true, "type": "onap.datatypes.ToscaConceptIdentifier" }, "policy_id": { "requred": false, "type": "onap.datatypes.ToscaConceptIdentifier" } }, "version": "1.0.1" } } }