--- /dev/null
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+description: >
+  This module defines a VNF Deployment Unit.
+
+metadata:
+  template_name: clearwater
+  template_author: HP
+
+dsl_definitions:
+  compute_props_host_ellis: &compute_props_host_ellis
+    num_cpu: 4
+    mem_size: 4096
+  compute_props_host_bono: &compute_props_host_bono
+    num_cpu: 3
+    mem_size: 2048
+
+node_types:
+  tosca.nodes.compute.ellis:
+    derived_from: tosca.nodes.compute
+
+  tosca.nodes.compute.bono:
+    derived_from: tosca.nodes.compute
+
+topology_template:
+  # a description of the topology template
+  description: >
+
+
+  inputs:
+   storage_size:
+     type: scalar-unit.size
+     default: 2048 M
+     description: The required storage resource
+
+   storage_location:
+     type: string
+     description: >
+       Block storage mount point (filesystem path).
+
+  node_templates:
+    ellis:
+      type: tosca.nodes.compute.ellis
+      capabilities:
+        host:
+          properties: *compute_props_host_ellis
+        scalable:
+          properties:
+            min_instances: 1
+            default_instances: 1
+      requirements:
+        - local_storage:
+            node: ellis_BlockStorage
+            relationship:
+              type: AttachesTo
+                properties:
+                  location: { get_input: storage_location }
+      interfaces:
+        Standard:
+          start:
+            implementation: start.sh
+          delete:
+            implementaion: stop.sh
+          stop:
+            implementaion: shutdown.sh
+
+    ellis_BlockStorage:
+      type: tosca.nodes.BlockStorage
+      properties:
+        size: { get_input: storage_size }
+
+    bono:
+      type: tosca.nodes.compute.bono
+      capabilities:
+        host:
+          properties: *compute_props_host_bono
+        scalable:
+          properties:
+            min_instances: 3
+            default_instances: 3
+      requirements:
+        - local_storage:
+            node: bono_BlockStorage
+            relationship:
+              type: AttachesTo
+                properties:
+                  location: { get_input: storage_location }
+      interfaces:
+        Standard:
+          start:
+            implementation: start.sh
+          delete:
+            implementaion: stop.sh
+          stop:
+            implementaion: shutdown.sh
+
+    bono_BlockStorage:
+      type: tosca.nodes.BlockStorage
+      properties:
+        size: { get_input: storage_size }
+
+    clearwater_network1:
+      type: tosca.nodes.network.Network
+      properties:
+        ip_version: 4
+
+    ellis_port1:
+      type: tosca.nodes.network.Port
+      requirements:
+        - binding:
+            node: ellis
+        - link:
+            node: clearwater_network1
+
+    clearwater_network2:
+      type: tosca.nodes.network.Network
+      properties:
+        ip_version: 4
+
+    ellis_port2:
+      type: tosca.nodes.network.Port
+      requirements:
+        - binding:
+            node: ellis
+        - link:
+            node: clearwater_network2
+
+    clearwater_network1:
+      type: tosca.nodes.network.Network
+      properties:
+        ip_version: 4
+
+    bono_port1:
+      type: tosca.nodes.network.Port
+      requirements:
+        - binding:
+            node: bono
+        - link:
+            node: clearwater_network1
+
+    clearwater_network2:
+      type: tosca.nodes.network.Network
+      properties:
+        ip_version: 4
+
+    bono_port2:
+      type: tosca.nodes.network.Port
+      requirements:
+        - binding:
+            node: bono
+        - link:
+            node: clearwater_network2