diff --git a/etsi_nfv_sol001_nsd_types.yaml b/etsi_nfv_sol001_nsd_types.yaml index 50df43c2c3f3f4ce47caed6ab2efe51b5d8e744b..518e0a7415c16ba5f5caea9a7ad6fc84fe9a3f6d 100644 --- a/etsi_nfv_sol001_nsd_types.yaml +++ b/etsi_nfv_sol001_nsd_types.yaml @@ -1,129 +1,781 @@ tosca_definitions_version: tosca_simple_yaml_1_3 -description: ETSI NFV SOL 001 pnfd types definitions version 3.5.1 +description: ETSI NFV SOL 001 nsd types definitions version 3.5.1 metadata: - template_name: etsi_nfv_sol001_pnfd_types + template_name: etsi_nfv_sol001_nsd_types template_author: ETSI_NFV template_version: 3.5.1 imports: - https://forge.etsi.org/rep/nfv/SOL001/raw/v3.5.1/etsi_nfv_sol001_common_types.yaml + - https://forge.etsi.org/rep/nfv/SOL001/raw/v3.5.1/etsi_nfv_sol001_vnfd_types.yaml + - https://forge.etsi.org/rep/nfv/SOL001/raw/v3.5.1/etsi_nfv_sol001_pnfd_types.yaml +# editor's note: During the development of the SOL001ed351 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.LocationInfo: + tosca.datatypes.nfv.NsVlProfile: derived_from: tosca.datatypes.Root - description: Represents geographical information on the location where a PNF is deployed. + description: Describes additional instantiation data for a given NsVirtualLink used in a specific NS deployment flavour. properties: - country_code: - type: string # two-letter ISO 3166 country code - description: Country code + max_bitrate_requirements: + type: tosca.datatypes.nfv.LinkBitrateRequirements + description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile. required: true - civic_address_element: + 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_level: + type: integer + description: Specifies the service availability level for the VL instance created from this profile + required: false + constraints: + - greater_or_equal: 1 + virtual_link_protocol_data: type: list + description: Specifies the protocol data for a virtual link. + required: false entry_schema: - type: tosca.datatypes.nfv.CivicAddressElement - description: Elements composing the civic address where the PNF is deployed. + type: tosca.datatypes.nfv.NsVirtualLinkProtocolData + + 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 - geographic_coordinates: - type: tosca.datatypes.nfv.GeographicCoordinates - description: Geographic coordinates (e.g. Altitude, Longitude, Latitude) where the PNF is deployed. + + tosca.datatypes.nfv.NsProfile: + 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: + type: string + 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 - - tosca.datatypes.nfv.CivicAddressElement: + 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. + required: true + + tosca.datatypes.nfv.Mask: derived_from: tosca.datatypes.Root - description: Represents an element of a civic location as specified in IETF RFC 4776 [11]. - properties: - ca_type: - type: string # RFC4776 - description: caType as per RFC4776 - required: true - ca_value: - type: string # RFC4776 - description: caValue as per RFC4776. - required: true - - tosca.datatypes.nfv.GeographicCoordinates: + 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 an element of a geographic coordinate location as specified in IETF RFC?6225. + description: Represents information on virtualised resource related performance metrics applicable to the NS. properties: - latitude_uncertainty: - type: string # RFC 6225 - description: LatUnc as per RFC 6225 - required: false - latitude: - type: string # RFC 6225 - description: Latitude value as per RFC 6225 + 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 - longitude_uncertainty: - type: string # RFC 6225 - description: LongUnc as per RFC 6225 + 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 - longitude: - type: string # RFC 6225 - description: Longitude value as per RFC 6225 + + tosca.datatypes.nfv.NsVirtualLinkProtocolData: + derived_from: tosca.datatypes.Root + description: describes one protocol layer and associated protocol data for a given virtual link used in a specific NS deployment flavour + properties: + associated_layer_protocol: + type: string + description: Identifies one of the protocols a virtualLink gives access to (ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire) as specified by the connectivity_type property. + required: true + constraints: + - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] + l2_protocol_data: + type: tosca.datatypes.nfv.NsL2ProtocolData + description: Specifies the L2 protocol data for a virtual link. Shall be present when the associatedLayerProtocol attribute indicates a L2 protocol and shall be absent otherwise. + required: false + l3_protocol_data: + type: tosca.datatypes.nfv.NsL3ProtocolData + description: Specifies the L3 protocol data for this virtual link. Shall be present when the associatedLayerProtocol attribute indicates a L3 protocol and shall be absent otherwise. + required: false + + tosca.datatypes.nfv.NsL2ProtocolData: + derived_from: tosca.datatypes.Root + description: describes L2 protocol data for a given virtual link used in a specific NS deployment flavour. + properties: + name: + type: string + description: Identifies the network name associated with this L2 protocol. + required: false + network_type: + type: string + description: Specifies the network type for this L2 protocol. The value may be overridden at run-time. + required: false + constraints: + - valid_values: [ flat, vlan, vxlan, gre ] + vlan_transparent: + type: boolean + description: Specifies whether to support VLAN transparency for this L2 protocol or not. + required: false + default: false + mtu: + type: integer + description: Specifies the maximum transmission unit (MTU) value for this L2 protocol. + required: false + constraints: + - greater_than: 0 + segmentation_id: + type: string + description: Specifies a specific virtualised network segment, which depends on the network type. For e.g., VLAN ID for VLAN network type and tunnel ID for GRE/VXLAN network types + required: false + + tosca.datatypes.nfv.NsL3ProtocolData: + derived_from: tosca.datatypes.Root + description: describes L3 protocol data for a given virtual link used in a specific NS deployment flavour. + properties: + name: + type: string + description: Identifies the network name associated with this L3 protocol. + required: false + ip_version: + type: string + description: Specifies IP version of this L3 protocol. The value of the ip_version property shall be consistent with the value of the layer_protocol in the connectivity_type property of the virtual link node. required: true - altitude_type: - type: string # RFC 6225 - description: AType value as per RFC 6225 - required: true - altitude_uncertainty: - type: string # RFC 6225 - description: AltUnc as per RFC 6225 + constraints: + - valid_values: [ ipv4, ipv6 ] + cidr: + type: string + description: Specifies the CIDR (Classless Inter-Domain Routing) of this L3 protocol. The value may be overridden at run-time. + required: true + ip_allocation_pools: + type: list + description: Specifies the allocation pools with start and end IP addresses for this L3 protocol. The value may be overridden at run-time. required: false - altitude: - type: string # RFC 6225 - description: Altitude value as per RFC 6225 + entry_schema: + type: tosca.datatypes.nfv.NsIpAllocationPool + + tosca.datatypes.nfv.NsIpAllocationPool: + derived_from: tosca.datatypes.Root + description: Specifies a range of IP addresses + properties: + start_ip_address: + type: string + description: The IP address to be used as the first one in a pool of addresses derived from the cidr block full IP range + required: true + end_ip_address: + type: string + description: The IP address to be used as the last one in a pool of addresses derived from the cidr block full IP range required: true + tosca.datatypes.nfv.NsScalingAspect: + derived_from: tosca.datatypes.Root + description: describes the details of an aspect used for horizontal scaling + properties: + name: + type: string + description: Human readable name of the aspect + required: true + description: + type: string + description: Human readable description of the aspect + required: true + ns_scale_levels: + type: map + description: Description of the NS levels for this scaling aspect. + required: true + key_schema: + type: integer # Integer type in order to number the levels. First level is level 0. + entry_schema: + type: tosca.datatypes.nfv.NsLevels + + tosca.datatypes.nfv.NsLevels: + derived_from: tosca.datatypes.Root + description: describes the Ns levels + properties: + description: + type: string + description: Human readable description of the Ns level + required: true + + tosca.datatypes.nfv.scaleNsByStepsData: + derived_from: tosca.datatypes.Root + description: describes the information needed to scale an NS instance by one or more scaling steps, with respect to a particular NS scaling aspect + properties: + scaling_direction: + type: string + description: Indicates the type of the scale operation requested. + required: true + constraints: + - valid_values: [ scale_out, scale_in ] + aspect: + type: string + description: Identifier of the scaling aspect. + required: true + number_of_steps: + type: integer + description: Number of scaling steps to be executed. + required: true + constraints: + - greater_than: 0 + default: 1 + + tosca.datatypes.nfv.scaleNsToLevelData: + derived_from: tosca.datatypes.Root + description: describes the information needed to scale an NS instance to a target size. + properties: + instantiation_level: + type: string + description: Identifier of the target instantiation level of the current deployment flavour to which the NS is requested to be scaled. Either instantiation_level or ns_scale_info shall be provided. + required: false + ns_scale_info: + type: map # key: aspectId + description: For each scaling aspect of the current deployment flavour, indicates the target scale level to which the NS is to be scaled. Either instantiation_level or ns_scale_info shall be provided. + required: false + entry_schema: + type: integer + +capability_types: + tosca.capabilities.nfv.Forwarding: + derived_from: tosca.capabilities.Root + +relationship_types: + tosca.relationships.nfv.ForwardTo: + derived_from: tosca.relationships.Root + valid_target_types: [ tosca.capabilities.nfv.Forwarding ] + +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. + 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. + terminate_end: + 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 + inputs: + scale_ns_by_steps_data: + type: tosca.datatypes.nfv.scaleNsByStepsData + description: Describes the information needed to scale an NS instance by one or more scaling steps, with respect to a particular NS scaling aspect as defined in ETSI GS NFV-IFA 013. Either scale_ns_by_steps_data or scale_ns_to_level_data shall be provided. + required: false + scale_ns_to_level_data: + type: tosca.datatypes.nfv.scaleNsToLevelData + description: Describes the information needed to scale an NS instance to a target size as defined in ETSI GS NFV-IFA 013. Either scale_ns_by_steps_data or scale_ns_to_level_data shall be provided. + required: false + scale_end: + 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 + heal_end: + description: Postamble to the execution of the heal operation + + tosca.interfaces.nfv.NsVnfIndicator: + derived_from: tosca.interfaces.Root + description: This interface is an empty base interface type for deriving NS specific interface types that include VNF indicator specific notifications which will be used in a NS. + node_types: - tosca.nodes.nfv.PNF: + tosca.nodes.nfv.NS: derived_from: tosca.nodes.Root properties: - descriptor_id: # instead of pnfd_id - type: string # UUID - required: true - description: Identifier of this PNFD information element. It uniquely identifies the PNFD. - function_description: - type: string - required: true - description: Describes the PNF function. - provider: - type: string - required: true - description: Identifies the provider of the PNFD. + descriptor_id: + type: string # UUID + description: Identifier of this NS descriptor + required: true + designer: + type: string + description: Identifies the designer of the NSD. + required: true version: - type: string - required: true - description: Identifies the version of the PNFD. - descriptor_invariant_id: # instead of pnfd-invariant-id - type: string # UUID - required: true - description: Identifier of this PNFD in a version independent manner. This attribute is invariant across versions of PNFD. + type: string + description: Identifies the version of the NSD. + required: true name: - type: string - required: true - description: Name to identify the PNFD. - geographical_location_info: - type: tosca.datatypes.nfv.LocationInfo - required: false - description: Provides information about the geographical location (e.g. geographic coordinates or address of the building, etc.) of the PNF + type: string + description: Provides the human readable name of the NSD. + required: true + invariant_id: # UUID + type: string + description: Identifies an NSD in a version independent manner. This attribute is invariant across versions of NSD + required: true + 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 + service_availability_level: + type: integer + description: Specifies the service availability level for the NS instance. + required: false + constraints: + - greater_or_equal: 1 + priority: + type: integer + description: Specifies the priority for the NS instance. Examples for the usage of priority include conflict resolution in case of resource shortage. + required: false + constraints: + - greater_or_equal: 0 + attributes: + scale_status: + type: map # key: aspectId + description: Scale status of the NS, one entry per aspect. Represents for every scaling aspect how "big" the NS has been scaled w.r.t. that aspect. + entry_schema: + type: integer requirements: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo + node: tosca.nodes.nfv.NsVirtualLink occurrences: [ 0, 1 ] - # Additional requirements shall be defined in the PNF specific node type (deriving from tosca.nodes.nfv.PNF) corresponding to NS virtual links that need to connect to PnfExtCps + interfaces: + Nslcm: + type: tosca.interfaces.nfv.Nslcm - tosca.nodes.nfv.PnfExtCp: + tosca.nodes.nfv.Sap: derived_from: tosca.nodes.nfv.Cp - description: node definition of PnfExtCp. + description: node definition of SAP. requirements: - external_virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo occurrences: [0, 1] + - internal_virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + occurrences: [1, 1] + + tosca.nodes.nfv.NsVirtualLink: + derived_from: tosca.nodes.Root + description: node definition of Virtual Links + properties: + 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 + + 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.PnfSecurityGroupRule: + 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, network_link_and_node ] + targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ] + + tosca.policies.nfv.NsAntiAffinityRule: + 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, network_link_and_node ] + 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 PnfSecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited PNF external connection points. - targets: [ tosca.nodes.nfv.PnfExtCp ] + 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 + description: policy definition of NfpRule + properties: + ether_destination_address: + description: Indicates a destination Mac address. + type: string + 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. + type: string + 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 + protocol: + 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. + type: string + 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 + required: false + 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: map #key: id + description: Specifies a virtualised resource related performance metric to be monitored on the NS level. + required: true + entry_schema: + type: tosca.datatypes.nfv.NsMonitoringParameter + constraints: + - 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: map #key: id + 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 ] + + tosca.policies.nfv.NsScalingAspects: + derived_from: tosca.policies.Root + description: The ScalingAspects type is a policy type representing the scaling aspects used for horizontal scaling as defined in ETSI GS NFV-IFA 014 [2] + properties: + aspects: + type: map # key: aspectId + description: Describe the details of a particular aspect including the corresponding NS levels. + required: true + entry_schema: + type: tosca.datatypes.nfv.NsScalingAspect + constraints: + - min_length: 1 + + tosca.policies.nfv.VnfToLevelMapping: + derived_from: tosca.policies.Root + description: The VnfToLevelMapping type is a policy type representing the number of VNF instances to be deployed at each NS level, as defined in ETSI GS NFV-IFA 014 [2] + properties: + aspect: + type: string + description: Represents the scaling aspect to which this policy applies + required: true + number_of_instances: + type: map # key: Ns level + description: Number of VNF instances to be deployed for each NS level. + required: true + key_schema: + type: integer # First level is level 0. + entry_schema: + type: integer + constraints: + - min_length: 1 + targets: [ tosca.nodes.nfv.VNF ] + + tosca.policies.nfv.NsToLevelMapping: + derived_from: tosca.policies.Root + description: The NsToLevelMapping type is a policy type representing the number of NS instances of a nested NS to be deployed at each NS level of the composite NS, as defined in ETSI GS NFV-IFA 014 [2] + properties: + aspect: + type: string + description: Represents the scaling aspect to which this policy applies + required: true + number_of_instances: + type: map # key: Ns level + description: Number of NS instances of a nested NS to be deployed for each NS level of the composite NS. + required: true + key_schema: + type: integer # First level is level 0. + entry_schema: + type: integer + constraints: + - min_length: 1 + targets: [ tosca.nodes.nfv.NS ] + + tosca.policies.nfv.VirtualLinkToLevelMapping: + derived_from: tosca.policies.Root + description: The VirtualLinkToLevelMapping type is a policy type representing the number of NS instances of a nested NS to be deployed at each NS level of the composite NS, as defined in ETSI GS NFV-IFA 014 [2] + properties: + aspect: + type: string + description: Represents the scaling aspect to which this policy applies + required: true + bit_rate_requirements: + type: map # key: Ns level + description: Bitrate requirements of a VL for each NS level. + required: true + key_schema: + type: integer # First level is level 0. + entry_schema: + type: tosca.datatypes.nfv.LinkBitrateRequirements + constraints: + - min_length: 1 + targets: [ tosca.nodes.nfv.NsVirtualLink ] + + tosca.policies.nfv.NsInstantiationLevels: + derived_from: tosca.policies.Root + description: The NsInstantiationLevels type is a policy type representing all the instantiation levels of resources to be instantiated within a deployment flavour and including default instantiation level in term of the number of VNF and nested NS instances to be created as defined in ETSI GS NFV-IFA 014 [2]. + properties: + ns_levels: + type: map # key: levelId + description: Describes the various levels of resources that can be used to instantiate the VNF using this flavour. + required: true + entry_schema: + type: tosca.datatypes.nfv.NsLevels + constraints: + - min_length: 1 + default_level: + type: string # levelId + description: The default instantiation level for this flavour. + required: false # required if multiple entries in ns_levels + + tosca.policies.nfv.VnfToInstantiationLevelMapping: + derived_from: tosca.policies.Root + description: The VnfToInstantiationLevelMapping type is a policy type representing the number of VNF instances to be deployed at each NS instantiation level, as defined in ETSI GS NFV-IFA 014 [2] + properties: + number_of_instances: + type: map # key: Ns instantiation level + description: Number of VNF instances to be deployed for each NS instantiation level. + required: true + entry_schema: + type: integer + constraints: + - min_length: 1 + targets: [ tosca.nodes.nfv.VNF ] + + tosca.policies.nfv.NsToInstantiationLevelMapping: + derived_from: tosca.policies.Root + description: The NsToInstantiationLevelMapping type is a policy type representing the number of NS instances of a nested NS to be deployed at each NS instantiation level of the composite NS, as defined in ETSI GS NFV-IFA 014 [2] + properties: + number_of_instances: + type: map # key: Ns instantiation level + description: Number of NS instances of a nested NS to be deployed for each NS instantiation level of the composite NS. + required: true + entry_schema: + type: integer + constraints: + - min_length: 1 + targets: [ tosca.nodes.nfv.NS ] + + tosca.policies.nfv.VirtualLinkToInstantiationLevelMapping: + derived_from: tosca.policies.Root + description: The VirtualLinkToInstantiationLevelMapping type is a policy type describing the bitrate requirements of a VL at each NS instantiation level of the composite NS, as defined in ETSI GS NFV-IFA 014 [2] + properties: + bit_rate_requirements: + type: map # key: Ns instantiation level + description: Bitrate requirements of a VL for each NS instantiation level. + required: true + entry_schema: + type: tosca.datatypes.nfv.LinkBitrateRequirements + constraints: + - min_length: 1 + targets: [ tosca.nodes.nfv.NsVirtualLink ] + + tosca.policies.nfv.NsAutoScale: + derived_from: tosca.policies.Root + description: The NsAutoScale policy type is a base policy type for defining NS auto-scale specific policies as defined in ETSI GS NFV-IFA 014 [2]. + targets: [ tosca.nodes.nfv.NS ] + diff --git a/etsi_nfv_sol001_vnfd_types.yaml b/etsi_nfv_sol001_vnfd_types.yaml index f1f8d2f0f549e5fb5cd4f83d296b7cd5f2050de0..586bf4b1bdd48160dee05e16f245e98b6b7ca39b 100644 --- a/etsi_nfv_sol001_vnfd_types.yaml +++ b/etsi_nfv_sol001_vnfd_types.yaml @@ -1946,7 +1946,6 @@ policy_types: referenced_coordination_actions: type: list description: List of names of coordination actions not specified within this VNFD as a TOSCA policy of a type derived from tosca.policies.nfv.LcmCoordinationAction. -See note 1, note 2. required: false entry_schema: type: string