Add policy definition data under instance properties in CSIT 87/139687/1
authorFrancescoFioraEst <francesco.fiora@est.tech>
Fri, 20 Sep 2024 15:21:05 +0000 (16:21 +0100)
committerFrancesco Fiora <francesco.fiora@est.tech>
Fri, 6 Dec 2024 14:03:35 +0000 (14:03 +0000)
Issue-ID: POLICY-5197
Change-Id: Ia8c7707285eb8368b99acef86982c67251d1b20d
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
csit/resources/tests/data/AcDocker.json
csit/resources/tests/data/AcK8s.json
csit/resources/tests/data/PMSHMultipleACTosca.yaml [deleted file]

index 5714825..25f0c71 100644 (file)
             },
             "description": "Policy Automation Composition Element for the Demo",
             "properties": {
-                "policy_type_id": {
-                    "name": "onap.policies.native.Apex",
-                    "version": "1.0.0"
+                "tosca_definitions_version": "tosca_simple_yaml_1_3",
+                "name": "NULL",
+                "version": "0.0.0",
+                "data_types": {
+                    "onap.datatypes.native.apex.EngineService": {
+                        "derived_from": "tosca.datatypes.Root",
+                        "properties": {
+                            "name": {
+                                "type": "string",
+                                "description": "Specifies the engine name",
+                                "required": false,
+                                "default": "ApexEngineService"
+                            },
+                            "version": {
+                                "type": "string",
+                                "description": "Specifies the engine version in double dotted format",
+                                "required": false,
+                                "default": "1.0.0"
+                            },
+                            "id": {
+                                "type": "integer",
+                                "description": "Specifies the engine id",
+                                "required": true
+                            },
+                            "instance_count": {
+                                "type": "integer",
+                                "description": "Specifies the number of engine threads that should be run",
+                                "required": true
+                            },
+                            "deployment_port": {
+                                "type": "integer",
+                                "description": "Specifies the port to connect to for engine administration",
+                                "required": false,
+                                "default": 1
+                            },
+                            "policy_model_file_name": {
+                                "type": "string",
+                                "description": "The name of the file from which to read the APEX policy model",
+                                "required": false
+                            },
+                            "policy_type_impl": {
+                                "type": "string",
+                                "description": "The policy type implementation from which to read the APEX policy model",
+                                "required": false
+                            },
+                            "periodic_event_period": {
+                                "type": "string",
+                                "description": "The time interval in milliseconds for the periodic scanning event, 0 means don't scan",
+                                "required": false
+                            },
+                            "engine": {
+                                "type": "onap.datatypes.native.apex.engineservice.Engine",
+                                "description": "The parameters for all engines in the APEX engine service",
+                                "required": true
+                            }
+                        }
+                    },
+                    "onap.datatypes.native.apex.EventHandler": {
+                        "derived_from": "tosca.datatypes.Root",
+                        "properties": {
+                            "name": {
+                                "type": "string",
+                                "description": "Specifies the event handler name, if not specified this is set to the key name",
+                                "required": false
+                            },
+                            "carrier_technology": {
+                                "type": "onap.datatypes.native.apex.CarrierTechnology",
+                                "description": "Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)",
+                                "required": true
+                            },
+                            "event_protocol": {
+                                "type": "onap.datatypes.native.apex.EventProtocol",
+                                "description": "Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)",
+                                "required": true
+                            },
+                            "event_name": {
+                                "type": "string",
+                                "description": "Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent",
+                                "required": false
+                            },
+                            "event_name_filter": {
+                                "type": "string",
+                                "description": "Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through",
+                                "required": false
+                            },
+                            "synchronous_mode": {
+                                "type": "boolean",
+                                "description": "Specifies the event handler is syncronous (receive event and send response)",
+                                "required": false,
+                                "default": false
+                            },
+                            "synchronous_peer": {
+                                "type": "string",
+                                "description": "The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode",
+                                "required": false
+                            },
+                            "synchronous_timeout": {
+                                "type": "integer",
+                                "description": "The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode",
+                                "required": false
+                            },
+                            "requestor_mode": {
+                                "type": "boolean",
+                                "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)",
+                                "required": false,
+                                "default": false
+                            },
+                            "requestor_peer": {
+                                "type": "string",
+                                "description": "The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode",
+                                "required": false
+                            },
+                            "requestor_timeout": {
+                                "type": "integer",
+                                "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode",
+                                "required": false
+                            }
+                        }
+                    },
+                    "onap.datatypes.native.apex.CarrierTechnology": {
+                        "derived_from": "tosca.datatypes.Root",
+                        "properties": {
+                            "label": {
+                                "type": "string",
+                                "description": "The label (name) of the carrier technology (such as REST, Kafka, WebSocket)",
+                                "required": true
+                            },
+                            "plugin_parameter_class_name": {
+                                "type": "string",
+                                "description": "The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class",
+                                "required": false
+                            }
+                        }
+                    },
+                    "onap.datatypes.native.apex.EventProtocol": {
+                        "derived_from": "tosca.datatypes.Root",
+                        "properties": {
+                            "label": {
+                                "type": "string",
+                                "description": "The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)",
+                                "required": true
+                            },
+                            "event_protocol_plugin_class": {
+                                "type": "string",
+                                "description": "The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class",
+                                "required": false
+                            }
+                        }
+                    },
+                    "onap.datatypes.native.apex.Environment": {
+                        "derived_from": "tosca.datatypes.Root",
+                        "properties": {
+                            "name": {
+                                "type": "string",
+                                "description": "The name of the environment variable",
+                                "required": true
+                            },
+                            "value": {
+                                "type": "string",
+                                "description": "The value of the environment variable",
+                                "required": true
+                            }
+                        }
+                    },
+                    "onap.datatypes.native.apex.engineservice.Engine": {
+                        "derived_from": "tosca.datatypes.Root",
+                        "properties": {
+                            "context": {
+                                "type": "onap.datatypes.native.apex.engineservice.engine.Context",
+                                "description": "The properties for handling context in APEX engines, defaults to using Java maps for context",
+                                "required": false
+                            },
+                            "executors": {
+                                "type": "map",
+                                "description": "The plugins for policy executors used in engines such as javascript, MVEL, Jython",
+                                "required": true,
+                                "entry_schema": {
+                                    "description": "The plugin class path for this policy executor",
+                                    "type": "string"
+                                }
+                            }
+                        }
+                    },
+                    "onap.datatypes.native.apex.engineservice.engine.Context": {
+                        "derived_from": "tosca.datatypes.Root",
+                        "properties": {
+                            "distributor": {
+                                "type": "onap.datatypes.native.apex.Plugin",
+                                "description": "The plugin to be used for distributing context between APEX PDPs at runtime",
+                                "required": false
+                            },
+                            "schemas": {
+                                "type": "map",
+                                "description": "The plugins for context schemas available in APEX PDPs such as Java and Avro",
+                                "required": false,
+                                "entry_schema": {
+                                    "type": "onap.datatypes.native.apex.Plugin"
+                                }
+                            },
+                            "locking": {
+                                "type": "onap.datatypes.native.apex.Plugin",
+                                "description": "The plugin to be used for locking context in and between APEX PDPs at runtime",
+                                "required": false
+                            },
+                            "persistence": {
+                                "type": "onap.datatypes.native.apex.Plugin",
+                                "description": "The plugin to be used for persisting context for APEX PDPs at runtime",
+                                "required": false
+                            }
+                        }
+                    },
+                    "onap.datatypes.native.apex.Plugin": {
+                        "derived_from": "tosca.datatypes.Root",
+                        "properties": {
+                            "name": {
+                                "type": "string",
+                                "description": "The name of the executor such as Javascript, Jython or MVEL",
+                                "required": true
+                            },
+                            "plugin_class_name": {
+                                "type": "string",
+                                "description": "The class path of the plugin class for this executor"
+                            }
+                        }
+                    }
                 },
-                "policy_id": {
-                    "get_input": "acm_element_policy"
+                "policy_types": {
+                    "onap.policies.Native": {
+                        "derived_from": "tosca.policies.Root",
+                        "description": "a base policy type for all native PDP policies",
+                        "version": "1.0.0",
+                        "name": "onap.policies.Native"
+                    },
+                    "onap.policies.native.Apex": {
+                        "derived_from": "onap.policies.Native",
+                        "description": "a policy type for native apex policies",
+                        "version": "1.0.0",
+                        "name": "onap.policies.native.Apex",
+                        "properties": {
+                            "engine_service": {
+                                "type": "onap.datatypes.native.apex.EngineService",
+                                "description": "APEX Engine Service Parameters"
+                            },
+                            "inputs": {
+                                "type": "map",
+                                "description": "Inputs for handling events coming into the APEX engine",
+                                "entry_schema": {
+                                    "type": "onap.datatypes.native.apex.EventHandler"
+                                }
+                            },
+                            "outputs": {
+                                "type": "map",
+                                "description": "Outputs for handling events going out of the APEX engine",
+                                "entry_schema": {
+                                    "type": "onap.datatypes.native.apex.EventHandler"
+                                }
+                            },
+                            "environment": {
+                                "type": "list",
+                                "description": "Envioronmental parameters for the APEX engine",
+                                "entry_schema": {
+                                    "type": "onap.datatypes.native.apex.Environment"
+                                }
+                            }
+                        }
+                    }
+                },
+                "topology_template": {
+                    "policies": [
+                        {
+                            "onap.policies.native.apex.ac.element": {
+                                "type": "onap.policies.native.Apex",
+                                "type_version": "1.0.0",
+                                "properties": {
+                                    "engineServiceParameters": {
+                                        "name": "MyApexEngine",
+                                        "version": "0.0.1",
+                                        "id": 45,
+                                        "instanceCount": 2,
+                                        "deploymentPort": 12561,
+                                        "engineParameters": {
+                                            "executorParameters": {
+                                                "JAVASCRIPT": {
+                                                    "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+                                                }
+                                            },
+                                            "contextParameters": {
+                                                "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+                                                "schemaParameters": {
+                                                    "Json": {
+                                                        "parameterClassName": "org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters"
+                                                    }
+                                                }
+                                            }
+                                        },
+                                        "policy_type_impl": {
+                                            "policies": {
+                                                "key": {
+                                                    "name": "APEXacElementPolicy_Policies",
+                                                    "version": "0.0.1"
+                                                },
+                                                "policyMap": {
+                                                    "entry": [
+                                                        {
+                                                            "key": {
+                                                                "name": "ReceiveEventPolicy",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "policyKey": {
+                                                                    "name": "ReceiveEventPolicy",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "template": "Freestyle",
+                                                                "state": {
+                                                                    "entry": [
+                                                                        {
+                                                                            "key": "DecideForwardingState",
+                                                                            "value": {
+                                                                                "stateKey": {
+                                                                                    "parentKeyName": "ReceiveEventPolicy",
+                                                                                    "parentKeyVersion": "0.0.1",
+                                                                                    "parentLocalName": "NULL",
+                                                                                    "localName": "DecideForwardingState"
+                                                                                },
+                                                                                "trigger": {
+                                                                                    "name": "AcElementEvent",
+                                                                                    "version": "0.0.1"
+                                                                                },
+                                                                                "stateOutputs": {
+                                                                                    "entry": [
+                                                                                        {
+                                                                                            "key": "CreateForwardPayload",
+                                                                                            "value": {
+                                                                                                "key": {
+                                                                                                    "parentKeyName": "ReceiveEventPolicy",
+                                                                                                    "parentKeyVersion": "0.0.1",
+                                                                                                    "parentLocalName": "DecideForwardingState",
+                                                                                                    "localName": "CreateForwardPayload"
+                                                                                                },
+                                                                                                "outgoingEvent": {
+                                                                                                    "name": "KafkaResponseStatusEvent",
+                                                                                                    "version": "0.0.1"
+                                                                                                },
+                                                                                                "outgoingEventReference": [
+                                                                                                    {
+                                                                                                        "name": "KafkaResponseStatusEvent",
+                                                                                                        "version": "0.0.1"
+                                                                                                    }
+                                                                                                ],
+                                                                                                "nextState": {
+                                                                                                    "parentKeyName": "NULL",
+                                                                                                    "parentKeyVersion": "0.0.0",
+                                                                                                    "parentLocalName": "NULL",
+                                                                                                    "localName": "NULL"
+                                                                                                }
+                                                                                            }
+                                                                                        }
+                                                                                    ]
+                                                                                },
+                                                                                "contextAlbumReference": [],
+                                                                                "taskSelectionLogic": {
+                                                                                    "key": {
+                                                                                        "parentKeyName": "NULL",
+                                                                                        "parentKeyVersion": "0.0.0",
+                                                                                        "parentLocalName": "NULL",
+                                                                                        "localName": "NULL"
+                                                                                    },
+                                                                                    "logicFlavour": "UNDEFINED",
+                                                                                    "logic": ""
+                                                                                },
+                                                                                "stateFinalizerLogicMap": {
+                                                                                    "entry": []
+                                                                                },
+                                                                                "defaultTask": {
+                                                                                    "name": "ForwardPayloadTask",
+                                                                                    "version": "0.0.1"
+                                                                                },
+                                                                                "taskReferences": {
+                                                                                    "entry": [
+                                                                                        {
+                                                                                            "key": {
+                                                                                                "name": "ForwardPayloadTask",
+                                                                                                "version": "0.0.1"
+                                                                                            },
+                                                                                            "value": {
+                                                                                                "key": {
+                                                                                                    "parentKeyName": "ReceiveEventPolicy",
+                                                                                                    "parentKeyVersion": "0.0.1",
+                                                                                                    "parentLocalName": "DecideForwardingState",
+                                                                                                    "localName": "ReceiveEventPolicy"
+                                                                                                },
+                                                                                                "outputType": "DIRECT",
+                                                                                                "output": {
+                                                                                                    "parentKeyName": "ReceiveEventPolicy",
+                                                                                                    "parentKeyVersion": "0.0.1",
+                                                                                                    "parentLocalName": "DecideForwardingState",
+                                                                                                    "localName": "CreateForwardPayload"
+                                                                                                }
+                                                                                            }
+                                                                                        }
+                                                                                    ]
+                                                                                }
+                                                                            }
+                                                                        }
+                                                                    ]
+                                                                },
+                                                                "firstState": "DecideForwardingState"
+                                                            }
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "tasks": {
+                                                "key": {
+                                                    "name": "APEXacElementPolicy_Tasks",
+                                                    "version": "0.0.1"
+                                                },
+                                                "taskMap": {
+                                                    "entry": [
+                                                        {
+                                                            "key": {
+                                                                "name": "ForwardPayloadTask",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "ForwardPayloadTask",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "inputEvent": {
+                                                                    "key": {
+                                                                        "name": "AcElementEvent",
+                                                                        "version": "0.0.1"
+                                                                    },
+                                                                    "nameSpace": "org.onap.policy.apex.ac.element",
+                                                                    "source": "Kafka",
+                                                                    "target": "APEX",
+                                                                    "parameter": {
+                                                                        "entry": [
+                                                                            {
+                                                                                "key": "KafkaResponseEvent",
+                                                                                "value": {
+                                                                                    "key": {
+                                                                                        "parentKeyName": "AcElementEvent",
+                                                                                        "parentKeyVersion": "0.0.1",
+                                                                                        "parentLocalName": "NULL",
+                                                                                        "localName": "KafkaResponseEvent"
+                                                                                    },
+                                                                                    "fieldSchemaKey": {
+                                                                                        "name": "ACEventType",
+                                                                                        "version": "0.0.1"
+                                                                                    },
+                                                                                    "optional": false
+                                                                                }
+                                                                            }
+                                                                        ]
+                                                                    },
+                                                                    "toscaPolicyState": "ENTRY"
+                                                                },
+                                                                "outputEvents": {
+                                                                    "entry": [
+                                                                        {
+                                                                            "key": "KafkaResponseStatusEvent",
+                                                                            "value": {
+                                                                                "key": {
+                                                                                    "name": "KafkaResponseStatusEvent",
+                                                                                    "version": "0.0.1"
+                                                                                },
+                                                                                "nameSpace": "org.onap.policy.apex.ac.element",
+                                                                                "source": "APEX",
+                                                                                "target": "Kafka",
+                                                                                "parameter": {
+                                                                                    "entry": [
+                                                                                        {
+                                                                                            "key": "KafkaResponseStatusEvent",
+                                                                                            "value": {
+                                                                                                "key": {
+                                                                                                    "parentKeyName": "KafkaResponseStatusEvent",
+                                                                                                    "parentKeyVersion": "0.0.1",
+                                                                                                    "parentLocalName": "NULL",
+                                                                                                    "localName": "KafkaResponseStatusEvent"
+                                                                                                },
+                                                                                                "fieldSchemaKey": {
+                                                                                                    "name": "ACEventType",
+                                                                                                    "version": "0.0.1"
+                                                                                                },
+                                                                                                "optional": false
+                                                                                            }
+                                                                                        }
+                                                                                    ]
+                                                                                },
+                                                                                "toscaPolicyState": ""
+                                                                            }
+                                                                        }
+                                                                    ]
+                                                                },
+                                                                "taskParameters": {
+                                                                    "entry": []
+                                                                },
+                                                                "contextAlbumReference": [
+                                                                    {
+                                                                        "name": "ACElementAlbum",
+                                                                        "version": "0.0.1"
+                                                                    }
+                                                                ],
+                                                                "taskLogic": {
+                                                                    "key": {
+                                                                        "parentKeyName": "ForwardPayloadTask",
+                                                                        "parentKeyVersion": "0.0.1",
+                                                                        "parentLocalName": "NULL",
+                                                                        "localName": "TaskLogic"
+                                                                    },
+                                                                    "logicFlavour": "JAVASCRIPT",
+                                                                    "logic": "/*\n * ============LICENSE_START=======================================================\n *  Copyright (C) 2022 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar msgResponse = executor.inFields.get('KafkaResponseEvent');\nexecutor.logger.info('Task in progress with mesages: ' + msgResponse);\n\nvar elementId = msgResponse.get('elementId').get('name');\n\nif (msgResponse.get('messageType') == 'STATUS' &&\n    (elementId == 'onap.policy.clamp.ac.startertobridge'\n    || elementId == 'onap.policy.clamp.ac.bridgetosink')) {\n\n    var receiverId = '';\n    if (elementId == 'onap.policy.clamp.ac.startertobridge') {\n        receiverId = 'onap.policy.clamp.ac.bridge';\n    } else {\n        receiverId = 'onap.policy.clamp.ac.sink';\n    }\n\n    var elementIdResponse = new java.util.HashMap();\n    elementIdResponse.put('name', receiverId);\n    elementIdResponse.put('version', msgResponse.get('elementId').get('version'));\n\n    var kafkaResponse = new java.util.HashMap();\n    kafkaResponse.put('elementId', elementIdResponse);\n\n    var message = msgResponse.get('message') + ' trace added from policy';\n    kafkaResponse.put('message', message);\n    kafkaResponse.put('messageType', 'STATUS');\n    kafkaResponse.put('messageId', msgResponse.get('messageId'));\n    kafkaResponse.put('timestamp', msgResponse.get('timestamp'));\n\n    executor.logger.info('Sending forwarding Event to Ac element: ' + kafkaResponse);\n\n    executor.outFields.put('KafkaResponseStatusEvent', kafkaResponse);\n}\n\ntrue;"
+                                                                }
+                                                            }
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "events": {
+                                                "key": {
+                                                    "name": "APEXacElementPolicy_Events",
+                                                    "version": "0.0.1"
+                                                },
+                                                "eventMap": {
+                                                    "entry": [
+                                                        {
+                                                            "key": {
+                                                                "name": "AcElementEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "AcElementEvent",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "nameSpace": "org.onap.policy.apex.ac.element",
+                                                                "source": "Kafka",
+                                                                "target": "APEX",
+                                                                "parameter": {
+                                                                    "entry": [
+                                                                        {
+                                                                            "key": "KafkaResponseEvent",
+                                                                            "value": {
+                                                                                "key": {
+                                                                                    "parentKeyName": "AcElementEvent",
+                                                                                    "parentKeyVersion": "0.0.1",
+                                                                                    "parentLocalName": "NULL",
+                                                                                    "localName": "KafkaResponseEvent"
+                                                                                },
+                                                                                "fieldSchemaKey": {
+                                                                                    "name": "ACEventType",
+                                                                                    "version": "0.0.1"
+                                                                                },
+                                                                                "optional": false
+                                                                            }
+                                                                        }
+                                                                    ]
+                                                                },
+                                                                "toscaPolicyState": "ENTRY"
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "KafkaResponseStatusEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "KafkaResponseStatusEvent",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "nameSpace": "org.onap.policy.apex.ac.element",
+                                                                "source": "APEX",
+                                                                "target": "Kafka",
+                                                                "parameter": {
+                                                                    "entry": [
+                                                                        {
+                                                                            "key": "KafkaResponseStatusEvent",
+                                                                            "value": {
+                                                                                "key": {
+                                                                                    "parentKeyName": "KafkaResponseStatusEvent",
+                                                                                    "parentKeyVersion": "0.0.1",
+                                                                                    "parentLocalName": "NULL",
+                                                                                    "localName": "KafkaResponseStatusEvent"
+                                                                                },
+                                                                                "fieldSchemaKey": {
+                                                                                    "name": "ACEventType",
+                                                                                    "version": "0.0.1"
+                                                                                },
+                                                                                "optional": false
+                                                                            }
+                                                                        }
+                                                                    ]
+                                                                },
+                                                                "toscaPolicyState": ""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "LogEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "LogEvent",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "nameSpace": "org.onap.policy.apex.ac.element",
+                                                                "source": "APEX",
+                                                                "target": "file",
+                                                                "parameter": {
+                                                                    "entry": [
+                                                                        {
+                                                                            "key": "final_status",
+                                                                            "value": {
+                                                                                "key": {
+                                                                                    "parentKeyName": "LogEvent",
+                                                                                    "parentKeyVersion": "0.0.1",
+                                                                                    "parentLocalName": "NULL",
+                                                                                    "localName": "final_status"
+                                                                                },
+                                                                                "fieldSchemaKey": {
+                                                                                    "name": "SimpleStringType",
+                                                                                    "version": "0.0.1"
+                                                                                },
+                                                                                "optional": false
+                                                                            }
+                                                                        },
+                                                                        {
+                                                                            "key": "message",
+                                                                            "value": {
+                                                                                "key": {
+                                                                                    "parentKeyName": "LogEvent",
+                                                                                    "parentKeyVersion": "0.0.1",
+                                                                                    "parentLocalName": "NULL",
+                                                                                    "localName": "message"
+                                                                                },
+                                                                                "fieldSchemaKey": {
+                                                                                    "name": "SimpleStringType",
+                                                                                    "version": "0.0.1"
+                                                                                },
+                                                                                "optional": false
+                                                                            }
+                                                                        }
+                                                                    ]
+                                                                },
+                                                                "toscaPolicyState": ""
+                                                            }
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "albums": {
+                                                "key": {
+                                                    "name": "APEXacElementPolicy_Albums",
+                                                    "version": "0.0.1"
+                                                },
+                                                "albums": {
+                                                    "entry": [
+                                                        {
+                                                            "key": {
+                                                                "name": "ACElementAlbum",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "ACElementAlbum",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "scope": "policy",
+                                                                "isWritable": true,
+                                                                "itemSchema": {
+                                                                    "name": "ACEventType",
+                                                                    "version": "0.0.1"
+                                                                }
+                                                            }
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "schemas": {
+                                                "key": {
+                                                    "name": "APEXacElementPolicy_Schemas",
+                                                    "version": "0.0.1"
+                                                },
+                                                "schemas": {
+                                                    "entry": [
+                                                        {
+                                                            "key": {
+                                                                "name": "ACEventType",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "ACEventType",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "schemaFlavour": "Json",
+                                                                "schemaDefinition": "{\n    \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n    \"type\": \"object\",\n    \"properties\": {\n        \"elementId\": {\n            \"type\": \"object\",\n            \"properties\": {\n                \"name\": {\n                    \"type\": \"string\"\n                },\n                \"version\": {\n                    \"type\": \"string\"\n                }\n            },\n            \"required\": [\n                \"name\",\n                \"version\"\n            ]\n        },\n        \"message\": {\n            \"type\": \"string\"\n        },\n        \"messageType\": {\n            \"type\": \"string\"\n        }\n    },\n    \"required\": [\n        \"elementId\",\n        \"message\",\n        \"messageType\"\n    ]\n}"
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "SimpleIntType",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "SimpleIntType",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "schemaFlavour": "Java",
+                                                                "schemaDefinition": "java.lang.Integer"
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "SimpleStringType",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "SimpleStringType",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "schemaFlavour": "Java",
+                                                                "schemaDefinition": "java.lang.String"
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "UUIDType",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "UUIDType",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "schemaFlavour": "Java",
+                                                                "schemaDefinition": "java.util.UUID"
+                                                            }
+                                                        }
+                                                    ]
+                                                }
+                                            },
+                                            "key": {
+                                                "name": "APEXacElementPolicy",
+                                                "version": "0.0.1"
+                                            },
+                                            "keyInformation": {
+                                                "key": {
+                                                    "name": "APEXacElementPolicy_KeyInfo",
+                                                    "version": "0.0.1"
+                                                },
+                                                "keyInfoMap": {
+                                                    "entry": [
+                                                        {
+                                                            "key": {
+                                                                "name": "ACElementAlbum",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "ACElementAlbum",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900",
+                                                                "description": "Generated description for concept referred to by key \"ACElementAlbum:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "ACEventType",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "ACEventType",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "dab78794-b666-3929-a75b-70d634b04fe5",
+                                                                "description": "Generated description for concept referred to by key \"ACEventType:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "APEXacElementPolicy",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "APEXacElementPolicy",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "da478611-7d77-3c46-b4be-be968769ba4e",
+                                                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "APEXacElementPolicy_Albums",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "APEXacElementPolicy_Albums",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "fa8dc15e-8c8d-3de3-a0f8-585b76511175",
+                                                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Albums:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "APEXacElementPolicy_Events",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "APEXacElementPolicy_Events",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "8508cd65-8dd2-342d-a5c6-1570810dbe2b",
+                                                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Events:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "APEXacElementPolicy_KeyInfo",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "APEXacElementPolicy_KeyInfo",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "09e6927d-c5ac-3779-919f-9333994eed22",
+                                                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_KeyInfo:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "APEXacElementPolicy_Policies",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "APEXacElementPolicy_Policies",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "cade3c9a-1600-3642-a6f4-315612187f46",
+                                                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Policies:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "APEXacElementPolicy_Schemas",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "APEXacElementPolicy_Schemas",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "5bb4a8e9-35fa-37db-9a49-48ef036a7ba9",
+                                                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Schemas:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "APEXacElementPolicy_Tasks",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "APEXacElementPolicy_Tasks",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "2527eeec-0d1f-3094-ad3f-212622b12836",
+                                                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Tasks:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "AcElementEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "AcElementEvent",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "32c013e2-2740-3986-a626-cbdf665b63e9",
+                                                                "description": "Generated description for concept referred to by key \"AcElementEvent:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "KafkaResponseStatusEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "KafkaResponseStatusEvent",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "2715cb6c-2778-3461-8b69-871e79f95935",
+                                                                "description": "Generated description for concept referred to by key \"KafkaResponseStatusEvent:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "ForwardPayloadTask",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "ForwardPayloadTask",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "51defa03-1ecf-3314-bf34-2a652bce57fa",
+                                                                "description": "Generated description for concept referred to by key \"ForwardPayloadTask:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "LogEvent",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "LogEvent",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "c540f048-96af-35e3-a36e-e9c29377cba7",
+                                                                "description": "Generated description for concept referred to by key \"LogEvent:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "ReceiveEventPolicy",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "ReceiveEventPolicy",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "568b7345-9de1-36d3-b6a3-9b857e6809a1",
+                                                                "description": "Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "SimpleIntType",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "SimpleIntType",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "153791fd-ae0a-36a7-88a5-309a7936415d",
+                                                                "description": "Generated description for concept referred to by key \"SimpleIntType:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "SimpleStringType",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "SimpleStringType",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "8a4957cf-9493-3a76-8c22-a208e23259af",
+                                                                "description": "Generated description for concept referred to by key \"SimpleStringType:0.0.1\""
+                                                            }
+                                                        },
+                                                        {
+                                                            "key": {
+                                                                "name": "UUIDType",
+                                                                "version": "0.0.1"
+                                                            },
+                                                            "value": {
+                                                                "key": {
+                                                                    "name": "UUIDType",
+                                                                    "version": "0.0.1"
+                                                                },
+                                                                "UUID": "6a8cc68e-dfc8-3403-9c6d-071c886b319c",
+                                                                "description": "Generated description for concept referred to by key \"UUIDType:0.0.1\""
+                                                            }
+                                                        }
+                                                    ]
+                                                }
+                                            }
+                                        }
+                                    },
+                                    "eventInputParameters": {
+                                        "KafkaConsumer": {
+                                            "carrierTechnologyParameters": {
+                                                "carrierTechnology": "KAFKA",
+                                                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
+                                                "parameters": {
+                                                    "bootstrapServers": "kafka:9092",
+                                                    "groupId": "apex-group-id",
+                                                    "enableAutoCommit": true,
+                                                    "autoCommitTime": 1000,
+                                                    "sessionTimeout": 30000,
+                                                    "consumerPollTime": 100,
+                                                    "consumerTopicList": [
+                                                        "ac_element_msg"
+                                                    ],
+                                                    "keyDeserializer": "org.apache.kafka.common.serialization.StringDeserializer",
+                                                    "valueDeserializer": "org.apache.kafka.common.serialization.StringDeserializer"
+                                                }
+                                            },
+                                            "eventProtocolParameters": {
+                                                "eventProtocol": "JSON",
+                                                "parameters": {
+                                                    "pojoField": "KafkaResponseEvent"
+                                                }
+                                            },
+                                            "eventName": "AcElementEvent",
+                                            "eventNameFilter": "AcElementEvent"
+                                        }
+                                    },
+                                    "eventOutputParameters": {
+                                        "logOutputter": {
+                                            "carrierTechnologyParameters": {
+                                                "carrierTechnology": "FILE",
+                                                "parameters": {
+                                                    "fileName": "outputevents.log"
+                                                }
+                                            },
+                                            "eventProtocolParameters": {
+                                                "eventProtocol": "JSON"
+                                            }
+                                        },
+                                        "KafkaReplyProducer": {
+                                            "carrierTechnologyParameters": {
+                                                "carrierTechnology": "KAFKA",
+                                                "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
+                                                "parameters": {
+                                                    "bootstrapServers": "kafka:9092",
+                                                    "acks": "all",
+                                                    "retries": 0,
+                                                    "batchSize": 16384,
+                                                    "lingerTime": 1,
+                                                    "bufferMemory": 33554432,
+                                                    "producerTopic": "policy_update_msg",
+                                                    "keySerializer": "org.apache.kafka.common.serialization.StringSerializer",
+                                                    "valueSerializer": "org.apache.kafka.common.serialization.StringSerializer"
+                                                }
+                                            },
+                                            "eventProtocolParameters": {
+                                                "eventProtocol": "JSON",
+                                                "parameters": {
+                                                    "pojoField": "KafkaResponseStatusEvent"
+                                                }
+                                            },
+                                            "eventNameFilter": "(LogEvent|KafkaResponseStatusEvent)"
+                                        }
+                                    }
+                                },
+                                "name": "onap.policies.native.apex.ac.element",
+                                "version": "1.0.0"
+                            }
+                        }
+                    ]
                 }
             }
         }
     }
-}
\ No newline at end of file
+}
index 3a7e3a3..8585faf 100644 (file)
       },
       "description": "Starter Automation Composition Element for the Demo",
       "properties": {
-        "policy_type_id": {
-          "name": "onap.policies.operational.pm-subscription-handler",
-          "version": "1.0.0"
+        "tosca_definitions_version": "tosca_simple_yaml_1_3",
+        "name": "NULL",
+        "version": "0.0.0",
+        "data_types": {
+          "onap.datatypes.native.apex.EngineService": {
+            "derived_from": "tosca.datatypes.Root",
+            "properties": {
+              "name": {
+                "type": "string",
+                "description": "Specifies the engine name",
+                "required": false,
+                "default": "ApexEngineService"
+              },
+              "version": {
+                "type": "string",
+                "description": "Specifies the engine version in double dotted format",
+                "required": false,
+                "default": "1.0.0"
+              },
+              "id": {
+                "type": "integer",
+                "description": "Specifies the engine id",
+                "required": true
+              },
+              "instance_count": {
+                "type": "integer",
+                "description": "Specifies the number of engine threads that should be run",
+                "required": true
+              },
+              "deployment_port": {
+                "type": "integer",
+                "description": "Specifies the port to connect to for engine administration",
+                "required": false,
+                "default": 1
+              },
+              "policy_model_file_name": {
+                "type": "string",
+                "description": "The name of the file from which to read the APEX policy model",
+                "required": false
+              },
+              "policy_type_impl": {
+                "type": "string",
+                "description": "The policy type implementation from which to read the APEX policy model",
+                "required": false
+              },
+              "periodic_event_period": {
+                "type": "string",
+                "description": "The time interval in milliseconds for the periodic scanning event, 0 means don't scan",
+                "required": false
+              },
+              "engine": {
+                "type": "onap.datatypes.native.apex.engineservice.Engine",
+                "description": "The parameters for all engines in the APEX engine service",
+                "required": true
+              }
+            }
+          },
+          "onap.datatypes.native.apex.EventHandler": {
+            "derived_from": "tosca.datatypes.Root",
+            "properties": {
+              "name": {
+                "type": "string",
+                "description": "Specifies the event handler name, if not specified this is set to the key name",
+                "required": false
+              },
+              "carrier_technology": {
+                "type": "onap.datatypes.native.apex.CarrierTechnology",
+                "description": "Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)",
+                "required": true
+              },
+              "event_protocol": {
+                "type": "onap.datatypes.native.apex.EventProtocol",
+                "description": "Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)",
+                "required": true
+              },
+              "event_name": {
+                "type": "string",
+                "description": "Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent",
+                "required": false
+              },
+              "event_name_filter": {
+                "type": "string",
+                "description": "Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through",
+                "required": false
+              },
+              "synchronous_mode": {
+                "type": "boolean",
+                "description": "Specifies the event handler is syncronous (receive event and send response)",
+                "required": false,
+                "default": false
+              },
+              "synchronous_peer": {
+                "type": "string",
+                "description": "The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode",
+                "required": false
+              },
+              "synchronous_timeout": {
+                "type": "integer",
+                "description": "The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode",
+                "required": false
+              },
+              "requestor_mode": {
+                "type": "boolean",
+                "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)",
+                "required": false,
+                "default": false
+              },
+              "requestor_peer": {
+                "type": "string",
+                "description": "The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode",
+                "required": false
+              },
+              "requestor_timeout": {
+                "type": "integer",
+                "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode",
+                "required": false
+              }
+            }
+          },
+          "onap.datatypes.native.apex.CarrierTechnology": {
+            "derived_from": "tosca.datatypes.Root",
+            "properties": {
+              "label": {
+                "type": "string",
+                "description": "The label (name) of the carrier technology (such as REST, Kafka, WebSocket)",
+                "required": true
+              },
+              "plugin_parameter_class_name": {
+                "type": "string",
+                "description": "The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class",
+                "required": false
+              }
+            }
+          },
+          "onap.datatypes.native.apex.EventProtocol": {
+            "derived_from": "tosca.datatypes.Root",
+            "properties": {
+              "label": {
+                "type": "string",
+                "description": "The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)",
+                "required": true
+              },
+              "event_protocol_plugin_class": {
+                "type": "string",
+                "description": "The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class",
+                "required": false
+              }
+            }
+          },
+          "onap.datatypes.native.apex.Environment": {
+            "derived_from": "tosca.datatypes.Root",
+            "properties": {
+              "name": {
+                "type": "string",
+                "description": "The name of the environment variable",
+                "required": true
+              },
+              "value": {
+                "type": "string",
+                "description": "The value of the environment variable",
+                "required": true
+              }
+            }
+          },
+          "onap.datatypes.native.apex.engineservice.Engine": {
+            "derived_from": "tosca.datatypes.Root",
+            "properties": {
+              "context": {
+                "type": "onap.datatypes.native.apex.engineservice.engine.Context",
+                "description": "The properties for handling context in APEX engines, defaults to using Java maps for context",
+                "required": false
+              },
+              "executors": {
+                "type": "map",
+                "description": "The plugins for policy executors used in engines such as javascript, MVEL, Jython",
+                "required": true,
+                "entry_schema": {
+                  "description": "The plugin class path for this policy executor",
+                  "type": "string"
+                }
+              }
+            }
+          },
+          "onap.datatypes.native.apex.engineservice.engine.Context": {
+            "derived_from": "tosca.datatypes.Root",
+            "properties": {
+              "distributor": {
+                "type": "onap.datatypes.native.apex.Plugin",
+                "description": "The plugin to be used for distributing context between APEX PDPs at runtime",
+                "required": false
+              },
+              "schemas": {
+                "type": "map",
+                "description": "The plugins for context schemas available in APEX PDPs such as Java and Avro",
+                "required": false,
+                "entry_schema": {
+                  "type": "onap.datatypes.native.apex.Plugin"
+                }
+              },
+              "locking": {
+                "type": "onap.datatypes.native.apex.Plugin",
+                "description": "The plugin to be used for locking context in and between APEX PDPs at runtime",
+                "required": false
+              },
+              "persistence": {
+                "type": "onap.datatypes.native.apex.Plugin",
+                "description": "The plugin to be used for persisting context for APEX PDPs at runtime",
+                "required": false
+              }
+            }
+          },
+          "onap.datatypes.native.apex.Plugin": {
+            "derived_from": "tosca.datatypes.Root",
+            "properties": {
+              "name": {
+                "type": "string",
+                "description": "The name of the executor such as Javascript, Jython or MVEL",
+                "required": true
+              },
+              "plugin_class_name": {
+                "type": "string",
+                "description": "The class path of the plugin class for this executor"
+              }
+            }
+          }
         },
-        "policy_id": {
-          "get_input": "acm_element_policy"
+        "policy_types": {
+          "onap.policies.Native": {
+            "derived_from": "tosca.policies.Root",
+            "description": "a base policy type for all native PDP policies",
+            "version": "1.0.0",
+            "name": "onap.policies.Native"
+          },
+          "onap.policies.native.Apex": {
+            "derived_from": "onap.policies.Native",
+            "description": "a policy type for native apex policies",
+            "version": "1.0.0",
+            "name": "onap.policies.native.Apex",
+            "properties": {
+              "engine_service": {
+                "type": "onap.datatypes.native.apex.EngineService",
+                "description": "APEX Engine Service Parameters"
+              },
+              "inputs": {
+                "type": "map",
+                "description": "Inputs for handling events coming into the APEX engine",
+                "entry_schema": {
+                  "type": "onap.datatypes.native.apex.EventHandler"
+                }
+              },
+              "outputs": {
+                "type": "map",
+                "description": "Outputs for handling events going out of the APEX engine",
+                "entry_schema": {
+                  "type": "onap.datatypes.native.apex.EventHandler"
+                }
+              },
+              "environment": {
+                "type": "list",
+                "description": "Envioronmental parameters for the APEX engine",
+                "entry_schema": {
+                  "type": "onap.datatypes.native.apex.Environment"
+                }
+              }
+            }
+          }
+        },
+        "topology_template": {
+          "policies": [
+            {
+              "onap.policies.native.apex.ac.element": {
+                "type": "onap.policies.native.Apex",
+                "type_version": "1.0.0",
+                "properties": {
+                  "engineServiceParameters": {
+                    "name": "MyApexEngine",
+                    "version": "0.0.1",
+                    "id": 45,
+                    "instanceCount": 2,
+                    "deploymentPort": 12561,
+                    "engineParameters": {
+                      "executorParameters": {
+                        "JAVASCRIPT": {
+                          "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+                        }
+                      },
+                      "contextParameters": {
+                        "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+                        "schemaParameters": {
+                          "Json": {
+                            "parameterClassName": "org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters"
+                          }
+                        }
+                      }
+                    },
+                    "policy_type_impl": {
+                      "policies": {
+                        "key": {
+                          "name": "APEXacElementPolicy_Policies",
+                          "version": "0.0.1"
+                        },
+                        "policyMap": {
+                          "entry": [
+                            {
+                              "key": {
+                                "name": "ReceiveEventPolicy",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "policyKey": {
+                                  "name": "ReceiveEventPolicy",
+                                  "version": "0.0.1"
+                                },
+                                "template": "Freestyle",
+                                "state": {
+                                  "entry": [
+                                    {
+                                      "key": "DecideForwardingState",
+                                      "value": {
+                                        "stateKey": {
+                                          "parentKeyName": "ReceiveEventPolicy",
+                                          "parentKeyVersion": "0.0.1",
+                                          "parentLocalName": "NULL",
+                                          "localName": "DecideForwardingState"
+                                        },
+                                        "trigger": {
+                                          "name": "AcElementEvent",
+                                          "version": "0.0.1"
+                                        },
+                                        "stateOutputs": {
+                                          "entry": [
+                                            {
+                                              "key": "CreateForwardPayload",
+                                              "value": {
+                                                "key": {
+                                                  "parentKeyName": "ReceiveEventPolicy",
+                                                  "parentKeyVersion": "0.0.1",
+                                                  "parentLocalName": "DecideForwardingState",
+                                                  "localName": "CreateForwardPayload"
+                                                },
+                                                "outgoingEvent": {
+                                                  "name": "KafkaResponseStatusEvent",
+                                                  "version": "0.0.1"
+                                                },
+                                                "outgoingEventReference": [
+                                                  {
+                                                    "name": "KafkaResponseStatusEvent",
+                                                    "version": "0.0.1"
+                                                  }
+                                                ],
+                                                "nextState": {
+                                                  "parentKeyName": "NULL",
+                                                  "parentKeyVersion": "0.0.0",
+                                                  "parentLocalName": "NULL",
+                                                  "localName": "NULL"
+                                                }
+                                              }
+                                            }
+                                          ]
+                                        },
+                                        "contextAlbumReference": [],
+                                        "taskSelectionLogic": {
+                                          "key": {
+                                            "parentKeyName": "NULL",
+                                            "parentKeyVersion": "0.0.0",
+                                            "parentLocalName": "NULL",
+                                            "localName": "NULL"
+                                          },
+                                          "logicFlavour": "UNDEFINED",
+                                          "logic": ""
+                                        },
+                                        "stateFinalizerLogicMap": {
+                                          "entry": []
+                                        },
+                                        "defaultTask": {
+                                          "name": "ForwardPayloadTask",
+                                          "version": "0.0.1"
+                                        },
+                                        "taskReferences": {
+                                          "entry": [
+                                            {
+                                              "key": {
+                                                "name": "ForwardPayloadTask",
+                                                "version": "0.0.1"
+                                              },
+                                              "value": {
+                                                "key": {
+                                                  "parentKeyName": "ReceiveEventPolicy",
+                                                  "parentKeyVersion": "0.0.1",
+                                                  "parentLocalName": "DecideForwardingState",
+                                                  "localName": "ReceiveEventPolicy"
+                                                },
+                                                "outputType": "DIRECT",
+                                                "output": {
+                                                  "parentKeyName": "ReceiveEventPolicy",
+                                                  "parentKeyVersion": "0.0.1",
+                                                  "parentLocalName": "DecideForwardingState",
+                                                  "localName": "CreateForwardPayload"
+                                                }
+                                              }
+                                            }
+                                          ]
+                                        }
+                                      }
+                                    }
+                                  ]
+                                },
+                                "firstState": "DecideForwardingState"
+                              }
+                            }
+                          ]
+                        }
+                      },
+                      "tasks": {
+                        "key": {
+                          "name": "APEXacElementPolicy_Tasks",
+                          "version": "0.0.1"
+                        },
+                        "taskMap": {
+                          "entry": [
+                            {
+                              "key": {
+                                "name": "ForwardPayloadTask",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "ForwardPayloadTask",
+                                  "version": "0.0.1"
+                                },
+                                "inputEvent": {
+                                  "key": {
+                                    "name": "AcElementEvent",
+                                    "version": "0.0.1"
+                                  },
+                                  "nameSpace": "org.onap.policy.apex.ac.element",
+                                  "source": "Kafka",
+                                  "target": "APEX",
+                                  "parameter": {
+                                    "entry": [
+                                      {
+                                        "key": "KafkaResponseEvent",
+                                        "value": {
+                                          "key": {
+                                            "parentKeyName": "AcElementEvent",
+                                            "parentKeyVersion": "0.0.1",
+                                            "parentLocalName": "NULL",
+                                            "localName": "KafkaResponseEvent"
+                                          },
+                                          "fieldSchemaKey": {
+                                            "name": "ACEventType",
+                                            "version": "0.0.1"
+                                          },
+                                          "optional": false
+                                        }
+                                      }
+                                    ]
+                                  },
+                                  "toscaPolicyState": "ENTRY"
+                                },
+                                "outputEvents": {
+                                  "entry": [
+                                    {
+                                      "key": "KafkaResponseStatusEvent",
+                                      "value": {
+                                        "key": {
+                                          "name": "KafkaResponseStatusEvent",
+                                          "version": "0.0.1"
+                                        },
+                                        "nameSpace": "org.onap.policy.apex.ac.element",
+                                        "source": "APEX",
+                                        "target": "Kafka",
+                                        "parameter": {
+                                          "entry": [
+                                            {
+                                              "key": "KafkaResponseStatusEvent",
+                                              "value": {
+                                                "key": {
+                                                  "parentKeyName": "KafkaResponseStatusEvent",
+                                                  "parentKeyVersion": "0.0.1",
+                                                  "parentLocalName": "NULL",
+                                                  "localName": "KafkaResponseStatusEvent"
+                                                },
+                                                "fieldSchemaKey": {
+                                                  "name": "ACEventType",
+                                                  "version": "0.0.1"
+                                                },
+                                                "optional": false
+                                              }
+                                            }
+                                          ]
+                                        },
+                                        "toscaPolicyState": ""
+                                      }
+                                    }
+                                  ]
+                                },
+                                "taskParameters": {
+                                  "entry": []
+                                },
+                                "contextAlbumReference": [
+                                  {
+                                    "name": "ACElementAlbum",
+                                    "version": "0.0.1"
+                                  }
+                                ],
+                                "taskLogic": {
+                                  "key": {
+                                    "parentKeyName": "ForwardPayloadTask",
+                                    "parentKeyVersion": "0.0.1",
+                                    "parentLocalName": "NULL",
+                                    "localName": "TaskLogic"
+                                  },
+                                  "logicFlavour": "JAVASCRIPT",
+                                  "logic": "/*\n * ============LICENSE_START=======================================================\n *  Copyright (C) 2022 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *      http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an 'AS IS' BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\nexecutor.logger.info(executor.inFields);\n\nvar msgResponse = executor.inFields.get('KafkaResponseEvent');\nexecutor.logger.info('Task in progress with mesages: ' + msgResponse);\n\nvar elementId = msgResponse.get('elementId').get('name');\n\nif (msgResponse.get('messageType') == 'STATUS' &&\n    (elementId == 'onap.policy.clamp.ac.startertobridge'\n    || elementId == 'onap.policy.clamp.ac.bridgetosink')) {\n\n    var receiverId = '';\n    if (elementId == 'onap.policy.clamp.ac.startertobridge') {\n        receiverId = 'onap.policy.clamp.ac.bridge';\n    } else {\n        receiverId = 'onap.policy.clamp.ac.sink';\n    }\n\n    var elementIdResponse = new java.util.HashMap();\n    elementIdResponse.put('name', receiverId);\n    elementIdResponse.put('version', msgResponse.get('elementId').get('version'));\n\n    var kafkaResponse = new java.util.HashMap();\n    kafkaResponse.put('elementId', elementIdResponse);\n\n    var message = msgResponse.get('message') + ' trace added from policy';\n    kafkaResponse.put('message', message);\n    kafkaResponse.put('messageType', 'STATUS');\n    kafkaResponse.put('messageId', msgResponse.get('messageId'));\n    kafkaResponse.put('timestamp', msgResponse.get('timestamp'));\n\n    executor.logger.info('Sending forwarding Event to Ac element: ' + kafkaResponse);\n\n    executor.outFields.put('KafkaResponseStatusEvent', kafkaResponse);\n}\n\ntrue;"
+                                }
+                              }
+                            }
+                          ]
+                        }
+                      },
+                      "events": {
+                        "key": {
+                          "name": "APEXacElementPolicy_Events",
+                          "version": "0.0.1"
+                        },
+                        "eventMap": {
+                          "entry": [
+                            {
+                              "key": {
+                                "name": "AcElementEvent",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "AcElementEvent",
+                                  "version": "0.0.1"
+                                },
+                                "nameSpace": "org.onap.policy.apex.ac.element",
+                                "source": "Kafka",
+                                "target": "APEX",
+                                "parameter": {
+                                  "entry": [
+                                    {
+                                      "key": "KafkaResponseEvent",
+                                      "value": {
+                                        "key": {
+                                          "parentKeyName": "AcElementEvent",
+                                          "parentKeyVersion": "0.0.1",
+                                          "parentLocalName": "NULL",
+                                          "localName": "KafkaResponseEvent"
+                                        },
+                                        "fieldSchemaKey": {
+                                          "name": "ACEventType",
+                                          "version": "0.0.1"
+                                        },
+                                        "optional": false
+                                      }
+                                    }
+                                  ]
+                                },
+                                "toscaPolicyState": "ENTRY"
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "KafkaResponseStatusEvent",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "KafkaResponseStatusEvent",
+                                  "version": "0.0.1"
+                                },
+                                "nameSpace": "org.onap.policy.apex.ac.element",
+                                "source": "APEX",
+                                "target": "Kafka",
+                                "parameter": {
+                                  "entry": [
+                                    {
+                                      "key": "KafkaResponseStatusEvent",
+                                      "value": {
+                                        "key": {
+                                          "parentKeyName": "KafkaResponseStatusEvent",
+                                          "parentKeyVersion": "0.0.1",
+                                          "parentLocalName": "NULL",
+                                          "localName": "KafkaResponseStatusEvent"
+                                        },
+                                        "fieldSchemaKey": {
+                                          "name": "ACEventType",
+                                          "version": "0.0.1"
+                                        },
+                                        "optional": false
+                                      }
+                                    }
+                                  ]
+                                },
+                                "toscaPolicyState": ""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "LogEvent",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "LogEvent",
+                                  "version": "0.0.1"
+                                },
+                                "nameSpace": "org.onap.policy.apex.ac.element",
+                                "source": "APEX",
+                                "target": "file",
+                                "parameter": {
+                                  "entry": [
+                                    {
+                                      "key": "final_status",
+                                      "value": {
+                                        "key": {
+                                          "parentKeyName": "LogEvent",
+                                          "parentKeyVersion": "0.0.1",
+                                          "parentLocalName": "NULL",
+                                          "localName": "final_status"
+                                        },
+                                        "fieldSchemaKey": {
+                                          "name": "SimpleStringType",
+                                          "version": "0.0.1"
+                                        },
+                                        "optional": false
+                                      }
+                                    },
+                                    {
+                                      "key": "message",
+                                      "value": {
+                                        "key": {
+                                          "parentKeyName": "LogEvent",
+                                          "parentKeyVersion": "0.0.1",
+                                          "parentLocalName": "NULL",
+                                          "localName": "message"
+                                        },
+                                        "fieldSchemaKey": {
+                                          "name": "SimpleStringType",
+                                          "version": "0.0.1"
+                                        },
+                                        "optional": false
+                                      }
+                                    }
+                                  ]
+                                },
+                                "toscaPolicyState": ""
+                              }
+                            }
+                          ]
+                        }
+                      },
+                      "albums": {
+                        "key": {
+                          "name": "APEXacElementPolicy_Albums",
+                          "version": "0.0.1"
+                        },
+                        "albums": {
+                          "entry": [
+                            {
+                              "key": {
+                                "name": "ACElementAlbum",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "ACElementAlbum",
+                                  "version": "0.0.1"
+                                },
+                                "scope": "policy",
+                                "isWritable": true,
+                                "itemSchema": {
+                                  "name": "ACEventType",
+                                  "version": "0.0.1"
+                                }
+                              }
+                            }
+                          ]
+                        }
+                      },
+                      "schemas": {
+                        "key": {
+                          "name": "APEXacElementPolicy_Schemas",
+                          "version": "0.0.1"
+                        },
+                        "schemas": {
+                          "entry": [
+                            {
+                              "key": {
+                                "name": "ACEventType",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "ACEventType",
+                                  "version": "0.0.1"
+                                },
+                                "schemaFlavour": "Json",
+                                "schemaDefinition": "{\n    \"$schema\": \"http://json-schema.org/draft-04/schema#\",\n    \"type\": \"object\",\n    \"properties\": {\n        \"elementId\": {\n            \"type\": \"object\",\n            \"properties\": {\n                \"name\": {\n                    \"type\": \"string\"\n                },\n                \"version\": {\n                    \"type\": \"string\"\n                }\n            },\n            \"required\": [\n                \"name\",\n                \"version\"\n            ]\n        },\n        \"message\": {\n            \"type\": \"string\"\n        },\n        \"messageType\": {\n            \"type\": \"string\"\n        }\n    },\n    \"required\": [\n        \"elementId\",\n        \"message\",\n        \"messageType\"\n    ]\n}"
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "SimpleIntType",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "SimpleIntType",
+                                  "version": "0.0.1"
+                                },
+                                "schemaFlavour": "Java",
+                                "schemaDefinition": "java.lang.Integer"
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "SimpleStringType",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "SimpleStringType",
+                                  "version": "0.0.1"
+                                },
+                                "schemaFlavour": "Java",
+                                "schemaDefinition": "java.lang.String"
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "UUIDType",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "UUIDType",
+                                  "version": "0.0.1"
+                                },
+                                "schemaFlavour": "Java",
+                                "schemaDefinition": "java.util.UUID"
+                              }
+                            }
+                          ]
+                        }
+                      },
+                      "key": {
+                        "name": "APEXacElementPolicy",
+                        "version": "0.0.1"
+                      },
+                      "keyInformation": {
+                        "key": {
+                          "name": "APEXacElementPolicy_KeyInfo",
+                          "version": "0.0.1"
+                        },
+                        "keyInfoMap": {
+                          "entry": [
+                            {
+                              "key": {
+                                "name": "ACElementAlbum",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "ACElementAlbum",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900",
+                                "description": "Generated description for concept referred to by key \"ACElementAlbum:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "ACEventType",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "ACEventType",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "dab78794-b666-3929-a75b-70d634b04fe5",
+                                "description": "Generated description for concept referred to by key \"ACEventType:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "APEXacElementPolicy",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "APEXacElementPolicy",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "da478611-7d77-3c46-b4be-be968769ba4e",
+                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "APEXacElementPolicy_Albums",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "APEXacElementPolicy_Albums",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "fa8dc15e-8c8d-3de3-a0f8-585b76511175",
+                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Albums:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "APEXacElementPolicy_Events",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "APEXacElementPolicy_Events",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "8508cd65-8dd2-342d-a5c6-1570810dbe2b",
+                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Events:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "APEXacElementPolicy_KeyInfo",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "APEXacElementPolicy_KeyInfo",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "09e6927d-c5ac-3779-919f-9333994eed22",
+                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_KeyInfo:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "APEXacElementPolicy_Policies",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "APEXacElementPolicy_Policies",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "cade3c9a-1600-3642-a6f4-315612187f46",
+                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Policies:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "APEXacElementPolicy_Schemas",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "APEXacElementPolicy_Schemas",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "5bb4a8e9-35fa-37db-9a49-48ef036a7ba9",
+                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Schemas:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "APEXacElementPolicy_Tasks",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "APEXacElementPolicy_Tasks",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "2527eeec-0d1f-3094-ad3f-212622b12836",
+                                "description": "Generated description for concept referred to by key \"APEXacElementPolicy_Tasks:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "AcElementEvent",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "AcElementEvent",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "32c013e2-2740-3986-a626-cbdf665b63e9",
+                                "description": "Generated description for concept referred to by key \"AcElementEvent:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "KafkaResponseStatusEvent",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "KafkaResponseStatusEvent",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "2715cb6c-2778-3461-8b69-871e79f95935",
+                                "description": "Generated description for concept referred to by key \"KafkaResponseStatusEvent:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "ForwardPayloadTask",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "ForwardPayloadTask",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "51defa03-1ecf-3314-bf34-2a652bce57fa",
+                                "description": "Generated description for concept referred to by key \"ForwardPayloadTask:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "LogEvent",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "LogEvent",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "c540f048-96af-35e3-a36e-e9c29377cba7",
+                                "description": "Generated description for concept referred to by key \"LogEvent:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "ReceiveEventPolicy",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "ReceiveEventPolicy",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "568b7345-9de1-36d3-b6a3-9b857e6809a1",
+                                "description": "Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "SimpleIntType",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "SimpleIntType",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "153791fd-ae0a-36a7-88a5-309a7936415d",
+                                "description": "Generated description for concept referred to by key \"SimpleIntType:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "SimpleStringType",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "SimpleStringType",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "8a4957cf-9493-3a76-8c22-a208e23259af",
+                                "description": "Generated description for concept referred to by key \"SimpleStringType:0.0.1\""
+                              }
+                            },
+                            {
+                              "key": {
+                                "name": "UUIDType",
+                                "version": "0.0.1"
+                              },
+                              "value": {
+                                "key": {
+                                  "name": "UUIDType",
+                                  "version": "0.0.1"
+                                },
+                                "UUID": "6a8cc68e-dfc8-3403-9c6d-071c886b319c",
+                                "description": "Generated description for concept referred to by key \"UUIDType:0.0.1\""
+                              }
+                            }
+                          ]
+                        }
+                      }
+                    }
+                  },
+                  "eventInputParameters": {
+                    "KafkaConsumer": {
+                      "carrierTechnologyParameters": {
+                        "carrierTechnology": "KAFKA",
+                        "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
+                        "parameters": {
+                          "bootstrapServers": "kafka:9092",
+                          "groupId": "apex-group-id",
+                          "enableAutoCommit": true,
+                          "autoCommitTime": 1000,
+                          "sessionTimeout": 30000,
+                          "consumerPollTime": 100,
+                          "consumerTopicList": [
+                            "ac_element_msg"
+                          ],
+                          "keyDeserializer": "org.apache.kafka.common.serialization.StringDeserializer",
+                          "valueDeserializer": "org.apache.kafka.common.serialization.StringDeserializer"
+                        }
+                      },
+                      "eventProtocolParameters": {
+                        "eventProtocol": "JSON",
+                        "parameters": {
+                          "pojoField": "KafkaResponseEvent"
+                        }
+                      },
+                      "eventName": "AcElementEvent",
+                      "eventNameFilter": "AcElementEvent"
+                    }
+                  },
+                  "eventOutputParameters": {
+                    "logOutputter": {
+                      "carrierTechnologyParameters": {
+                        "carrierTechnology": "FILE",
+                        "parameters": {
+                          "fileName": "outputevents.log"
+                        }
+                      },
+                      "eventProtocolParameters": {
+                        "eventProtocol": "JSON"
+                      }
+                    },
+                    "KafkaReplyProducer": {
+                      "carrierTechnologyParameters": {
+                        "carrierTechnology": "KAFKA",
+                        "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.kafka.KafkaCarrierTechnologyParameters",
+                        "parameters": {
+                          "bootstrapServers": "kafka:9092",
+                          "acks": "all",
+                          "retries": 0,
+                          "batchSize": 16384,
+                          "lingerTime": 1,
+                          "bufferMemory": 33554432,
+                          "producerTopic": "policy_update_msg",
+                          "keySerializer": "org.apache.kafka.common.serialization.StringSerializer",
+                          "valueSerializer": "org.apache.kafka.common.serialization.StringSerializer"
+                        }
+                      },
+                      "eventProtocolParameters": {
+                        "eventProtocol": "JSON",
+                        "parameters": {
+                          "pojoField": "KafkaResponseStatusEvent"
+                        }
+                      },
+                      "eventNameFilter": "(LogEvent|KafkaResponseStatusEvent)"
+                    }
+                  }
+                },
+                "name": "onap.policies.native.apex.ac.element",
+                "version": "1.0.0"
+              }
+            }
+          ]
         }
       }
     },
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/csit/resources/tests/data/PMSHMultipleACTosca.yaml b/csit/resources/tests/data/PMSHMultipleACTosca.yaml
deleted file mode 100644 (file)
index c6f61e7..0000000
+++ /dev/null
@@ -1,932 +0,0 @@
-tosca_definitions_version: tosca_simple_yaml_1_3
-data_types:
-  onap.datatypes.ToscaConceptIdentifier:
-    derived_from: tosca.datatypes.Root
-    properties:
-      name:
-        type: string
-        required: true
-      version:
-        type: string
-        required: true
-  onap.datatype.acm.Target:
-    derived_from: tosca.datatypes.Root
-    description: >-
-      Definition for a entity in A&AI to perform an Automation Composition
-      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.acm.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.acm.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.acm.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.acm.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
-  onap.datatypes.monitoring.managedObjectDNsBasic:
-    constraints: []
-    properties:
-      DN:
-        name: DN
-        type: string
-        typeVersion: 0.0.0
-        description: Managed object distinguished name
-        required: true
-        constraints: []
-        metadata: {}
-    name: onap.datatypes.monitoring.managedObjectDNsBasic
-    version: 0.0.0
-    derived_from: tosca.datatypes.Root
-    metadata: {}
-  onap.datatypes.monitoring.managedObjectDNsBasics:
-    constraints: []
-    properties:
-      managedObjectDNsBasic:
-        name: managedObjectDNsBasic
-        type: map
-        typeVersion: 0.0.0
-        description: Managed object distinguished name object
-        required: true
-        constraints: []
-        entry_schema:
-          type: onap.datatypes.monitoring.managedObjectDNsBasic
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-    name: onap.datatypes.monitoring.managedObjectDNsBasics
-    version: 0.0.0
-    derived_from: tosca.datatypes.Root
-    metadata: {}
-  onap.datatypes.monitoring.measurementGroup:
-    constraints: []
-    properties:
-      measurementTypes:
-        name: measurementTypes
-        type: list
-        typeVersion: 0.0.0
-        description: List of measurement types
-        required: true
-        constraints: []
-        entry_schema:
-          type: onap.datatypes.monitoring.measurementTypes
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-      managedObjectDNsBasic:
-        name: managedObjectDNsBasic
-        type: list
-        typeVersion: 0.0.0
-        description: List of managed object distinguished names
-        required: true
-        constraints: []
-        entry_schema:
-          type: onap.datatypes.monitoring.managedObjectDNsBasics
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-    name: onap.datatypes.monitoring.measurementGroup
-    version: 0.0.0
-    derived_from: tosca.datatypes.Root
-    metadata: {}
-  onap.datatypes.monitoring.measurementGroups:
-    constraints: []
-    properties:
-      measurementGroup:
-        name: measurementGroup
-        type: map
-        typeVersion: 0.0.0
-        description: Measurement Group
-        required: true
-        constraints: []
-        entry_schema:
-          type: onap.datatypes.monitoring.measurementGroup
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-    name: onap.datatypes.monitoring.measurementGroups
-    version: 0.0.0
-    derived_from: tosca.datatypes.Root
-    metadata: {}
-  onap.datatypes.monitoring.measurementType:
-    constraints: []
-    properties:
-      measurementType:
-        name: measurementType
-        type: string
-        typeVersion: 0.0.0
-        description: Measurement type
-        required: true
-        constraints: []
-        metadata: {}
-    name: onap.datatypes.monitoring.measurementType
-    version: 0.0.0
-    derived_from: tosca.datatypes.Root
-    metadata: {}
-  onap.datatypes.monitoring.measurementTypes:
-    constraints: []
-    properties:
-      measurementType:
-        name: measurementType
-        type: map
-        typeVersion: 0.0.0
-        description: Measurement type object
-        required: true
-        constraints: []
-        entry_schema:
-          type: onap.datatypes.monitoring.measurementType
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-    name: onap.datatypes.monitoring.measurementTypes
-    version: 0.0.0
-    derived_from: tosca.datatypes.Root
-    metadata: {}
-  onap.datatypes.monitoring.nfFilter:
-    constraints: []
-    properties:
-      modelNames:
-        name: modelNames
-        type: list
-        typeVersion: 0.0.0
-        description: List of model names
-        required: true
-        constraints: []
-        entry_schema:
-          type: string
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-      modelInvariantIDs:
-        name: modelInvariantIDs
-        type: list
-        typeVersion: 0.0.0
-        description: List of model invariant IDs
-        required: true
-        constraints: []
-        entry_schema:
-          type: string
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-      modelVersionIDs:
-        name: modelVersionIDs
-        type: list
-        typeVersion: 0.0.0
-        description: List of model version IDs
-        required: true
-        constraints: []
-        entry_schema:
-          type: string
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-      nfNames:
-        name: nfNames
-        type: list
-        typeVersion: 0.0.0
-        description: List of network functions
-        required: true
-        constraints: []
-        entry_schema:
-          type: string
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-    name: onap.datatypes.monitoring.nfFilter
-    version: 0.0.0
-    derived_from: tosca.datatypes.Root
-    metadata: {}
-  onap.datatypes.monitoring.subscription:
-    constraints: []
-    properties:
-      measurementGroups:
-        name: measurementGroups
-        type: list
-        typeVersion: 0.0.0
-        description: Measurement Groups
-        required: true
-        constraints: []
-        entry_schema:
-          type: onap.datatypes.monitoring.measurementGroups
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-      fileBasedGP:
-        name: fileBasedGP
-        type: integer
-        typeVersion: 0.0.0
-        description: File based granularity period
-        required: true
-        constraints: []
-        metadata: {}
-      fileLocation:
-        name: fileLocation
-        type: string
-        typeVersion: 0.0.0
-        description: ROP file location
-        required: true
-        constraints: []
-        metadata: {}
-      subscriptionName:
-        name: subscriptionName
-        type: string
-        typeVersion: 0.0.0
-        description: Name of the subscription
-        required: true
-        constraints: []
-        metadata: {}
-      administrativeState:
-        name: administrativeState
-        type: string
-        typeVersion: 0.0.0
-        description: State of the subscription
-        required: true
-        constraints:
-          - valid_values:
-              - LOCKED
-              - UNLOCKED
-        metadata: {}
-      nfFilter:
-        name: nfFilter
-        type: map
-        typeVersion: 0.0.0
-        description: Network function filter
-        required: true
-        constraints: []
-        entry_schema:
-          type: onap.datatypes.monitoring.nfFilter
-          typeVersion: 0.0.0
-          constraints: []
-        metadata: {}
-    name: onap.datatypes.monitoring.subscription
-    version: 0.0.0
-    derived_from: tosca.datatypes.Root
-    metadata: {}
-  org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest:
-    version: 1.0.0
-    derived_from: tosca.datatypes.Root
-    properties:
-      restRequestId:
-        type: onap.datatypes.ToscaConceptIdentifier
-        typeVersion: 1.0.0
-        required: true
-        description: The name and version of a REST request to be sent to a REST endpoint
-      httpMethod:
-        type: string
-        required: true
-        constraints:
-          - valid_values:
-              - POST
-              - PUT
-              - GET
-              - DELETE
-        description: The REST method to use
-      path:
-        type: string
-        required: true
-        description: The path of the REST request relative to the base URL
-      body:
-        type: string
-        required: false
-        description: The body of the REST request for PUT and POST requests
-      expectedResponse:
-        type: integer
-        required: true
-        constraints: []
-        description: THe expected HTTP status code for the REST request
-    org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity:
-      version: 1.0.0
-      derived_from: tosca.datatypes.Root
-      properties:
-        configurationEntityId:
-          type: onap.datatypes.ToscaConceptIdentifier
-          typeVersion: 1.0.0
-          required: true
-          description: >-
-            The name and version of a Configuration Entity to be handled by the
-            HTTP Automation Composition Element
-        restSequence:
-          type: list
-          entry_schema:
-            type: >-
-              org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest
-            typeVersion: 1.0.0
-          description: A sequence of REST commands to send to the REST endpoint
-  org.onap.datatypes.policy.clamp.acm.a1PmsAutomationCompositionElement.A1PolicyServiceEntity:
-    version: 1.0.0
-    derived_from: tosca.datatypes.Root
-    properties:
-      a1PolicyServiceEntityId:
-        type: onap.datatypes.ToscaConceptIdentifier
-        typeVersion: 1.0.0
-        required: true
-        description: The name and version of a Configuration Entity to be handled by the A1 PMS Automation Composition Element
-      clientId:
-        type: string
-        required: true
-        description: Client Id to be created
-      callbackUrl:
-        type: string
-        required: true
-        description: The callback URL to get registered
-      keepAliveIntervalSeconds:
-        type: integer
-        required: true
-        description: Keep alive interval time for the callback URL
-policy_types:
-  onap.policies.Monitoring:
-    derived_from: tosca.policies.Root
-    description: a base policy type for all policies that govern monitoring provisioning
-    version: 1.0.0
-    name: onap.policies.Monitoring
-  onap.policies.Sirisha:
-    derived_from: tosca.policies.Root
-    description: a base policy type for all policies that govern monitoring provisioning
-    version: 1.0.0
-    name: onap.policies.Sirisha
-  onap.policies.monitoring.dcae-pm-subscription-handler:
-    properties:
-      pmsh_policy:
-        name: pmsh_policy
-        type: onap.datatypes.monitoring.subscription
-        typeVersion: 0.0.0
-        description: PMSH Policy JSON
-        required: false
-        constraints: []
-        metadata: {}
-    name: onap.policies.monitoring.dcae-pm-subscription-handler
-    version: 1.0.0
-    derived_from: onap.policies.Monitoring
-    metadata: {}
-  onap.policies.acm.operational.Common:
-    derived_from: tosca.policies.Root
-    version: 1.0.0
-    name: onap.policies.acm.operational.Common
-    description: >
-      Operational Policy for Automation Composition 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 Automation Composition 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 Automation
-          Composition from DCAE.
-        required: true
-        default: false
-      trigger:
-        type: string
-        description: >-
-          Initial operation to execute upon receiving an Onset event message for
-          the Automation Composition.
-        required: true
-      operations:
-        type: list
-        description: >-
-          List of operations to be performed when Automation Composition is
-          triggered.
-        required: true
-        entry_schema:
-          type: onap.datatype.acm.Operation
-  onap.policies.acm.operational.common.Apex:
-    derived_from: onap.policies.acm.operational.Common
-    type_version: 1.0.0
-    version: 1.0.0
-    name: onap.policies.acm.operational.common.Apex
-    description: Operational policies for Apex PDP
-    properties:
-      engineServiceParameters:
-        type: string
-        description: >-
-          The engine parameters like name, instanceCount, policy implementation,
-          parameters etc.
-        required: true
-      eventInputParameters:
-        type: string
-        description: The event input parameters.
-        required: true
-      eventOutputParameters:
-        type: string
-        description: The event output parameters.
-        required: true
-      javaProperties:
-        type: string
-        description: Name/value pairs of properties to be set for APEX if needed.
-        required: false
-node_types:
-  org.onap.policy.clamp.acm.Participant:
-    version: 1.0.1
-    derived_from: tosca.nodetypes.Root
-    properties:
-      provider:
-        type: string
-        requred: false
-  org.onap.policy.clamp.acm.AutomationCompositionElement:
-    version: 1.0.1
-    derived_from: tosca.nodetypes.Root
-    properties:
-      provider:
-        type: string
-        required: false
-        metadata:
-          common: true
-        description: >-
-          Specifies the organization that provides the automation composition
-          element
-      participant_id:
-        type: onap.datatypes.ToscaConceptIdentifier
-        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
-          Automation Composition Element
-      startPhase:
-        type: integer
-        required: false
-        constraints:
-          - greater_or_equal: 0
-        metadata:
-          common: true
-        description: >-
-          A value indicating the start phase in which this automation
-          composition element will be started, the first start phase is zero.
-          Automation Composition Elements are started in their start_phase order
-          and stopped in reverse start phase order. Automation Composition
-          Elements with the same start phase are started and stopped
-          simultaneously
-      uninitializedToPassiveTimeout:
-        type: integer
-        required: false
-        constraints:
-          - greater_or_equal: 0
-        default: 60
-        metadata:
-          common: true
-        description: >-
-          The maximum time in seconds to wait for a state chage from
-          uninitialized to passive
-      passiveToRunningTimeout:
-        type: integer
-        required: false
-        constraints:
-          - greater_or_equal: 0
-        default: 60
-        metadata:
-          common: true
-        description: >-
-          The maximum time in seconds to wait for a state chage from passive to
-          running
-      runningToPassiveTimeout:
-        type: integer
-        required: false
-        constraints:
-          - greater_or_equal: 0
-        default: 60
-        metadata:
-          common: true
-        description: >-
-          The maximum time in seconds to wait for a state chage from running to
-          passive
-      passiveToUninitializedTimeout:
-        type: integer
-        required: false
-        constraints:
-          - greater_or_equal: 0
-        default: 60
-        metadata:
-          common: true
-        description: >-
-          The maximum time in seconds to wait for a state chage from passive to
-          uninitialized
-  org.onap.policy.clamp.acm.AutomationComposition:
-    version: 1.0.1
-    derived_from: tosca.nodetypes.Root
-    properties:
-      provider:
-        type: string
-        required: false
-        metadata:
-          common: true
-        description: >-
-          Specifies the organization that provides the automation composition
-          element
-      elements:
-        type: list
-        required: true
-        metadata:
-          common: true
-        entry_schema:
-          type: onap.datatypes.ToscaConceptIdentifier
-        description: >-
-          Specifies a list of automation composition element definitions that
-          make up this automation composition definition
-  org.onap.policy.clamp.acm.PolicyAutomationCompositionElement:
-    version: 1.0.1
-    derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
-    properties:
-      policy_type_id:
-        type: onap.datatypes.ToscaConceptIdentifier
-        requred: true
-      policy_id:
-        type: onap.datatypes.ToscaConceptIdentifier
-        requred: false
-  org.onap.policy.clamp.acm.CDSAutomationCompositionElement:
-    version: 1.0.1
-    derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
-    properties:
-      cds_blueprint_id:
-        type: onap.datatypes.ToscaConceptIdentifier
-        requred: true
-  org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement:
-    version: 1.0.1
-    derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
-    properties:
-      chart:
-        type: string
-        required: true
-      configs:
-        type: list
-        required: false
-      requirements:
-        type: string
-        requred: false
-      templates:
-        type: list
-        required: false
-        entry_schema: null
-      values:
-        type: string
-        requred: true
-  org.onap.policy.clamp.acm.HttpAutomationCompositionElement:
-    version: 1.0.1
-    derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
-    properties:
-      baseUrl:
-        type: string
-        required: true
-        description: >-
-          The base URL to be prepended to each path, identifies the host for the
-          REST endpoints.
-      httpHeaders:
-        type: map
-        required: false
-        entry_schema:
-          type: string
-        description: HTTP headers to send on REST requests
-      configurationEntities:
-        type: map
-        required: true
-        entry_schema:
-          type: >-
-            org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity
-          typeVersion: 1.0.0
-        description: >-
-          The connfiguration entities the Automation Composition Element is
-          managing and their associated REST requests
-  org.onap.policy.clamp.acm.A1PMSAutomationCompositionElement:
-    version: 1.0.1
-    derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
-    properties:
-      policyServiceEntities:
-        type: list
-        required: true
-        entry_schema:
-          type: org.onap.datatypes.policy.clamp.acm.a1pmsAutomationCompositionElement.A1PolicyServiceEntity
-          typeVersion: 1.0.0
-        description: The configuration entities of A1 PMS policy services
-topology_template:
-  inputs:
-    pmsh_monitoring_policy:
-      type: onap.datatypes.ToscaConceptIdentifier
-      description: The ID of the PMSH monitoring policy to use
-      default:
-        name: >-
-          MICROSERVICE_vLoadBalancerMS_v1_0_dcae-pm-subscription-handler_1_0_0test
-        version: 1.0.0
-    pmsh_operational_policy:
-      type: onap.datatypes.ToscaConceptIdentifier
-      description: The ID of the PMSH operational policy to use
-      default:
-        name: operational.apex.pmcontrol
-        version: 1.0.0
-  node_templates:
-    org.onap.policy.clamp.acm.PolicyParticipant:
-      version: 2.3.1
-      type: org.onap.policy.clamp.acm.Participant
-      type_version: 1.0.1
-      description: Participant for DCAE microservices
-      properties:
-        provider: ONAP
-    org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement:
-      version: 1.2.3
-      type: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
-      type_version: 1.0.0
-      description: >-
-        Automation composition element for the monitoring policy for Performance
-        Management Subscription Handling
-      properties:
-        provider: Ericsson
-        participant_id:
-          name: org.onap.PM_Policy
-          version: 1.0.0
-        participantType:
-          name: org.onap.policy.clamp.acm.PolicyParticipant
-          version: 2.3.1
-        policy_type_id:
-          name: onap.policies.monitoring.pm-subscription-handler
-          version: 1.0.0
-        policy_id:
-          get_input: pmsh_monitoring_policy
-    org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement:
-      version: 1.2.3
-      type: org.onap.policy.clamp.acm.PolicyAutomationCompositionElement
-      type_version: 1.0.0
-      description: >-
-        Automation composition element for the operational policy for
-        Performance Management Subscription Handling
-      properties:
-        provider: Ericsson
-        participant_id:
-          name: org.onap.PM_Policy
-          version: 1.0.0
-        participantType:
-          name: org.onap.policy.clamp.acm.PolicyParticipant
-          version: 2.3.1
-        policy_type_id:
-          name: onap.policies.operational.pm-subscription-handler
-          version: 1.0.0
-        policy_id:
-          get_input: pmsh_operational_policy
-    org.onap.policy.clamp.acm.KubernetesParticipant:
-      version: 2.3.4
-      type: org.onap.policy.clamp.acm.Participant
-      type_version: 1.0.1
-      description: Participant for K8S
-      properties:
-        provider: ONAP
-    org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement:
-      version: 1.2.3
-      type: org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement
-      type_version: 1.0.0
-      description: Automation composition element for the K8S microservice for PMSH
-      properties:
-        provider: ONAP
-        participant_id:
-          name: K8sParticipant0
-          version: 1.0.0
-        participantType:
-          name: org.onap.policy.clamp.acm.KubernetesParticipant
-          version: 2.3.4
-        chart:
-          chartId:
-            name: dcae-pmsh
-            version: 10.0.0
-          namespace: onap
-          releaseName: onap-dcae-pmsh
-          repository:
-            repoName: chartmuseum
-            address: 'http://chart-museum:80'
-            userName: onapinitializer
-            password: demo123456!
-          overrideParams:
-            global.masterPassword: test
-    org.onap.policy.clamp.acm.HttpParticipant:
-      version: 2.3.4
-      type: org.onap.policy.clamp.acm.Participant
-      type_version: 1.0.1
-      description: Participant for Http requests
-      properties:
-        provider: ONAP
-    org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement:
-      version: 1.2.3
-      type: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
-      type_version: 1.0.1
-      description: >-
-        Automation composition element for the http requests of PMSH
-        microservice
-      properties:
-        provider: ONAP
-        participant_id:
-          name: HttpParticipant0
-          version: 1.0.0
-        participantType:
-          name: org.onap.policy.clamp.acm.HttpParticipant
-          version: 2.3.4
-        uninitializedToPassiveTimeout: 180
-        startPhase: 1
-        baseUrl: 'https://dcae-pmsh:8443'
-        httpHeaders:
-          Content-Type: application/json
-        configurationEntities:
-          - configurationEntityId:
-              name: entity1
-              version: 1.0.1
-            restSequence:
-              - restRequestId:
-                  name: request1
-                  version: 1.0.1
-                httpMethod: POST
-                path: subscription
-                body: >-
-                  { "subscription":{ "subscriptionName":"new_sub_01",
-                  "operationalPolicyName":"pmsh-operational-policy",
-                  "controlLoopName":"controlLoop-name", "nfFilter":{ "nfNames":[
-                  "^pnf*" ], "modelInvariantIDs":[
-                  "7129e420-d396-4efb-af02-6b83499b12f5" ], "modelVersionIDs":[
-                  "e80a6ae3-cafd-4d24-850d-e14c084a5ca7" ], "modelNames":[
-                  "pnf_134" ] }, "measurementGroups":[ { "measurementGroup":{
-                  "measurementGroupName":"msgroup_01",
-                  "administrativeState":"UNLOCKED", "fileBasedGP":15,
-                  "fileLocation":"/pm/pm.xml", "measurementTypes":[ {
-                  "measurementType":"EutranCell.*" }, {
-                  "measurementType":"EutranCellRelation.pmCounter1" }, {
-                  "measurementType":"EutranCellRelation.pmCounter2" } ],
-                  "managedObjectDNsBasic":[ {
-                  "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1"
-                  }, {
-                  "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1,
-                  EUtranCellRelation=CityCenter2" }, {
-                  "DN":"ManagedElement=1,ENodeBFunction=1,EUtranCell=CityCenter1,
-                  EUtranCellRelation=CityCenter3" } ] } } ] } }
-                expectedResponse: 201
-    org.onap.k8s.acm.A1PMSAutomationCompositionParticipant:
-      version: 2.3.4
-      type: org.onap.policy.clamp.acm.Participant
-      type_version: 1.0.1
-      description: Participant for A1 PMS requests
-      properties:
-        provider: ONAP
-    org.onap.domain.database.PMSH_A1PMSAutomationCompositionElement:
-      version: 1.2.3
-      type: org.onap.policy.clamp.acm.A1PMSAutomationCompositionElement
-      type_version: 1.0.1
-      description: Automation composition element for the A1 PMS Requests
-      properties:
-        provider: ONAP
-        participantType:
-          name: org.onap.policy.clamp.acm.A1PMSParticipant
-          version: 2.3.4
-        policyServiceEntities:
-          - a1PolicyServiceEntityId:
-              name: entity1
-              version: 1.0.1
-            clientId: firstService
-            callbackUrl: http://localhost
-            keepAliveIntervalSeconds: 0
-          - a1PolicyServiceEntityId:
-              name: entity2
-              version: 1.0.1
-            clientId: secondService
-            callbackUrl: http://127.0.0.1
-            keepAliveIntervalSeconds: 0
-    org.onap.domain.sample.GenericK8s_AutomationCompositionDefinition:
-      version: 1.2.3
-      type: org.onap.policy.clamp.acm.AutomationComposition
-      type_version: 1.0.0
-      description: Automation composition for Hello World
-      properties:
-        provider: ONAP
-        elements:
-          - name: >-
-              org.onap.domain.database.PMSH_K8SMicroserviceAutomationCompositionElement
-            version: 1.2.3
-          - name: >-
-              org.onap.domain.database.Http_PMSHMicroserviceAutomationCompositionElement
-            version: 1.2.3
-          - name: >-
-              org.onap.domain.database.PMSH_A1PMSAutomationCompositionElement
-            version: 1.2.3
-          - name: >-
-              org.onap.domain.pmsh.PMSH_MonitoringPolicyAutomationCompositionElement
-            version: 1.2.3
-          - name: >-
-              org.onap.domain.pmsh.PMSH_OperationalPolicyAutomationCompositionElement
-            version: 1.2.3