+++ /dev/null
-{\r
- "metadata": {\r
- "template_author": "Brinda Santh Muthuramalingam",\r
- "author-email": "brindasanth@gmail.com",\r
- "user-groups" : "ADMIN, OPERATION",\r
- "template_name": "baseconfiguration",\r
- "template_version": "1.0.0",\r
- "template_tags": "brinda, tosca"\r
- },\r
- "topology_template": {\r
- "inputs": {\r
- "request-id": {\r
- "required": true,\r
- "type": "string"\r
- },\r
- "action-name": {\r
- "required": true,\r
- "type": "string"\r
- },\r
- "scope-type": {\r
- "required": true,\r
- "type": "string"\r
- },\r
- "hostname": {\r
- "required": true,\r
- "type": "string"\r
- }\r
- },\r
- "node_templates": {\r
- "activate-process": {\r
- "type": "bpmn-activate",\r
- "properties": {\r
- "process-name": { "get_input" : "action-name" },\r
- "version" : { "get_property" : ["SELF", "process-name"] },\r
- "content": { "get_artifact" : ["SELF", "activate-process"] }\r
- },\r
- "artifacts": {\r
- "activate-process": {\r
- "type": "artifact-bpmn-camunda",\r
- "file": "Plans/ActivateProcess.bpmn"\r
- }\r
- }\r
- },\r
- "resource-assignment": {\r
- "type": "component-resource-assignment",\r
- "properties":{\r
- "request-id": "1234"\r
- },\r
- "interfaces": {\r
- "DefaultComponentNode": {\r
- "operations": {\r
- "process": {\r
- "inputs": {\r
- "action-name": { "get_input" : "action-name" },\r
- "resource-type": "vnf-type",\r
- "request-id": { "get_input" : "request-id" },\r
- "resource-id": { "get_input" : "hostname" },\r
- "template-content": { "get_artifact" : ["SELF", "baseconfig-template"] },\r
- "mapping-content": { "get_artifact" : ["SELF", "baseconfig-mapping"] }\r
- },\r
- "outputs": {\r
- "resource-assignment-params": "",\r
- "status": ""\r
- }\r
- }\r
- }\r
- }\r
- },\r
- "artifacts": {\r
- "baseconfig-template": {\r
- "type": "artifact-template-velocity",\r
- "file": "Templates/baseconfig-template.vtl"\r
- },\r
- "baseconfig-mapping": {\r
- "type": "artifact-mapping-resource",\r
- "file": "Mappings/baseconfig-mapping.json"\r
- }\r
- }\r
- },\r
- "resource-assignment-py": {\r
- "type": "component-resource-assignment",\r
- "properties":{\r
- "request-id": "1234"\r
- },\r
- "interfaces": {\r
- "DefaultComponentNode": {\r
- "operations": {\r
- "process": {\r
- "implementation" :{\r
- "primary" : "component-script"\r
- },\r
- "inputs": {\r
- "action-name": { "get_input" : "action-name" }\r
- },\r
- "outputs": {\r
- "resource-assignment-params": "",\r
- "status": ""\r
- }\r
- }\r
- }\r
- }\r
- },\r
- "artifacts": {\r
- "component-script": {\r
- "type": "artifact-script-python",\r
- "file": "Scripts/baseconfig-template.vtl"\r
- }\r
- }\r
- }\r
- },\r
- "workflows":{\r
- "activate-process":{\r
- "steps" : {\r
- "call-resource-assignment" : {\r
- "description" : "Invoke Resource Assignment Component",\r
- "target" : "resource-assignment",\r
- "activities" : [\r
- {\r
- "call_operation": "ResourceAssignmentNode.process"\r
- }\r
- ],\r
- "on_success" : [\r
- "download-baseconfig"\r
- ]\r
- },\r
- "download-baseconfig" : {\r
- "description" : "Call Download Base Config Component",\r
- "target" : "activate-netconf",\r
- "activities" : [\r
- {\r
- "call_operation": "NetconfTransactionNode.process"\r
- }\r
- ],\r
- "on_success" : [\r
- "download-licence"\r
- ]\r
- },\r
- "download-licence" : {\r
- "description" : "Call Download Licence Component",\r
- "target" : "activate-netconf",\r
- "activities" : [\r
- {\r
- "call_operation": "NetconfTransactionNode.process"\r
- }\r
- ]\r
- }\r
- }\r
- }\r
- }\r
- },\r
- "artifact_types": {\r
- "artifact-template-velocity": {\r
- "description": " Velocity Template used for Configuration",\r
- "version": "1.0.0",\r
- "file_ext": [\r
- "vtl"\r
- ],\r
- "derived_from": "tosca.artifacts.Implementation"\r
- },\r
- "artifact-mapping-resource": {\r
- "description": " Velocity Template Resource Mapping File used along with Configuration template",\r
- "version": "1.0.0",\r
- "file_ext": [\r
- "json"\r
- ],\r
- "derived_from": "tosca.artifacts.Implementation"\r
- },\r
- "artifact-script-kotlin": {\r
- "description": " Kotlin Script Template used for Configuration",\r
- "version": "1.0.0",\r
- "file_ext": [\r
- "kt"\r
- ],\r
- "derived_from": "tosca.artifacts.Implementation"\r
- },\r
- "artifact-script-python": {\r
- "description": " Kotlin Script Template used for Configuration",\r
- "version": "1.0.0",\r
- "file_ext": [\r
- "py"\r
- ],\r
- "derived_from": "tosca.artifacts.Implementation"\r
- },\r
- "artifact-bpmn-camunda": {\r
- "description": " Camunda BPM File",\r
- "version": "1.0.0",\r
- "file_ext": [\r
- "bpmn"\r
- ],\r
- "derived_from": "tosca.artifacts.Implementation"\r
- },\r
- "artifact-component-jar": {\r
- "description": "Component Jar",\r
- "version": "1.0.0",\r
- "file_ext": [\r
- "jar"\r
- ],\r
- "derived_from": "tosca.artifacts.Implementation"\r
- }\r
- },\r
- "node_types": {\r
- "bpmn-activate": {\r
- "description": "This is BPMN Activate node type",\r
- "version": "1.0.0",\r
- "properties": {\r
- "content": {\r
- "required": false,\r
- "type": "string"\r
- },\r
- "process-name": {\r
- "required": false,\r
- "type": "string"\r
- },\r
- "version": {\r
- "required": false,\r
- "type": "string",\r
- "default" : "LATEST"\r
- }\r
- },\r
- "derived_from": "tosca.nodes.Component"\r
- },\r
- "tosca.nodes.Component": {\r
- "description": "This is Resource Assignment Component API",\r
- "version": "1.0.0",\r
- "properties": {\r
- "type": {\r
- "description": "Request Id used to store the generated configuration, in the database along with the template-name",\r
- "required": false,\r
- "type": "string"\r
- }\r
- },\r
- "interfaces": {\r
- "DefaultOperation": {\r
- "operations": {\r
- "validate": {\r
- "inputs": {\r
- "action-name": {\r
- "description": "validate for action",\r
- "required": false,\r
- "type": "string"\r
- }\r
- }\r
- }\r
- }\r
- }\r
- },\r
- "artifacts" :{\r
- "component-jar": {\r
- "description": "Component Jar",\r
- "type": "artifact-component-jar",\r
- "file": "Component/basecomponent.jar"\r
- }\r
- },\r
- "derived_from": "tosca.nodes.Root"\r
- },\r
- "tosca.nodes.component.Python": {\r
- "description": "This is Resource Assignment Python Component API",\r
- "version": "1.0.0",\r
- "properties": {\r
- "type": {\r
- "description": "Request Id used to store the generated configuration, in the database along with the template-name",\r
- "required": false,\r
- "type": "string"\r
- }\r
- },\r
- "interfaces": {\r
- "DefaultOperation": {\r
- "operations": {\r
- "validate": {\r
- "inputs": {\r
- "action-name": {\r
- "description": "validate for action",\r
- "required": false,\r
- "type": "string"\r
- }\r
- }\r
- }\r
- }\r
- }\r
- },\r
- "artifacts" :{\r
- "component-jar": {\r
- "description": "Component Jar",\r
- "type": "artifact-component-jar",\r
- "file": "Component/basecomponent.jar"\r
- }\r
- },\r
- "derived_from": "tosca.nodes.Root"\r
- },\r
- "component-resource-assignment": {\r
- "description": "This is Resource Assignment Component API",\r
- "version": "1.0.0",\r
- "properties": {\r
- "request-id": {\r
- "description": "Request Id used to store the generated configuration, in the database along with the template-name",\r
- "required": true,\r
- "type": "string"\r
- }\r
- },\r
- "interfaces": {\r
- "DefaultComponentNode": {\r
- "operations": {\r
- "process": {\r
- "inputs": {\r
- "action-name": {\r
- "description": "Recipe Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",\r
- "required": false,\r
- "type": "string"\r
- },\r
- "resource-type": {\r
- "required": false,\r
- "type": "string"\r
- },\r
- "request-id": {\r
- "description": "Request Id used to store the generated configuration, in the database along with the template-name",\r
- "required": true,\r
- "type": "string"\r
- },\r
- "resource-id": {\r
- "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",\r
- "required": true,\r
- "type": "string"\r
- },\r
- "template-content": {\r
- "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",\r
- "required": true,\r
- "type": "string"\r
- },\r
- "mapping-content": {\r
- "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",\r
- "required": true,\r
- "type": "string"\r
- }\r
- },\r
- "outputs": {\r
- "resource-assignment-params": {\r
- "required": true,\r
- "type": "string"\r
- },\r
- "status": {\r
- "required": true,\r
- "type": "string"\r
- }\r
- }\r
- }\r
- }\r
- }\r
- },\r
- "derived_from": "tosca.nodes.Component"\r
- },\r
- "component-resource-assignment-python": {\r
- "description": "This is Resource Assignment Component API",\r
- "version": "1.0.0",\r
- "properties": {\r
- "request-id": {\r
- "description": "Request Id used to store the generated configuration, in the database along with the template-name",\r
- "required": true,\r
- "type": "string"\r
- }\r
- },\r
- "interfaces": {\r
- "DefaultComponentNode": {\r
- "operations": {\r
- "process": {\r
- "inputs": {\r
- "action-name": {\r
- "description": "Recipe Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",\r
- "required": false,\r
- "type": "string"\r
- }\r
- },\r
- "outputs": {\r
- "resource-assignment-params": {\r
- "required": true,\r
- "type": "string"\r
- },\r
- "status": {\r
- "required": true,\r
- "type": "string"\r
- }\r
- }\r
- }\r
- }\r
- }\r
- },\r
- "derived_from": "tosca.nodes.component.Python"\r
- }\r
- },\r
- "data_types": {\r
- "sample-property" : {\r
- "description": "This is sample data type",\r
- "version": "1.0.0",\r
- "properties": {\r
- "content": {\r
- "required": false,\r
- "type": "string"\r
- },\r
- "process-name": {\r
- "required": false,\r
- "type": "string"\r
- },\r
- "version": {\r
- "required": false,\r
- "type": "string",\r
- "default" : "LATEST"\r
- }\r
- },\r
- "derived_from" : "tosca.datatypes.Root"\r
- }\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"\r
- xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"\r
- xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"\r
- xmlns:camunda="http://camunda.org/schema/1.0/bpmn"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1"\r
- targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.2">\r
- <bpmn:process id="ActivateProcess" isExecutable="true">\r
- <bpmn:startEvent id="StartEvent_1">\r
- <bpmn:outgoing>SequenceFlow_0l0dq58</bpmn:outgoing>\r
- </bpmn:startEvent>\r
- <bpmn:endEvent id="EndEvent_1pr0kil">\r
- <bpmn:incoming>SequenceFlow_1ay0k6p</bpmn:incoming>\r
- </bpmn:endEvent>\r
- <bpmn:sequenceFlow id="SequenceFlow_0l0dq58" sourceRef="StartEvent_1" targetRef="activate_device_task"/>\r
- <bpmn:sequenceFlow id="SequenceFlow_1ay0k6p" sourceRef="activate_device_task" targetRef="EndEvent_1pr0kil"/>\r
- <bpmn:serviceTask id="activate_device_task" name="Activate Device"\r
- camunda:delegateExpression="${componentDelegateService}">\r
- <bpmn:extensionElements>\r
- <camunda:inputOutput>\r
- <camunda:inputParameter name="selector"><![CDATA[resource-assignment\r
-]]></camunda:inputParameter>\r
- </camunda:inputOutput>\r
- </bpmn:extensionElements>\r
- <bpmn:incoming>SequenceFlow_0l0dq58</bpmn:incoming>\r
- <bpmn:outgoing>SequenceFlow_1ay0k6p</bpmn:outgoing>\r
- </bpmn:serviceTask>\r
- </bpmn:process>\r
- <bpmndi:BPMNDiagram id="BPMNDiagram_1">\r
- <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="ActivateProcess">\r
- <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">\r
- <dc:Bounds x="175" y="143" width="36" height="36"/>\r
- <bpmndi:BPMNLabel>\r
- <dc:Bounds x="148" y="179" width="90" height="20"/>\r
- </bpmndi:BPMNLabel>\r
- </bpmndi:BPMNShape>\r
- <bpmndi:BPMNShape id="EndEvent_1pr0kil_di" bpmnElement="EndEvent_1pr0kil">\r
- <dc:Bounds x="575" y="114" width="36" height="36"/>\r
- <bpmndi:BPMNLabel>\r
- <dc:Bounds x="593" y="154" width="0" height="12"/>\r
- </bpmndi:BPMNLabel>\r
- </bpmndi:BPMNShape>\r
- <bpmndi:BPMNEdge id="SequenceFlow_0l0dq58_di" bpmnElement="SequenceFlow_0l0dq58">\r
- <di:waypoint xsi:type="dc:Point" x="211" y="161"/>\r
- <di:waypoint xsi:type="dc:Point" x="273" y="161"/>\r
- <di:waypoint xsi:type="dc:Point" x="273" y="149"/>\r
- <di:waypoint xsi:type="dc:Point" x="334" y="149"/>\r
- <bpmndi:BPMNLabel>\r
- <dc:Bounds x="288" y="149" width="0" height="12"/>\r
- </bpmndi:BPMNLabel>\r
- </bpmndi:BPMNEdge>\r
- <bpmndi:BPMNEdge id="SequenceFlow_1ay0k6p_di" bpmnElement="SequenceFlow_1ay0k6p">\r
- <di:waypoint xsi:type="dc:Point" x="434" y="149"/>\r
- <di:waypoint xsi:type="dc:Point" x="505" y="149"/>\r
- <di:waypoint xsi:type="dc:Point" x="505" y="132"/>\r
- <di:waypoint xsi:type="dc:Point" x="575" y="132"/>\r
- <bpmndi:BPMNLabel>\r
- <dc:Bounds x="520" y="134.5" width="0" height="12"/>\r
- </bpmndi:BPMNLabel>\r
- </bpmndi:BPMNEdge>\r
- <bpmndi:BPMNShape id="ServiceTask_0e8ek4f_di" bpmnElement="activate_device_task">\r
- <dc:Bounds x="334" y="109" width="100" height="80"/>\r
- </bpmndi:BPMNShape>\r
- </bpmndi:BPMNPlane>\r
- </bpmndi:BPMNDiagram>\r
-</bpmn:definitions>\r
},\r
"derived_from" : "tosca.nodes.DG"\r
},\r
+ "tosca.nodes.Component" : {\r
+ "description" : "This is default Component Node",\r
+ "version" : "1.0.0",\r
+ "derived_from" : "tosca.nodes.Root"\r
+ },\r
"component-resource-assignment" : {\r
"description" : "This is Resource Assignment Component API",\r
"version" : "1.0.0",\r
},\r
"derived_from" : "tosca.nodes.Component"\r
},\r
+ "tosca.nodes.DG" : {\r
+ "description" : "This is Directed Graph Node Type",\r
+ "version" : "1.0.0",\r
+ "derived_from" : "tosca.nodes.Root"\r
+ },\r
"artifact-config-template" : {\r
"description" : "This is Configuration Velocity Template",\r
"version" : "1.0.0",\r
},\r
"derived_from" : "tosca.nodes.Vnf"\r
},\r
+ "tosca.nodes.Vnf" : {\r
+ "description" : "This is VNF Node Type",\r
+ "version" : "1.0.0",\r
+ "derived_from" : "tosca.nodes.Root"\r
+ },\r
"component-netconf-executor" : {\r
"description" : "This is Netconf Transaction Configuration Component API",\r
"version" : "1.0.0",\r
"required" : true,\r
"type" : "string"\r
},\r
- "service-template-name" : {\r
+ "template-name" : {\r
"description" : "Service Template Name",\r
"required" : true,\r
"type" : "string"\r
},\r
- "service-template-version" : {\r
+ "template-version" : {\r
"description" : "Service Template Version",\r
"required" : true,\r
"type" : "string"\r
},\r
"derived_from" : "tosca.nodes.Component"\r
},\r
+ "tosca.nodes.Artifact" : {\r
+ "description" : "This is Deprecated Artifact Node Type.",\r
+ "version" : "1.0.0",\r
+ "derived_from" : "tosca.nodes.Root"\r
+ },\r
"dg-activate-netconf" : {\r
"description" : "This is Download Netconf Directed Graph",\r
"version" : "1.0.0",\r
},\r
"inputs" : {\r
"action-name" : "{ \"get_input\" : \"action-name\" }",\r
- "template_name" : "{ \"get_attribute\" : \"template_name\" }",\r
- "service-template-version" : "{ \"get_attribute\" : \"service-template-version\" }",\r
+ "template-name" : "{ \"get_attribute\" : \"template_name\" }",\r
+ "template-version" : "{ \"get_attribute\" : \"template_version\" }",\r
"resource-type" : "vnf-type",\r
"request-id" : "{ \"get_input\" : \"request-id\" }",\r
"resource-id" : "{ \"get_input\" : \"hostname\" }",\r