aboutsummaryrefslogtreecommitdiffstats
path: root/tosca/vCPE/Definitions
diff options
context:
space:
mode:
authorEric Multanen <eric.w.multanen@intel.com>2018-08-29 20:21:23 -0700
committerEric Multanen <eric.w.multanen@intel.com>2018-09-06 21:03:58 -0700
commitca9d5080794355f7267f350a9364162920ed4fcf (patch)
treebaafda54df129a57ec5d100635412ed7da205cdd /tosca/vCPE/Definitions
parent2380377cffe9385c16228a8a3bceb1320ac6e718 (diff)
Add TOSCA templates for vCPE use case
Adds initial TOSCA files and script to generate CSAR files for the vCPE use case VNFs. Change-Id: Idb85153e8e18b9c21f24aa6ef92d887e17da07c3 Issue-ID: INT-536 Signed-off-by: Eric Multanen <eric.w.multanen@intel.com>
Diffstat (limited to 'tosca/vCPE/Definitions')
-rw-r--r--tosca/vCPE/Definitions/onap_dm.yaml827
1 files changed, 827 insertions, 0 deletions
diff --git a/tosca/vCPE/Definitions/onap_dm.yaml b/tosca/vCPE/Definitions/onap_dm.yaml
new file mode 100644
index 00000000..0a3faba0
--- /dev/null
+++ b/tosca/vCPE/Definitions/onap_dm.yaml
@@ -0,0 +1,827 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+#Artifact Types
+#Based on R2 Design-time Resource DM clean version v8
+artifact_types:
+ tosca.artifacts.nfv.SwImage:
+ derived_from: tosca.artifacts.Deployment.Image
+
+#Capabilities Type
+#Based on R2 Design-time Resource DM clean version v21
+capability_types:
+ tosca.capabilities.nfv.VirtualBindable:
+ derived_from: tosca.capabilities.Root
+
+ tosca.capabilities.nfv.Metric:
+ derived_from: tosca.capabilities.Root
+
+ tosca.capabilities.nfv.VirtualCompute:
+ derived_from: tosca.capabilities.Root
+ properties:
+ logical_node:
+ type: tosca.datatypes.nfv.LogicalNodeData
+ required: false
+ compute_requirements:
+ type: map
+ entry_schema:
+ type: string
+ required: false
+ requested_additional_capabilities:
+ type: map
+ entry_schema:
+ type: tosca.datatypes.nfv.RequestedAdditionalCapability
+ required: false
+ virtual_memory:
+ type: tosca.datatypes.nfv.VirtualMemory
+ required: true
+ virtual_cpu:
+ type: tosca.datatypes.nfv.VirtualCpu
+ required: true
+
+ tosca.capabilities.nfv.VirtualStorage:
+ derived_from: tosca.capabilities.Root
+
+ tosca.capabilities.nfv.VirtualLinkable:
+ derived_from: tosca.capabilities.Root
+
+ tosca.capabilities.nfv.ExtVirtualLinkable:
+ derived_from: tosca.capabilities.Root
+
+#Data Types
+#Based on R2 Design-time Resource DM clean version v45
+data_types:
+ tosca.datatypes.nfv.L2AddressData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ mac_address_assignment:
+ type: boolean
+ required: true
+
+ tosca.datatypes.nfv.injectFile:
+ derived_from: tosca.datatypes.Root
+ properties:
+ source_path:
+ type: string
+ required: true
+ dest_path:
+ type: string
+ required: true
+
+ tosca.datatypes.nfv.L3AddressData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ ip_address_assignment:
+ type: boolean
+ required: true
+ floating_ip_activated:
+ type: boolean
+ required: true
+ ip_address_type:
+ type: string
+ required: false
+ constraints:
+ - valid_values: [ipv4, ipv6]
+ number_of_ip_address:
+ type: integer
+ required: false
+ fixed_ip_address:
+ type: list
+ entry_schema:
+ type: string
+ required: false
+
+ tosca.datatypes.nfv.AddressData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ address_type:
+ type: string
+ required: true
+ constraints:
+ - valid_values: [mac_address, ip_address]
+ l2_address_data:
+ type: tosca.datatypes.nfv.L2AddressData # empty in "GS NFV IFA011 V0.7.3"
+ required: false
+ l3_address_data:
+ type: tosca.datatypes.nfv.L3AddressData
+ required: false
+
+ tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ required: false
+ description:
+ type: string
+ required: false
+ support_mandatory:
+ type: boolean
+ required: true
+ #TODO HPA
+ network_interface_requirements:
+ type: map
+ entry_schema:
+ type: string
+ required: true
+ nic_io_requirements:
+ type: tosca.datatypes.nfv.LogicalNodeData
+ required: false
+
+ tosca.datatypes.nfv.ConnectivityType:
+ derived_from: tosca.datatypes.Root
+ properties:
+ layer_protocol:
+ type: string
+ required: true
+ constraints:
+ - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
+ flow_pattern:
+ type: string
+ required: false
+ constraints: # not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ - valid_values: [Line, Tree, Mesh]
+
+ tosca.datatypes.nfv.RequestedAdditionalCapability:
+ derived_from: tosca.datatypes.Root
+ properties:
+ #name:
+ # key of containing map
+ support_mandatory:
+ type: boolean
+ required: true
+ min_requested_additional_capability_version:
+ type: string
+ required: false
+ preferred_requested_additional_capability_version:
+ type: string
+ required: false
+ requested_additional_capability_name:
+ type: string
+ required: true
+ target_performance_parameters:
+ type: map
+ entry_schema:
+ type: string
+ required: true
+
+ tosca.datatypes.nfv.VirtualMemory:
+ derived_from: tosca.datatypes.Root
+ properties:
+ virtual_mem_size:
+ type: scalar-unit.size # Number
+ required: true
+ virtual_mem_oversubscription_policy:
+ type: string
+ required: false
+ #TODO HPA
+ vdu_memory_requirements:
+ type: map
+ entry_schema:
+ type: string
+ required: false
+ numa_enabled:
+ type: boolean
+ required: false
+
+ tosca.datatypes.nfv.VirtualCpu:
+ derived_from: tosca.datatypes.Root
+ properties:
+ cpu_architecture:
+ type: string
+ required: false
+ num_virtual_cpu:
+ type: integer
+ required: true
+ virtual_cpu_clock:
+ type: scalar-unit.frequency
+ required: false
+ virtual_cpu_oversubscription_policy:
+ type: string
+ required: false
+ #TODO HPA
+ vdu_cpu_requirements:
+ type: map
+ entry_schema:
+ type: string
+ required: false
+ virtual_cpu_pinning:
+ type: tosca.datatypes.nfv.VirtualCpuPinning
+ required: false
+
+ tosca.datatypes.nfv.VirtualCpuPinning:
+ derived_from: tosca.datatypes.Root
+ properties:
+ cpu_pinning_policy:
+ type: string # CpuPinningPolicy
+ constraints:
+ - valid_values: [ static, dynamic ]
+ required: false
+ cpu_pinning_map:
+ type: map
+ entry_schema:
+ type: string
+ required: false
+
+ tosca.datatypes.nfv.VnfcConfigurableProperties:
+ derived_from: tosca.datatypes.Root
+ properties:
+ additional_vnfc_configurable_properties:
+ type: map
+ entry_schema:
+ type: string
+ required: false
+
+ tosca.datatypes.nfv.VduProfile:
+ derived_from: tosca.datatypes.Root
+ properties:
+ min_number_of_instances:
+ type: integer
+ required: true
+ max_number_of_instances:
+ type: integer
+ required: true
+ #localAffinityOrAntiAffinityRule: # not defined in SOL001 v.6.0
+ # type: tosca.datatype.nfv.LocalAffinityOrAntiAffinityRule
+ # required: true
+ #affinityOrAntiAffinityGroupId: # not defined in SOL001 v.6.0
+ # type: string
+ # required: true
+ watchdog: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: true
+ vmBootUpTimeOut: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: integer
+ required: false
+
+
+ tosca.datatypes.nfv.VlProfile:
+ derived_from: tosca.datatypes.Root
+ properties:
+ max_bit_rate_requirements:
+ type: tosca.datatypes.nfv.LinkBitRateRequirements
+ required: true
+ min_bit_rate_requirements:
+ type: tosca.datatypes.nfv.LinkBitRateRequirements
+ required: true
+ qos:
+ type: tosca.datatypes.nfv.Qos
+ required: false
+ initiationParameters: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: map
+ entry_schema:
+ type: string
+ required: false
+ cidr: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ networkName: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ startIp: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ endIp: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ gatewayIp: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ segmentationId: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: integer
+ required: false
+ physicalNetwork: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ networkType: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: string
+ required: false
+ constraints:
+ - valid_values: [VLAN, VXLAN]
+ dhcpEnabled: # not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: boolean
+ required: false
+ vlanTransparent: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
+ type: boolean
+ required: false
+
+ tosca.datatypes.nfv.InstantiationLevel:
+ derived_from: tosca.datatypes.Root
+ properties:
+ description:
+ type: string
+ required: true
+ vdu_levels:
+ type: map # key: vduId
+ required: true
+ entry_schema:
+ type: tosca.datatypes.nfv.VduLevel
+ scale_info:
+ type: map # key: aspectId
+ required: false
+ entry_schema:
+ type: tosca.datatypes.nfv.ScaleInfo
+
+ tosca.datatypes.nfv.VduLevel:
+ derived_from: tosca.datatypes.Root
+ properties:
+ number_of_instances:
+ type: integer
+ required: true
+
+ tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ instantiate:
+ type: tosca.datatypes.nfv.VnfInstantiateOperationConfiguration
+ scale:
+ type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
+ scale_to_level:
+ type: tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration
+ heal:
+ type: tosca.datatypes.nfv.VnfHealOperationConfiguration
+ terminate:
+ type: tosca.datatypes.nfv.VnfTerminateOperationConfiguration
+ operate:
+ type: tosca.datatypes.nfv.VnfOperateOperationConfiguration
+
+ tosca.datatypes.nfv.VnfInstantiateOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ #properties:
+ #parameters:
+ #modeled as part of operation parameter list
+
+ tosca.datatypes.nfv.VnfScaleOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ #parameters:
+ #modeled as part of the operation parameter list
+ scaling_by_more_than_one_step_supported:
+ type: boolean
+
+ tosca.datatypes.nfv.VnfScaleToLevelOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ #parameters:
+ #modeled as part of the operation parameter list
+ arbitrary_target_levels_supported:
+ type: boolean
+
+ tosca.datatypes.nfv.VnfHealOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ #parameters:
+ #modeled as part of the operation parameter list
+ causes:
+ type: list
+ entry_schema:
+ type: string
+
+ tosca.datatypes.nfv.VnfTerminateOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ min_graceful_termination_timeout:
+ type: integer
+ max_recommended_graceful_termination_timeout:
+ type: integer
+
+ tosca.datatypes.nfv.VnfOperateOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ min_graceful_termination_timeout:
+ type: integer
+ max_recommended_graceful_termination_timeout:
+ type: integer
+
+ tosca.datatypes.nfv.ScaleInfo:
+ derived_from: tosca.datatypes.Root
+ properties:
+ scaleLevel:
+ type: integer
+ required: true
+
+ tosca.datatypes.nfv.ScaleAspect:
+ derived_from: tosca.datatypes.Root
+ properties:
+ name:
+ type: string
+ required: true
+ description:
+ type: string
+ required: true
+ associated_group:
+ type: string #Identifier
+ required: false
+ max_scale_level:
+ type: integer #PositiveInteger
+ required: true
+
+ tosca.datatypes.nfv.LinkBitRateRequirements:
+ derived_from: tosca.datatypes.Root
+ properties:
+ root:
+ type: integer
+ required: true
+ leaf:
+ type: integer
+ required: true
+
+ tosca.datatypes.nfv.Qos:
+ derived_from: tosca.datatypes.Root
+ properties:
+ latency:
+ type: integer #Number [ms]
+ required: true
+ packet_delay_variation:
+ type: integer #Number [ms]
+ required: true
+ packet_loss_ratio:
+ type: float
+ constraints:
+ - in_range: [ 0.0, 1.0 ]
+ required: false
+
+ tosca.datatypes.nfv.CpProtocolData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ asscociated_layer_protocol:
+ type: string
+ constraints:
+ - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
+ required: true
+ address_data:
+ type: tosca.datatypes.nfv.AddressData
+ required: false
+
+ tosca.datatypes.nfv.VnfConfigurableProperties:
+ derived_from: tosca.datatypes.Root
+ properties:
+ is_autoscale_enabled:
+ type: boolean
+ required: false
+ is_autoheal_enabled:
+ type: boolean
+ required: false
+ additional_configurable_properties:
+ type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
+ required: false
+
+ tosca.datatypes.nfv.VnfAdditionalConfigurableProperties:
+ derived_from: tosca.datatypes.Root
+
+ tosca.datatypes.nfv.VnfInfoModifiableAttributes:
+ derived_from: tosca.datatypes.Root
+ properties:
+ extensions:
+ type: tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions
+ required: false
+ metadata:
+ type: tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata
+ required: false
+
+ tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
+ derived_from: tosca.datatypes.Root
+
+ tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+ derived_from: tosca.datatypes.Root
+
+ tosca.datatypes.nfv.LogicalNodeData:
+ derived_from: tosca.datatypes.Root
+ properties:
+ #TODO HPA
+ logical_node_requirements:
+ type: map # not defined in SOL001 v.6.0
+ entry_schema:
+ type: string
+ required: false
+
+#Interface Types
+#Based on R2 Design-time Resource DM clean version v10
+interface_types:
+ tosca.interfaces.nfv.vnf.lifecycle.Nfv:
+ derived_from: tosca.interfaces.Root
+ instantiate:
+ description: Invoked upon receipt of an Instantiate VNF request
+ instantiate_start:
+ description: Invoked before instantiate
+ instantiate_end:
+ description: Invoked after instantiate
+ terminate:
+ description: Invoked upon receipt Terminate VNF request
+ terminate_start:
+ description: Invoked before terminate
+ terminate_end:
+ description: Invoked after terminate
+ modify_information:
+ description: Invoked upon receipt of a Modify VNF Information request
+ modify_information_start:
+ description: Invoked before modify_information
+ modify_information_end:
+ description: Invoked after modify_information
+ change_flavour:
+ description: Invoked upon receipt of a Change VNF Flavour request
+ change_flavour_start:
+ description: Invoked before change_flavour
+ change_flavour_end:
+ description: Invoked after change_flavour
+ change_external_connectivity:
+ description: Invoked upon receipt of a Change External VNF Connectivity request
+ change_external_connectivity_start:
+ description: Invoked before change_external_connectivity
+ change_external_connectivity_end:
+ description: Invoked after change_external_connectivity
+ operate:
+ description: Invoked upon receipt of an Operate VNF request
+ operate_start:
+ description: Invoked before operate
+ operate_end:
+ description: Invoked after operate
+ heal:
+ description: Invoked upon receipt of a Heal VNF request
+ heal_start:
+ description: Invoked before heal
+ heal_end:
+ description: Invoked after heal
+ scale:
+ description: Invoked upon receipt of a Scale VNF request
+ scale_start:
+ description: Invoked before scale
+ scale_end:
+ description: Invoked after scale
+ scale_to_level:
+ description: Invoked upon receipt of a Scale VNF to Level request
+ scale_to_level_start:
+ description: Invoked before scale_to_level
+ scale_to_level_end:
+ description: Invoked after scale_to_level
+ # indicator_changed:
+ # description: On receiving a VNF indicator value change notification
+
+#Node Types
+#Based on R2 Design-time Resource DM clean version v36
+node_types:
+ tosca.nodes.nfv.Vdu.Compute:
+ derived_from: tosca.nodes.Root
+ properties:
+ name:
+ type: string
+ required: true
+ description:
+ type: string
+ required: true
+ boot_order:
+ type: list # explicit index (boot index) not necessary, contrary to IFA011
+ entry_schema:
+ type: string
+ required: false
+ nfvi_constraints:
+ type: list
+ entry_schema:
+ type: string
+ required: false
+ configurable_properties:
+ type: map
+ entry_schema:
+ type: tosca.datatypes.nfv.VnfcConfigurableProperties
+ required: true
+ vdu_profile:
+ type: tosca.datatypes.nfv.VduProfile
+ required: true
+ inject_files: #Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
+ #type: list
+ #entry_schema:
+ #TODO workaround of SDC bug
+ type: tosca.datatypes.nfv.injectFile
+ required: false
+ meta_data: #metadata attached to the VM or container
+ type: map
+ entry_schema:
+ type: string
+ required: false
+ user_data: #cloudinit userdata script support
+ type: string
+ required: false
+ #attributes: NOT DEFINED IN ONAP IM and SOL001
+ #private_address:
+ # status: deprecated
+ #public_address:
+ # status: deprecated
+ #networks:
+ # status: deprecated
+ #ports:
+ # status: deprecated
+ capabilities:
+ virtual_compute:
+ type: tosca.capabilities.nfv.VirtualCompute
+ virtual_binding:
+ type: tosca.capabilities.nfv.VirtualBindable
+ occurrences: [1, UNBOUNDED]
+ monitoring_parameter:
+ type: tosca.capabilities.nfv.Metric
+ occurrences: [0, UNBOUNDED]
+ requirements:
+ - virtual_storage:
+ capability: tosca.capabilities.nfv.VirtualStorage
+ relationship: tosca.relationships.nfv.Vdu.AttachedTo
+ node: tosca.nodes.nfv.Vdu.VirtualStorage
+ occurrences: [ 0, UNBOUNDED ]
+ #artifacts:
+ # - sw_image:
+ # file:
+ # type: tosca.artifacts.nfv.SwImage
+
+ tosca.nodes.nfv.Vdu.VirtualStorage:
+ derived_from: tosca.nodes.Root
+ properties:
+ #id:
+ # node name
+ type_of_storage:
+ type: string
+ constraints:
+ - valid_values: [volume, object, root, block]
+ required: true
+ size_of_storage:
+ type: scalar-unit.size
+ required: true
+ #TODO HPA
+ vdu_storage_requirements:
+ type: map
+ entry_schema:
+ type: string
+ required: false
+ rdma_enabled:
+ type: boolean
+ required: false
+ capabilities:
+ virtual_storage:
+ type: tosca.capabilities.nfv.VirtualStorage
+ #artifacts:
+ # - sw_image:
+ # file:
+ # type: tosca.artifacts.Deployment.Image
+
+ tosca.nodes.nfv.Cp:
+ derived_from: tosca.nodes.Root
+ properties:
+ layer_protocol:
+ type: list
+ entry_schema:
+ constraints:
+ - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
+ type: string
+ required: true
+ role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
+ type: string
+ constraints:
+ - valid_values: [ root, leaf ]
+ required: false
+ description:
+ type: string
+ required: false
+ protocol_data:
+ type: list
+ entry_schema:
+ type: tosca.datatypes.nfv.CpProtocolData
+ required: true
+ trunk_mode:
+ type: boolean
+ required: true
+ allowedAddressData: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0
+ type: tosca.datatypes.nfv.AddressData
+ required: false
+
+ tosca.nodes.nfv.VduCp:
+ derived_from: tosca.nodes.nfv.Cp
+ properties:
+ bitrate_requirement:
+ type: integer
+ required: false
+ vnic_name: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0
+ type: string
+ required: false
+ vnic_order: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
+ type: integer
+ required: false
+ vnic_type: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
+ type: string
+ constraints:
+ - valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
+ required: false
+ virtual_network_interface_requirements:
+ type: list
+ entry_schema:
+ type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
+ required: false
+ #order:
+ # type: integer
+ # required: false
+ # constraints:
+ # - greater_or_equal: 0
+ requirements:
+ - virtual_link:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ relationship: tosca.relationships.nfv.VirtualLinksTo
+ node: tosca.nodes.nfv.VnfVirtualLink
+ - virtual_binding:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ relationship: tosca.relationships.nfv.VirtualBindsTo
+ node: tosca.nodes.nfv.Vdu.Compute
+
+ tosca.nodes.nfv.VnfVirtualLink:
+ derived_from: tosca.nodes.Root
+ properties:
+ connectivity_type:
+ type: tosca.datatypes.nfv.ConnectivityType
+ required: true
+ description:
+ type: string
+ required: false
+ test_access:
+ type: list
+ entry_schema:
+ type: string
+ required: false
+ vl_profile:
+ type: tosca.datatypes.nfv.VlProfile
+ required: true
+ capabilities:
+ monitoring_parameter:
+ type: tosca.capabilities.nfv.Metric
+ occurrences: [0, UNBOUNDED]
+ virtual_linkable:
+ type: tosca.capabilities.nfv.VirtualLinkable
+
+ tosca.nodes.nfv.VNF:
+ derived_from: tosca.nodes.Root
+ properties:
+ descriptor_id: # instead of vnfd_id
+ type: string # GUID
+ required: true
+ descriptor_version: # instead of vnfd_version
+ type: string
+ required: true
+ provider: # instead of vnf_provider
+ type: string
+ required: true
+ product_name: # instead of vnf_product_name
+ type: string
+ required: true
+ software_version: # instead of vnf_software_version
+ type: string
+ required: true
+ product_info_name: # instead of vnf_product_info_name
+ type: string
+ required: false
+ product_info_description: # instead of vnf_product_info_description
+ type: string
+ required: false
+ vnfm_info:
+ type: list
+ entry_schema:
+ type: string
+ required: true
+ localization_languages:
+ type: list
+ entry_schema:
+ type: string
+ required: false
+ default_localization_language:
+ type: string
+ required: false
+ configurable_properties:
+ type: tosca.datatypes.nfv.VnfConfigurableProperties
+ required: false
+ modifiable_attributes:
+ type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
+ required: false # true in IFA011, but all of members are false
+ flavour_id:
+ type: string
+ required: true
+ flavour_description:
+ type: string
+ required: true
+ #capabilities:
+ # monitoring_parameter:
+ # modelled as ad hoc capabilities in the VNF node template
+ requirements:
+ - virtual_link:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ relationship: tosca.relationships.nfv.VirtualLinksTo
+ node: tosca.nodes.nfv.VnfVirtualLink
+ occurrences: [ 0, UNBOUNDED ]
+ interfaces:
+ Nfv:
+ type: tosca.interfaces.nfv.vnf.lifecycle.Nfv
+
+#Relationship Types
+#Based on R2 Design-time Resource DM clean version v4
+relationship_types:
+ tosca.relationships.nfv.VirtualBindsTo:
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types: [ tosca.capabilities.nfv.VirtualBindable]
+
+ tosca.relationships.nfv.VirtualLinksTo:
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable]
+
+ tosca.relationships.nfv.Vdu.AttachedTo:
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types: [ tosca.capabilities.nfv.VirtualStorage]