aboutsummaryrefslogtreecommitdiffstats
path: root/components/model-catalog/blueprint-model/starter-blueprint
diff options
context:
space:
mode:
Diffstat (limited to 'components/model-catalog/blueprint-model/starter-blueprint')
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json388
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/baseconfig-mapping.json3
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Plans/ActivateProcess.bpmn66
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/SamplePythonComponentNode.py8
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/__init__.py0
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/TOSCA-Metadata/TOSCA.meta8
-rw-r--r--components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Templates/baseconfig-template.vtl1
7 files changed, 474 insertions, 0 deletions
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json
new file mode 100644
index 00000000..4c1ca4a5
--- /dev/null
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json
@@ -0,0 +1,388 @@
+{
+ "metadata": {
+ "template_author": "Brinda Santh Muthuramalingam",
+ "author-email": "brindasanth@gmail.com",
+ "user-groups": "ADMIN, OPERATION",
+ "template_name": "baseconfiguration",
+ "template_version": "1.0.0",
+ "template_tags": "brinda, tosca"
+ },
+ "topology_template": {
+ "inputs": {
+ "request-id": {
+ "required": true,
+ "type": "string"
+ },
+ "action-name": {
+ "required": true,
+ "type": "string"
+ },
+ "scope-type": {
+ "required": true,
+ "type": "string"
+ },
+ "hostname": {
+ "required": true,
+ "type": "string"
+ }
+ },
+ "node_templates": {
+ "activate-process": {
+ "type": "bpmn-activate",
+ "properties": {
+ "process-name": {
+ "get_input": "action-name"
+ },
+ "version": {
+ "get_property": [
+ "SELF",
+ "process-name"
+ ]
+ },
+ "content": {
+ "get_artifact": [
+ "SELF",
+ "activate-process"
+ ]
+ }
+ },
+ "artifacts": {
+ "activate-process": {
+ "type": "artifact-bpmn-camunda",
+ "file": "Plans/ActivateProcess.bpmn"
+ }
+ }
+ },
+ "resource-assignment": {
+ "type": "component-resource-assignment",
+ "properties": {
+ "request-id": "1234"
+ },
+ "interfaces": {
+ "DefaultComponentNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "action-name": {
+ "get_input": "action-name"
+ },
+ "resource-type": "vnf-type",
+ "request-id": {
+ "get_input": "request-id"
+ },
+ "resource-id": {
+ "get_input": "hostname"
+ },
+ "template-content": {
+ "get_artifact": [
+ "SELF",
+ "baseconfig-template"
+ ]
+ },
+ "mapping-content": {
+ "get_artifact": [
+ "SELF",
+ "baseconfig-mapping"
+ ]
+ }
+ },
+ "outputs": {
+ "resource-assignment-params": "",
+ "status": ""
+ }
+ }
+ }
+ }
+ },
+ "artifacts": {
+ "baseconfig-template": {
+ "type": "artifact-template-velocity",
+ "file": "Templates/baseconfig-template.vtl"
+ },
+ "baseconfig-mapping": {
+ "type": "artifact-mapping-resource",
+ "file": "Mappings/baseconfig-mapping.json"
+ }
+ }
+ },
+ "resource-assignment-py": {
+ "type": "component-resource-assignment",
+ "properties": {
+ "request-id": "1234"
+ },
+ "interfaces": {
+ "DefaultComponentNode": {
+ "operations": {
+ "process": {
+ "implementation": {
+ "primary": "component-script"
+ },
+ "inputs": {
+ "action-name": {
+ "get_input": "action-name"
+ }
+ },
+ "outputs": {
+ "resource-assignment-params": "",
+ "status": ""
+ }
+ }
+ }
+ }
+ },
+ "artifacts": {
+ "component-script": {
+ "type": "artifact-script-python",
+ "file": "Scripts/baseconfig-template.vtl"
+ }
+ }
+ }
+ },
+ "workflows": {
+ "activate-process": {
+ "steps": {
+ "call-resource-assignment": {
+ "description": "Invoke Resource Assignment Component",
+ "target": "resource-assignment",
+ "activities": [
+ {
+ "call_operation": "ResourceAssignmentNode.process"
+ }
+ ],
+ "on_success": [
+ "download-baseconfig"
+ ]
+ },
+ "download-baseconfig": {
+ "description": "Call Download Base Config Component",
+ "target": "activate-netconf",
+ "activities": [
+ {
+ "call_operation": "NetconfTransactionNode.process"
+ }
+ ],
+ "on_success": [
+ "download-licence"
+ ]
+ },
+ "download-licence": {
+ "description": "Call Download Licence Component",
+ "target": "activate-netconf",
+ "activities": [
+ {
+ "call_operation": "NetconfTransactionNode.process"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "artifact_types": {
+ "artifact-template-velocity": {
+ "description": " Velocity Template used for Configuration",
+ "version": "1.0.0",
+ "file_ext": [
+ "vtl"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ },
+ "artifact-mapping-resource": {
+ "description": " Velocity Template Resource Mapping File used along with Configuration template",
+ "version": "1.0.0",
+ "file_ext": [
+ "json"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ },
+ "artifact-script-kotlin": {
+ "description": " Kotlin Script Template used for Configuration",
+ "version": "1.0.0",
+ "file_ext": [
+ "kt"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ },
+ "artifact-script-python": {
+ "description": " Kotlin Script Template used for Configuration",
+ "version": "1.0.0",
+ "file_ext": [
+ "py"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ },
+ "artifact-bpmn-camunda": {
+ "description": " Camunda BPM File",
+ "version": "1.0.0",
+ "file_ext": [
+ "bpmn"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ },
+ "artifact-component-jar": {
+ "description": "Component Jar",
+ "version": "1.0.0",
+ "file_ext": [
+ "jar"
+ ],
+ "derived_from": "tosca.artifacts.Implementation"
+ }
+ },
+ "node_types": {
+ "bpmn-activate": {
+ "description": "This is BPMN Activate node type",
+ "version": "1.0.0",
+ "properties": {
+ "content": {
+ "required": false,
+ "type": "string"
+ },
+ "process-name": {
+ "required": false,
+ "type": "string"
+ },
+ "version": {
+ "required": false,
+ "type": "string",
+ "default": "LATEST"
+ }
+ },
+ "derived_from": "tosca.nodes.DG"
+ },
+ "tosca.nodes.Component": {
+ "description": "This is Resource Assignment Component API",
+ "version": "1.0.0",
+ "derived_from": "tosca.nodes.Root"
+ },
+ "tosca.nodes.DG": {
+ "description": "This is Directed Graph Node Type",
+ "version": "1.0.0",
+ "derived_from": "tosca.nodes.Root"
+ },
+ "tosca.nodes.component.Python": {
+ "description": "This is Resource Assignment Python Component API",
+ "version": "1.0.0",
+ "derived_from": "tosca.nodes.Root"
+ },
+ "component-resource-assignment": {
+ "description": "This is Resource Assignment Component API",
+ "version": "1.0.0",
+ "properties": {
+ "request-id": {
+ "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "interfaces": {
+ "DefaultComponentNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "action-name": {
+ "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",
+ "required": false,
+ "type": "string"
+ },
+ "resource-type": {
+ "required": false,
+ "type": "string"
+ },
+ "request-id": {
+ "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required": true,
+ "type": "string"
+ },
+ "resource-id": {
+ "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",
+ "required": true,
+ "type": "string"
+ },
+ "template-content": {
+ "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",
+ "required": true,
+ "type": "string"
+ },
+ "mapping-content": {
+ "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "outputs": {
+ "resource-assignment-params": {
+ "required": true,
+ "type": "string"
+ },
+ "status": {
+ "required": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.Component"
+ },
+ "component-resource-assignment-python": {
+ "description": "This is Resource Assignment Component API",
+ "version": "1.0.0",
+ "properties": {
+ "request-id": {
+ "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "interfaces": {
+ "DefaultComponentNode": {
+ "operations": {
+ "process": {
+ "inputs": {
+ "action-name": {
+ "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",
+ "required": false,
+ "type": "string"
+ }
+ },
+ "outputs": {
+ "resource-assignment-params": {
+ "required": true,
+ "type": "string"
+ },
+ "status": {
+ "required": true,
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "derived_from": "tosca.nodes.component.Python"
+ }
+ },
+ "data_types": {
+ "sample-property": {
+ "description": "This is sample data type",
+ "version": "1.0.0",
+ "properties": {
+ "content": {
+ "required": false,
+ "type": "string"
+ },
+ "process-name": {
+ "required": false,
+ "type": "string"
+ },
+ "version": {
+ "required": false,
+ "type": "string",
+ "default": "LATEST"
+ }
+ },
+ "derived_from": "tosca.datatypes.Root"
+ }
+ }
+} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/baseconfig-mapping.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/baseconfig-mapping.json
new file mode 100644
index 00000000..caee773b
--- /dev/null
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/baseconfig-mapping.json
@@ -0,0 +1,3 @@
+{
+ "assignments": "Sample Assignments"
+} \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Plans/ActivateProcess.bpmn b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Plans/ActivateProcess.bpmn
new file mode 100644
index 00000000..89ae342f
--- /dev/null
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Plans/ActivateProcess.bpmn
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
+ xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
+ xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
+ xmlns:camunda="http://camunda.org/schema/1.0/bpmn"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1"
+ targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.2">
+ <bpmn:process id="ActivateProcess" isExecutable="true">
+ <bpmn:startEvent id="StartEvent_1">
+ <bpmn:outgoing>SequenceFlow_0l0dq58</bpmn:outgoing>
+ </bpmn:startEvent>
+ <bpmn:endEvent id="EndEvent_1pr0kil">
+ <bpmn:incoming>SequenceFlow_1ay0k6p</bpmn:incoming>
+ </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0l0dq58" sourceRef="StartEvent_1" targetRef="activate_device_task"/>
+ <bpmn:sequenceFlow id="SequenceFlow_1ay0k6p" sourceRef="activate_device_task" targetRef="EndEvent_1pr0kil"/>
+ <bpmn:serviceTask id="activate_device_task" name="Activate Device"
+ camunda:delegateExpression="${componentDelegateService}">
+ <bpmn:extensionElements>
+ <camunda:inputOutput>
+ <camunda:inputParameter name="selector"><![CDATA[resource-assignment
+]]></camunda:inputParameter>
+ </camunda:inputOutput>
+ </bpmn:extensionElements>
+ <bpmn:incoming>SequenceFlow_0l0dq58</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1ay0k6p</bpmn:outgoing>
+ </bpmn:serviceTask>
+ </bpmn:process>
+ <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+ <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="ActivateProcess">
+ <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+ <dc:Bounds x="175" y="143" width="36" height="36"/>
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="148" y="179" width="90" height="20"/>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNShape id="EndEvent_1pr0kil_di" bpmnElement="EndEvent_1pr0kil">
+ <dc:Bounds x="575" y="114" width="36" height="36"/>
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="593" y="154" width="0" height="12"/>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0l0dq58_di" bpmnElement="SequenceFlow_0l0dq58">
+ <di:waypoint xsi:type="dc:Point" x="211" y="161"/>
+ <di:waypoint xsi:type="dc:Point" x="273" y="161"/>
+ <di:waypoint xsi:type="dc:Point" x="273" y="149"/>
+ <di:waypoint xsi:type="dc:Point" x="334" y="149"/>
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="288" y="149" width="0" height="12"/>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNEdge id="SequenceFlow_1ay0k6p_di" bpmnElement="SequenceFlow_1ay0k6p">
+ <di:waypoint xsi:type="dc:Point" x="434" y="149"/>
+ <di:waypoint xsi:type="dc:Point" x="505" y="149"/>
+ <di:waypoint xsi:type="dc:Point" x="505" y="132"/>
+ <di:waypoint xsi:type="dc:Point" x="575" y="132"/>
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="520" y="134.5" width="0" height="12"/>
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_0e8ek4f_di" bpmnElement="activate_device_task">
+ <dc:Bounds x="334" y="109" width="100" height="80"/>
+ </bpmndi:BPMNShape>
+ </bpmndi:BPMNPlane>
+ </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/SamplePythonComponentNode.py b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/SamplePythonComponentNode.py
new file mode 100644
index 00000000..fc515133
--- /dev/null
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/SamplePythonComponentNode.py
@@ -0,0 +1,8 @@
+from com.brvith.orchestrator.core.interfaces import ComponentNode
+
+class SamplePythonComponentNode(ComponentNode):
+ def prepare(self, context, componentContext):
+ return None
+
+ def prepare(self, context, componentContext):
+ return None \ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/__init__.py b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/__init__.py
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/TOSCA-Metadata/TOSCA.meta b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 00000000..9066e484
--- /dev/null
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,8 @@
+TOSCA-Meta-File-Version: 1.0.0
+CSAR-Version: 1.0
+Created-By: Brinda Santh M
+Entry-Definitions: Definitions/activation-blueprint.json
+Template-Tags: Brinda Santh, activation-blueprint
+
+Name: Plans/ActivateProcess.bpmn
+Content-Type: application/vnd.oasis.bpmn
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Templates/baseconfig-template.vtl b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Templates/baseconfig-template.vtl
new file mode 100644
index 00000000..026c5917
--- /dev/null
+++ b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Templates/baseconfig-template.vtl
@@ -0,0 +1 @@
+This is Sample Velocity Template \ No newline at end of file