Newer
Older
tosca_definitions_version: tosca_simple_yaml_1_2
description: ETSI NFV SOL 001 nsd types definitions version 2.7.1
metadata:
template_name: etsi_nfv_sol001_nsd_types
template_author: ETSI_NFV
- https://forge.etsi.org/rep/nfv/SOL001/raw/v2.7.1/etsi_nfv_sol001_common_types.yaml
# editor's note: During the development of the SOL001ed271 GS, to enable this file to be verified by a TOSCA parser, the imports statement has to be replaced with a reference to a local copy of the common definitions YAML file
data_types:
tosca.datatypes.nfv.ServiceAvailability:
derived_from: tosca.datatypes.Root
properties:
level:
type: string
description: service availability levels
required: true
constraints:
- valid_values: [ level1, level2, level3 ]
tosca.datatypes.nfv.NsVlProfile:
derived_from: tosca.datatypes.Root
description: Describes additional instantiation data for a given NsVirtualLink used in a specific NS deployment flavour.
properties:
max_bitrate_requirements:
type: tosca.datatypes.nfv.LinkBitrateRequirements
description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile.
required: true
min_bitrate_requirements:
type: tosca.datatypes.nfv.LinkBitrateRequirements
description: Specifies the minimum bitrate requirements for a VL instantiated according to this profile.
required: true
qos:
type: tosca.datatypes.nfv.NsVirtualLinkQos
description: Specifies the QoS requirements of a VL instantiated according to this profile.
required: false
service_availability:
type: tosca.datatypes.nfv.ServiceAvailability
description: Network service virtual link service availability levels, as described in ETSI GS NFV-REL 001
required: false
tosca.datatypes.nfv.NsVirtualLinkQos:
derived_from: tosca.datatypes.nfv.Qos
description: describes QoS data for a given VL used in a VNF deployment flavour
properties:
priority:
type: integer
constraints:
- greater_or_equal: 0
description: Specifies the priority level in case of congestion on the underlying physical links
required: false
derived_from: tosca.datatypes.Root
description: describes a profile for instantiating NSs of a particular NS DF according to a specific NSD and NS DF.
properties:
ns_instantiation_level:
description: Identifier of the instantiation level of the NS DF to be used for instantiation. If not present, the default instantiation level as declared in the NSD shall be used.
required: false
min_number_of_instances:
type: integer
description: Minimum number of instances of the NS based on this NSD that is permitted to exist for this NsProfile.
required: true
constraints:
- greater_or_equal: 0
max_number_of_instances:
type: integer
description: Maximum number of instances of the NS based on this NSD that is permitted to exist for this NsProfile.
required: true
constraints:
- greater_or_equal: 0
flavour_id:
type: string
description: Identifies the applicable network service DF within the scope of the NSD.
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
tosca.datatypes.nfv.Mask:
derived_from: tosca.datatypes.Root
properties:
starting_point:
description: Indicates the offset between the last bit of the source mac address and the first bit of the sequence of bits to be matched.
type: integer
required: true
length:
description: Indicates the number of bits to be matched.
type: integer
required: true
value:
description: Provide the sequence of bit values to be matched.
type: string
required: true
tosca.datatypes.nfv.NsOperationAdditionalParameters:
derived_from: tosca.datatypes.Root
description: Is an empty base type for deriving data types for describing NS-specific additional parameters to be passed when invoking NS lifecycle management operations
#properties:
tosca.datatypes.nfv.NsMonitoringParameter:
derived_from: tosca.datatypes.Root
description: Represents information on virtualised resource related performance metrics applicable to the NS.
properties:
name:
type: string
description: Human readable name of the monitoring parameter
required: true
performance_metric:
type: string
description: Identifies a performance metric to be monitored, according to ETSI GS NFV-IFA 027.
required: true
constraints:
- valid_values: [byte_incoming_sap, byte_outgoing_sap, packet_incoming_sap, packet_outgoing_sap, byte_incoming, byte_outgoing, packet_incoming, packet_outgoing ]
collection_period:
type: scalar-unit.time
description: Describes the periodicity at which to collect the performance information.
required: false
interface_types:
tosca.interfaces.nfv.Nslcm:
derived_from: tosca.interfaces.Root
description: This interface encompasses a set of TOSCA operations corresponding to NS LCM operations defined in ETSI GS NFV-IFA 013. as well as to preamble and postamble procedures to the execution of the NS LCM operations.
instantiate_start:
description: Preamble to execution of the instantiate operation
instantiate:
description: Base procedure for instantiating an NS, corresponding to the Instantiate NS operation defined in ETSI GS NFV-IFA 013.
# inputs:
# additional_parameters:
# type: tosca.datatypes.nfv.NsOperationAdditionalParameters
# required: false
instantiate_end:
description: Postamble to the execution of the instantiate operation
terminate_start:
description: Preamble to execution of the terminate operation
terminate:
description: Base procedure for terminating an NS, corresponding to the Terminate NS operation defined in ETSI GS NFV-IFA 013.
description: Postamble to the execution of the terminate operation
update_start:
description: Preamble to execution of the update operation
update:
description: Base procedure for updating an NS, corresponding to the Update NS operation defined in ETSI GS NFV-IFA 013.
update_end:
description: Postamble to the execution of the update operation
scale_start:
description: Preamble to execution of the scale operation
scale:
description: Base procedure for scaling an NS, corresponding to the Scale NS operation defined in ETSI GS NFV-IFA 013.
# inputs:
# additional_parameters:
# type: tosca.datatypes.nfv.NsOperationAdditionalParameters
# required: false
description: Postamble to the execution of the scale operation
heal_start:
description: Preamble to execution of the heal operation
heal:
description: Base procedure for healing an NS, corresponding to the Heal NS operation defined in ETSI GS NFV-IFA 013.
# inputs:
# additional_parameters:
# type: tosca.datatypes.nfv.NsOperationAdditionalParameters
# required: false
description: Postamble to the execution of the heal operation
node_types:
tosca.nodes.nfv.NS:
derived_from: tosca.nodes.Root
properties:
descriptor_id:
description: Identifier of this NS descriptor
required: true
designer:
type: string
description: Identifies the designer of the NSD.
required: true
version:
type: string
description: Identifies the version of the NSD.
required: true
name:
type: string
description: Provides the human readable name of the NSD.
required: true
description: Identifies an NSD in a version independent manner. This attribute is invariant across versions of NSD
flavour_id:
type: string
description: Identifier of the NS Deployment Flavour within the NSD
required: true
ns_profile:
type: tosca.datatypes.nfv.NsProfile
description: Specifies a profile of a NS, when this NS is used as nested NS within another NS.
required: false
requirements:
- virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
node: tosca.nodes.nfv.NsVirtualLink
occurrences: [ 0, 1 ]
interfaces:
Nslcm:
type: tosca.interfaces.nfv.Nslcm
tosca.nodes.nfv.Sap:
derived_from: tosca.nodes.nfv.Cp
description: node definition of SAP.
requirements:
- external_virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
- internal_virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
tosca.nodes.nfv.NsVirtualLink:
derived_from: tosca.nodes.Root
description: node definition of Virtual Links
vl_profile:
type: tosca.datatypes.nfv.NsVlProfile # only covers min/max bitrate requirements
description: Specifies instantiation parameters for a virtual link of a particular NS deployment flavour.
required: true
connectivity_type:
type: tosca.datatypes.nfv.ConnectivityType
required: true
test_access:
type: list
description: Test access facilities available on the VL
required: false
entry_schema:
type: string
constraints:
- valid_values: [ passive_monitoring, active_loopback ]
description:
type: string
required: false
description: Human readable information on the purpose of the virtual link (e.g. VL for control plane traffic).
capabilities:
virtual_linkable:
type: tosca.capabilities.nfv.VirtualLinkable
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
tosca.nodes.nfv.NfpPositionElement:
derived_from: tosca.nodes.Root
description: node definition of NfpPositionElement
capabilities:
forwarding:
type: tosca.capabilities.nfv.Forwarding
requirements:
- profile_element:
capability: tosca.capabilities.nfv.Forwarding
relationship: tosca.relationships.nfv.ForwardTo
occurrences: [ 1, 2 ] # When the number of occurrences is 1, the ingress and egress traffic is associated to a single VnfExtCp or Sap; When the number of occurrences is 2, the ingress VnfExtCp or Sap is associated to the first value and the egress VnfExtCp or Sap is associated to the second value.
tosca.nodes.nfv.NfpPosition:
derived_from: tosca.nodes.Root
description: node definition of NFP position
properties:
forwarding_behaviour:
type: string
description: Identifies a rule to apply to forward traffic to CP or SAP instances corresponding to the referenced NfpPositionElement(s).
constraints:
- valid_values: [ all, lb, ff ]
required: false
# forwarding_behaviour_input_parameters:
# description: Provides input parameters to configure the forwarding behaviour.
# type: map
# required: false
# entry_schema:
# type: strin
capabilities:
forwarding:
type: tosca.capabilities.nfv.Forwarding
requirements:
- element:
capability: tosca.capabilities.nfv.Forwarding
node: tosca.nodes.nfv.NfpPositionElement
relationship: tosca.relationships.nfv.ForwardTo
occurrences: [ 1, UNBOUNDED ]
tosca.nodes.nfv.NFP:
derived_from: tosca.nodes.Root
description: node definition of NFP
requirements:
- nfp_position:
capability: tosca.capabilities.nfv.Forwarding
node: tosca.nodes.nfv.NfpPosition
relationship: tosca.relationships.nfv.ForwardTo
occurrences: [ 1, UNBOUNDED ]
tosca.nodes.nfv.Forwarding:
derived_from: tosca.nodes.Root
capabilities:
virtual_linkable:
type: tosca.capabilities.nfv.VirtualLinkable
forwarding:
type: tosca.capabilities.nfv.Forwarding
occurrences: [ 1, 2 ] #When the number of occurrences is 1, the ingress and egress traffic is associated to a single VnfExtCp, PnfExtCp or Sap; When the number of occurrences is 2, the ingress VnfExtCp, PnfExtCp or Sap is associated to the first value and the egress VnfExtCp, PnfExtCp or Sap is associated to the second value.
requirements:
- virtual_link:
capability: tosca.capabilities.nfv.VirtualLinkable
relationship: tosca.relationships.nfv.VirtualLinksTo
group_types:
tosca.groups.nfv.NsPlacementGroup:
derived_from: tosca.groups.Root
description: NsPlacementGroup is used for describing the affinity or anti-affinity relationship applicable between VNF instances created using different VNFDs, the Virtual Link instances created using different VLDs or the nested NS instances created using different NSDs when used in a NSD.
properties:
description:
type: string
description: Human readable description of the group
required: true
members: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS]
tosca.groups.nfv.VNFFG:
derived_from: tosca.groups.Root
description: the VNFFG group type describes a topology of the NS or a portion of the NS, and optionally forwarding rules, applicable to the traffic conveyed over this topology
properties:
description:
type: string
description: Human readable description of the group
required: true
members: [ tosca.nodes.nfv.NFP, tosca.nodes.nfv.VNF, tosca.nodes.nfv.PNF, tosca.nodes.nfv.NS, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NfpPositionElement ]
policy_types:
tosca.policies.nfv.NsAffinityRule:
derived_from: tosca.policies.Placement
description: The NsAffinityRule describes the affinity rules applicable for the defined targets
properties:
scope:
type: string
description: Specifies the scope of the local affinity rule.
required: true
constraints:
- valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ]
targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ]
derived_from: tosca.policies.Placement
description: The NsAntiAffinityRule describes the anti-affinity rules applicable for the defined targets
properties:
scope:
type: string
description: Specifies the scope of the local affinity rule..
required: true
constraints:
- valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ]
targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ]
tosca.policies.nfv.NsSecurityGroupRule:
derived_from: tosca.policies.nfv.Abstract.SecurityGroupRule
description: The NsSecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited SAPs.
targets: [ tosca.nodes.nfv.Sap ]
tosca.policies.nfv.NfpRule:
derived_from: tosca.policies.Root
ether_destination_address:
description: Indicates a destination Mac address.
required: false
ether_source_address:
description: Indicates a source Mac address.
type: string
required: false
ether_type:
description: Indicates the protocol carried over the Ethernet layer.
constraints:
- valid_values: [ ipv4, ipv6 ]
required: false
vlan_tag:
description: Indicates a VLAN identifier in an IEEE 802.1Q-2014 tag [14]. Multiple tags can be included for QinQ stacking.
type: list
entry_schema:
type: string
required: false
description: 'Indicates the L4 protocol, For IPv4 [15] this corresponds to the field called "Protocol" to identify the next level protocol. For IPv6 [16] this corresponds to the field is called the "Next Header" field. Permitted values: Any keyword defined in the IANA [17] protocol registry.'
type: string
required: false
dscp:
description: For IPv4 [15] a string of "0" and "1" digits that corresponds to the 6-bit Differentiated Services Code Point (DSCP) field of the IP header. For IPv6 [16] a string of "0" and "1" digits that corresponds to the 6 differentiated services bits of the traffic class header field.
required: false
source_port_range:
description: Indicates a range of source ports.
type: range
required: false
constraints:
- in_range: [0, 65535]
destination_port_range:
description: Indicates a range of destination ports.
type: range
required: false
constraints:
- in_range: [0, 65535]
source_ip_address_prefix:
description: Indicates the source IP address range in CIDR format.
type: string
required: false
destination_ip_address_prefix:
description: Indicates the destination IP address range in CIDR format.
type: string
extended_criteria:
description: Indicates values of specific bits in a frame.
type: list
entry_schema:
type: tosca.datatypes.nfv.Mask
required: false
targets: [ tosca.nodes.nfv.NFP ]
tosca.policies.nfv.NsMonitoring:
derived_from: tosca.policies.Root
description: Policy type is used to identify information to be monitored during the lifetime of a network service instance as defined in ETSI GS NFV-IFA 014 [2].
properties:
ns_monitoring_parameters:
type: list
description: Specifies a virtualised resource related performance metric to be monitored on the NS level.
required: true
entry_schema:
type: tosca.datatypes.nfv.NsMonitoringParameter
- min_length: 1
targets: [ tosca.nodes.nfv.NS ]
tosca.policies.nfv.VnfMonitoring:
derived_from: tosca.policies.Root
description: Policy type is used to identify information to be monitored during the lifetime of a VNF instance as defined in ETSI GS NFV-IFA 014 [2].
properties:
vnf_monitoring_parameters:
type: list
description: Specifies a virtualised resource related performance metric to be monitored on the NS level.
required: true
entry_schema:
type: tosca.datatypes.nfv.VnfMonitoringParameter
constraints:
- min_length: 1
targets: [ tosca.nodes.nfv.VNF ]