logical_node:
type: tosca.datatypes.nfv.LogicalNodeData
required: false
-# compute_requirements: Type is TBD
-# type: map
-# required: false
+ compute_requirements:
+ type: map
+ entry_schema:
+ type: string
+ required: false
requested_additional_capabilities:
type: map
entry_schema:
required: true
requirement:
type: string # not specified
+ required: false
network_interface_requirements:
type: map
entry_schema:
type: string
required: false
tosca.datatypes.nfv.AddressData:
+ derived_from: tosca.datatypes.Root
properties:
address_type:
constraints:
- valid_values: [mac_address, ip_address]
type: string
+ required: true
l2_address_data:
required: false
type: tosca.datatypes.nfv.L2AddressData
required: true
vmBootUpTimeOut: #Align with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v.6.0
type: integer
- required: optional
+ required: false
tosca.datatypes.nfv.LinkBitRateRequirements:
derived_from: tosca.datatypes.Root
properties:
required: true
packet_loss_ratio:
type: float #Number [0 ..1]
+ constraints:
+ - in_range: [ 0.0, 1.0 ]
required: false
tosca.datatypes.nfv.VlProfile:
derived_from: tosca.datatypes.Root
# additional_configurable_properties:
# type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
# required: false
-#tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
-# derived_from: tosca.datatypes.Root
-#tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
-# 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
+ properties:
+ description:
+ type: string
+ required: false
+tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+ derived_from: tosca.datatypes.Root
+ properties:
+ description:
+ type: string
+ required: false
+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
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. Align with the IM, it is false
+ modifiable_attributes:
+ type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
+ required: false # true in IFA011, but all of members are false. Align with the IM, it is false
flavour_id:
type: string
required: true
flavour_description:
type: string
required: true
- capabilities:
+ #capabilities:
# monitoring_parameter:
# modelled as ad hoc capabilities in the VNF node template
requirements:
- UNBOUNDED
interfaces:
Nfv:
- type: tosca.interfaces.node.lifecycle.Standard
+ type: tosca.interfaces.nfv.vnf.lifecycle.Nfv
- virtual_storage:
capability: tosca.capabilities.nfv.VirtualStorage
relationship: tosca.relationships.nfv.Vdu.AttachedTo
- node: tosca.nodes.nfv.VDU.VirtualStorage
+ node: tosca.nodes.nfv.Vdu.VirtualStorage
occurences:
- 0
- UNBOUNDED
- artifacts:
- - sw_image:
- file:
- type: tosca.artifacts.nfv.SwImage
\ No newline at end of file
+ #artifacts: artifacts should be defined in template file instead of node type
+ # - sw_image:
+ # file:
+ # type: tosca.artifacts.nfv.SwImage
capabilities:
virtual_storage:
type: tosca.capabilities.nfv.VirtualStorage
- artifacts:
- - sw_image:
- file:
- type: tosca.artifacts.Deployment.Image
+ # artifacts: artifacts should be defined in template file instead of node type
+ # - sw_image:
+ # file:
+ # type: tosca.artifacts.Deployment.Image
tosca.relationships.nfv.VirtualLinksTo:
derived_from: tosca.relationships.DependsOn
valid_target_types:
- - tosca.capabilities.nfv.VirtualLinkable
\ No newline at end of file
+ - tosca.capabilities.nfv.VirtualLinkable
+
+tosca.relationships.nfv.Vdu.AttachedTo:
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types: [ tosca.capabilities.nfv.VirtualStorage ]
logical_node:
type: tosca.datatypes.nfv.LogicalNodeData
required: false
- #compute_requirements: Type is TBD
- #type: map
- #required: false
+ compute_requirements:
+ type: map
+ entry_schema:
+ type: string
+ required: false
requested_additional_capabilities:
type: map
entry_schema:
derived_from: tosca.capabilities.Root
tosca.capabilities.nfv.ext.LocalAttachment:
- derived_from: tosca.capabilities.Root
\ No newline at end of file
+ derived_from: tosca.capabilities.Root
+
derived_from: tosca.datatypes.Root
properties:
virtual_mem_size:
- type: string
+ type: scalar-unit.size
required: true
virtual_mem_oversubscription_policy:
type: string
type: string
required: false
tosca.datatypes.nfv.VnfcConfigurableProperties:
+ derived_from: tosca.datatypes.Root
properties:
additional_vnfc_configurable_properties:
entry_schema:
required: true
dest_path:
type: string
+ required: true
tosca.datatype.nfv.AddressData:
+ derived_from: tosca.datatypes.Root
properties:
address_type:
constraints:
- valid_values: [mac_address, ip_address]
type: string
+ required: true
l2_address_data:
required: false
type: tosca.datatypes.nfv.L2AddressData
type: boolean
required: true
tosca.datatypes.nfv.ConnectivityType:
+ derived_from: tosca.datatypes.Root
properties:
layer_protocol:
constraints:
- - valid_values:
- - ethernet
- - mpls
- - odu2
- - ipv4
- - ipv6
- - pseudo_wire
+ - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
type: string
+ required: true
flow_pattern:
required: false
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: optional
+ required: false
tosca.datatypes.nfv.LinkBitRateRequirements:
derived_from: tosca.datatypes.Root
properties:
required: true
packet_loss_ratio:
type: float #Number [0 ..1]
+ constraints:
+ - in_range: [ 0.0, 1.0 ]
required: false
tosca.datatypes.nfv.VlProfile:
derived_from: tosca.datatypes.Root
required: false
entry_schema:
type: tosca.datatypes.nfv.ScaleInfo
- #tosca.datatypes.nfv.VnfInstantiateOperationConfiguration:
- # derived_from: tosca.datatypes.Root
- #properties:
+ tosca.datatypes.nfv.VnfInstantiateOperationConfiguration:
+ derived_from: tosca.datatypes.Root
+ properties:
+ description:
+ type: string
+ required: false
#parameters:
#modeled as part of operation parameter list
tosca.datatypes.nfv.VnfScaleOperationConfiguration:
tosca.datatypes.nfv.VnfLcmOperationsConfiguration:
derived_from: tosca.datatypes.Root
properties:
- # instantiate:
- # type: tosca.datatypes.nfv.VnfInstantiateOperationConfiguration
+ instantiate:
+ type: tosca.datatypes.nfv.VnfInstantiateOperationConfiguration
scale:
type: tosca.datatypes.nfv.VnfScaleOperationConfiguration
scale_to_level:
address_data:
type: tosca.datatypes.nfv.AddressData
required: false
- #tosca.datatypes.nfv.VnfAdditionalConfigurableProperties:
- # derived_from: tosca.datatypes.Root
+ tosca.datatypes.nfv.VnfAdditionalConfigurableProperties:
+ derived_from: tosca.datatypes.Root
+ properties:
+ description:
+ type: string
+ required: false
tosca.datatypes.nfv.VnfConfigurableProperties:
derived_from: tosca.datatypes.Root
properties:
is_autoheal_enabled:
type: boolean
required: false
- # additional_configurable_properties:
- # type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
- # required: false
- #tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
- # derived_from: tosca.datatypes.Root
- #tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
- # 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
+ additional_configurable_properties:
+ type: tosca.datatypes.nfv.VnfAdditionalConfigurableProperties
+ required: false
+ tosca.datatypes.nfv.VnfInfoModifiableAttributesExtensions:
+ derived_from: tosca.datatypes.Root
+ properties:
+ description:
+ type: string
+ required: false
+ tosca.datatypes.nfv.VnfInfoModifiableAttributesMetadata:
+ derived_from: tosca.datatypes.Root
+ properties:
+ description:
+ type: string
+ required: false
+ 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
metadata:
filename: onap/nodes.yml
version: '1.0'
-
+
imports:
- onap_index:
file: _index.yml
type: string
required: false
configurable_properties:
- type: map #In the IM, the multipilicity of VnfcConfigurableProperties is 1, not a map.
- entry_schema:
- type: tosca.datatypes.nfv.VnfcConfigurableProperties
- required: true
+ type: map #In the IM, the multipilicity of VnfcConfigurableProperties is 1, not a map.
+ entry_schema:
+ type: tosca.datatypes.nfv.VnfcConfigurableProperties
+ required: true
vdu_profile:
- type: tosca.datatypes.nfv.VduProfile
- required: true
+ type: tosca.datatypes.nfv.VduProfile
+ required: true
inject_files: # Used for vCPE usecase Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
- type: tosca.datatypes.nfv.injectFile
- required: false #Aligned with ONAP R2 IM. it should be false.
+ type: tosca.datatypes.nfv.injectFile
+ required: false #Aligned with ONAP R2 IM. it should be false.
meta_data: #metadata attached to the VM or container
- type: map
- entry_schema:
- type: string
- required: false
+ type: map
+ entry_schema:
+ type: string
+ required: false
user_data: #cloudinit userdata script support
type: string
required: false
- 0
- UNBOUNDED
requirements:
- - virtual_storage:
- capability: tosca.capabilities.nfv.VirtualStorage
- relationship: tosca.relationships.nfv.Vdu.AttachedTo
- node: tosca.nodes.nfv.VDU.VirtualStorage
- occurences:
- - 0
- - UNBOUNDED
- artifacts:
- sw_image:
- file:
- type: tosca.artifacts.nfv.SwImage
+ - virtual_storage:
+ capability: tosca.capabilities.nfv.VirtualStorage
+ relationship: tosca.relationships.nfv.Vdu.AttachedTo
+ node: tosca.nodes.nfv.Vdu.VirtualStorage
+ occurences:
+ - 0
+ - UNBOUNDED
+ #artifacts: artifacts should be defined in template file instead of node type
+ # sw_image:
+ # file:
+ # type: tosca.artifacts.nfv.SwImage
tosca.nodes.nfv.Vdu.VirtualStorage:
capabilities:
virtual_storage:
type: tosca.capabilities.nfv.VirtualStorage
- artifacts:
- sw_image:
- file:
- type: tosca.artifacts.Deployment.Image
+ #artifacts: artifacts should be defined in template file instead of node type
+ # sw_image:
+ # file:
+ # type: tosca.artifacts.Deployment.Image
tosca.nodes.nfv.ext.zte.VNF:
capabilities:
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. Align with the IM, it is false
+ modifiable_attributes:
+ type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
+ required: false # true in IFA011, but all of members are false. Align with the IM, it is false
flavour_id:
type: string
required: true
flavour_description:
type: string
required: true
- capabilities:
+ #capabilities:
# monitoring_parameter:
# modelled as ad hoc capabilities in the VNF node template
requirements:
- UNBOUNDED
interfaces:
Nfv:
- type: tosca.interfaces.node.lifecycle.Standard
+ type: tosca.interfaces.nfv.vnf.lifecycle.Nfv
tosca.nodes.nfv.VduCp:
derived_from: tosca.nodes.nfv.Cp
file: _index.yml
relationship_types:
-
- tosca.relationships.nfv.VDU.AttachedTo:
- derived_from: tosca.relationships.Root
- properties:
- location:
- required: false
- type: string
-
tosca.relationships.nfv.VirtualBindsTo:
derived_from: tosca.relationships.DependsOn
valid_target_types:
tosca.relationships.nfv.VirtualLinksTo:
derived_from: tosca.relationships.DependsOn
valid_target_types:
- - tosca.capabilities.nfv.VirtualLinkable
\ No newline at end of file
+ - tosca.capabilities.nfv.VirtualLinkable
+
+ tosca.relationships.nfv.Vdu.AttachedTo:
+ derived_from: tosca.relationships.DependsOn
+ valid_target_types: [ tosca.capabilities.nfv.VirtualStorage ]
- 0
- UNBOUNDED
- tosca.nodes.nfv.VDU.Compute:
- attributes:
- private_address:
- type: string
- public_address:
- type: string
- networks:
- type: string
- ports:
- type: string
+ tosca.nodes.nfv.Vdu.Compute:
+ #attributes:
+ # private_address:
+ # type: string
+ # public_address:
+ # type: string
+ # networks:
+ # type: string
+ # ports:
+ # type: string
capabilities:
- scalable:
- type: tosca.capabilities.Scalable
+ #scalable:
+ # type: tosca.capabilities.Scalable
virtual_compute:
type: tosca.capabilities.nfv.VirtualCompute
- endpoint:
- type: tosca.capabilities.Endpoint.Admin
- os:
- type: tosca.capabilities.OperatingSystem
+ #endpoint:
+ # type: tosca.capabilities.Endpoint.Admin
+ #os:
+ # type: tosca.capabilities.OperatingSystem
virtual_binding:
type: tosca.capabilities.nfv.VirtualBindable
- host:
- type: tosca.capabilities.Container
- binding:
- type: tosca.capabilities.network.Bindable
+ occurrences: [1, UNBOUNDED]
+ #host:
+ # type: tosca.capabilities.Container
+ #binding:
+ # type: tosca.capabilities.network.Bindable
monitoring_parameter:
type: tosca.capabilities.nfv.Metric
+ occurrences: [0, UNBOUNDED]
derived_from: tosca.nodes.Root
properties:
+ vdu_profile:
+ type: tosca.datatypes.nfv.VduProfile
+ required: true
+ inject_files: # Used for vCPE usecase Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
+ 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
configurable_properties:
entry_schema:
type: tosca.datatypes.nfv.VnfcConfigurableProperties
type: map
+ required: true
name:
type: string
+ required: true
nfvi_constraints:
entry_schema:
type: string
type: list
descrption:
type: string
+ required: true
boot_order:
entry_schema:
type: string
required: false
type: list
requirements:
- - local_storage:
- capability: tosca.capabilities.Attachment
- occurrences:
- - 0
- - UNBOUNDED
- - virtual_storage:
- capability: tosca.capabilities.nfv.VirtualStorage
- occurrences:
- - 0
- - UNBOUNDED
+ #- local_storage:
+ # capability: tosca.capabilities.Attachment
+ # occurrences:
+ # - 0
+ # - UNBOUNDED
+ - virtual_storage:
+ capability: tosca.capabilities.nfv.VirtualStorage
+ relationship: tosca.relationships.nfv.Vdu.AttachedTo
+ node: tosca.nodes.nfv.VDU.VirtualStorage
+ occurences: [ 0, UNBOUNDED ]
- tosca.nodes.nfv.VDU.VirtualStorage:
+ tosca.nodes.nfv.Vdu.VirtualStorage:
capabilities:
virtual_storage:
type: tosca.capabilities.nfv.VirtualStorage
derived_from: tosca.nodes.Root
properties:
- id:
- type: string
+ #id:
+ # type: string
size_of_storage:
- type: string
+ type: scalar-unit.size
+ required: true
+ vdu_storage_requirements:
+ type: map
+ entry_schema:
+ type: string
+ required: false
rdma_enabled:
required: false
type: boolean
type_of_storage:
type: string
+ constraints:
+ - valid_values: [volume, object, root, block]
+ required: true
+
+ 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.VduCpd:
derived_from: tosca.nodes.Root
type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
required: false
type: list
- role:
- constraints:
- - valid_values:
- - root
- - leaf
- required: false
- type: string
+ #role:
+ # constraints:
+ # - valid_values:
+ # - root
+ # - leaf
+ # required: false
+ # type: string
bitrate_requirement:
required: false
type: integer
- description:
+ #description:
+ # required: false
+ # type: string
+ #layer_protocol:
+ # constraints:
+ # - valid_values:
+ # - ethernet
+ # - mpls
+ # - odu2
+ # - ipv4
+ # - ipv6
+ # - pseudo_wire
+ # type: string
+ #address_data:
+ # entry_schema:
+ # type: tosca.datatype.nfv.AddressData
+ # required: false
+ # type: list
+ 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
- layer_protocol:
constraints:
- - valid_values:
- - ethernet
- - mpls
- - odu2
- - ipv4
- - ipv6
- - pseudo_wire
- type: string
- address_data:
+ - valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
+ required: false
+ requirements:
+ - virtual_binding:
+ capability: tosca.capabilities.nfv.VirtualBindable
+ relationship: tosca.relationships.nfv.VirtualBindsTo
+ node: tosca.nodes.nfv.Vdu.Compute
+ - virtual_link:
+ capability: tosca.capabilities.nfv.VirtualLinkable
+ relationship: tosca.relationships.nfv.VirtualLinksTo
+ node: tosca.nodes.nfv.VnfVirtualLink
+
+ 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: tosca.datatype.nfv.AddressData
+ 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_binding:
- capability: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 0
- - UNBOUNDED
- - virtual_link:
- capability: tosca.capabilities.nfv.VirtualBindable
- occurrences:
- - 0
- - UNBOUNDED
+ - 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
tosca.nodes.nfv.ext.ImageFile:
capabilities:
guest_os:
required: false
type: list
connectivity_type:
- type: tosca.datatypes.nfv.ConnectivityType
\ No newline at end of file
+ type: tosca.datatypes.nfv.ConnectivityType