tosca_definitions_version: tosca_simple_profile_yaml v 1.2 data_types: tosca.datatypes.nfv.InstantiationLevel derived_from: tosca.datatypes.Root description: A datatype for describing the datastructure of a VNF instatiation level properties: description: type: string required: true vdu_levels: type: map entry_schema: integer # Change type to tosca.datatypes.nfv.VduLevel required: true virtual_link_bitrate_levels: type: map entry_schema: type: tosca.datatypes.nfv.BitRateLevel required: true node_types: tosca.nodes.nfv.VNF_A derived from: properties: instantiation_levels: type: list entry_schema: tosca.datatypes.nfv.InstantiationLevel required: true instantiation_level: type: integer required: true default: 1 # other properties and requirements omitted for brevity topology template: inputs: instantiation_level: type: integer description: instantiation_level received from the API constraints: - valid_values: [1,2] node_templates: VNF_A: type: tosca.nodes.nfv.VNF_A properties: instantiation_levels: - description: "Basic Level" vdu_levels: [{VDU_A: 1}, {VDU_B: 2}] virtual_link_bitrate_levels: [{VL_1: [root: 1000000, leaf: 100000] }, {VL_2: {root: 1000000}}] - description: "Power Level" vdu_levels: [{VDU_A: 4}, {VDU_B: 2}] virtual_link_bitrate_levels: [{VL_1: {root: 1000000}}, {VL_2: {root: 1000000}}] instantiation_level: {get_input: instantiation_level} # other properties, requirements and capabilities omitted for brevity tosca_definitions_version: tosca_simple_profile_yaml v 1.2 topology template: inputs: instantiation_levels: type: list entry_schema: tosca.datatypes.nfv.InstantiationLevel instantiation_level: type: integer substitution_mappings: node_type: tosca.nodes.nfv.VNF_A # requirements mapping omitted for brevity VDU_A: type:tosca.nodes.nfv.Vdu.Compute properties: # omitted for brevity requirements: # omitted for brevity capabilities: # omitted for brevity interfaces: Standard: create: implementation: instantiateVDU_A.sh inputs: level: {get_input: [instantiation_levels, {get_input: instantiation_level}, vdu_levels, VDU_A]} VDU_B: type:tosca.nodes.nfv.Vdu.Compute properties: # omitted for brevity requirements: # omitted for brevity capabilities: # omitted for brevity interfaces: Standard: create: implementation: instantiateVDU_B.sh inputs: level: {get_input: [instantiation_levels, {get_input: instantiation_level}, vdu_levels, VDU_B]} VL_1: type: tosca.nodes.nfv.VnfVirtualLink properties: # omitted for brevity requirements: # omitted for brevity capabilities: # omitted for brevity interfaces: tosca.interfaces.node.lifecycle.Standard: create: implementation: instantiateVL_1.sh inputs: bitrate_level: {get_input: [instantiation_levels, {get_input: instantiation_level}, virtual_link_bitrate_levels, VL_1]}