tosca_definitions_version:tosca_simple_yaml_1_0_0
description:
	This module defines a VNF Deployment Unit.
import:
	

metadata:
	 ID:clearwater
	 Vendor: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:>
			Vdus used in a vnfd
	inputs:
		storage_size:
			type:scalar-unit.size
			default:2048
			description:The required storage resource
		storage_location:
			type:string
			description:>
				Block storage mount point (filesystem path).
	node_templates:
		ellis:
			type:tosca.nodes.Compute
			capabilities:
				os:
					properties:
						architecture:
						type:
						distribution:
						version:
				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
			capabilities:
				os:
					properties:
						architecture:
						type:
						distribution:
						version:
				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