From 93e61acb649c1ea22926ea0e7a241c7f04a72616 Mon Sep 17 00:00:00 2001 From: Michele Carignani Date: Fri, 22 Mar 2019 14:44:55 +0100 Subject: [PATCH] YAML files updated to SOL001 v2.6.1. --- etsi_nfv_sol001_common_types.yaml | 198 +++++++++++++++++++ etsi_nfv_sol001_nsd_types.yaml | 309 +++--------------------------- etsi_nfv_sol001_pnfd_types.yaml | 119 +----------- etsi_nfv_sol001_vnfd_types.yaml | 240 +++++------------------ 4 files changed, 273 insertions(+), 593 deletions(-) create mode 100644 etsi_nfv_sol001_common_types.yaml diff --git a/etsi_nfv_sol001_common_types.yaml b/etsi_nfv_sol001_common_types.yaml new file mode 100644 index 0000000..1bfd195 --- /dev/null +++ b/etsi_nfv_sol001_common_types.yaml @@ -0,0 +1,198 @@ +tosca_definitions_version: tosca_simple_yaml_1_2 +description: ETSI NFV SOL 001 common types definitions version 2.6.1 + +data_types: + tosca.datatypes.nfv.L2AddressData: + derived_from: tosca.datatypes.Root + description: Describes the information on the MAC addresses to be assigned to a connection point. + properties: + mac_address_assignment: + type: boolean + description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility + required: true + + tosca.datatypes.nfv.L3AddressData: + derived_from: tosca.datatypes.Root + description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP + properties: + ip_address_assignment: + type: boolean + description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility + required: true + floating_ip_activated: + type: boolean + description: Specifies if the floating IP scheme is activated on the Connection Point or not + required: true + ip_address_type: + type: string + description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the parent VnfExtCp + required: false + constraints: + - valid_values: [ ipv4, ipv6 ] + number_of_ip_address: + type: integer + description: Minimum number of IP addresses to be assigned + required: false + constraints: + - greater_than: 0 + + tosca.datatypes.nfv.AddressData: + derived_from: tosca.datatypes.Root + description: Describes information about the addressing scheme and parameters applicable to a CP + properties: + address_type: + type: string + description: Describes the type of the address to be assigned to a connection point. The content type shall be aligned with the address type supported by the layerProtocol property of the connection point + required: true + constraints: + - valid_values: [ mac_address, ip_address ] + l2_address_data: + type: tosca.datatypes.nfv.L2AddressData + description: Provides the information on the MAC addresses to be assigned to a connection point. + required: false + l3_address_data: + type: tosca.datatypes.nfv.L3AddressData + description: Provides the information on the IP addresses to be assigned to a connection point + required: false + + tosca.datatypes.nfv.ConnectivityType: + derived_from: tosca.datatypes.Root + description: describes additional connectivity information of a virtualLink + properties: + layer_protocols: + type: list + description: Identifies the protocol a virtualLink gives access to (ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire).The top layer protocol of the virtualLink protocol stack shall always be provided. The lower layer protocols may be included when there are specific requirements on these layers. + required: true + entry_schema: + type: string + constraints: + - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] + flow_pattern: + type: string + description: Identifies the flow pattern of the connectivity + required: false + constraints: + - valid_values: [ line, tree, mesh ] + + tosca.datatypes.nfv.LinkBitrateRequirements: + derived_from: tosca.datatypes.Root + description: describes the requirements in terms of bitrate for a virtual link + properties: + root: + type: integer # in bits per second + description: Specifies the throughput requirement in bits per second of the link (e.g. bitrate of E-Line, root bitrate of E-Tree, aggregate capacity of E-LAN). + required: true + constraints: + - greater_or_equal: 0 + leaf: + type: integer # in bits per second + description: Specifies the throughput requirement in bits per second of leaf connections to the link when applicable to the connectivity type (e.g. for E-Tree and E LAN branches). + required: false + constraints: + - greater_or_equal: 0 + + tosca.datatypes.nfv.CpProtocolData: + derived_from: tosca.datatypes.Root + description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information + properties: + associated_layer_protocol: + type: string + required: true + description: One of the values of the property layer_protocols of the CP + constraints: + - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] + address_data: + type: list + description: Provides information on the addresses to be assigned to the CP + entry_schema: + type: tosca.datatypes.nfv.AddressData + required: false + + tosca.datatypes.nfv.VnfProfile: + derived_from: tosca.datatypes.Root + description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF. + properties: + instantiation_level: + type: string + description: Identifier of the instantiation level of the VNF DF to be used for instantiation. If not present, the default instantiation level as declared in the VNFD shall be used. + required: false + min_number_of_instances: + type: integer + description: Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile. + required: true + constraints: + - greater_or_equal: 0 + max_number_of_instances: + type: integer + description: Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile. + required: true + constraints: + - greater_or_equal: 0 + + tosca.datatypes.nfv.Qos: + derived_from: tosca.datatypes.Root + description: describes QoS data for a given VL used in a VNF deployment flavour + properties: + latency: + type: scalar-unit.time #Number + description: Specifies the maximum latency + required: true + constraints: + - greater_than: 0 s + packet_delay_variation: + type: scalar-unit.time #Number + description: Specifies the maximum jitter + required: true + constraints: + - greater_or_equal: 0 s + packet_loss_ratio: + type: float + description: Specifies the maximum packet loss ratio + required: false + constraints: + - in_range: [ 0.0, 1.0 ] + +capability_types: + tosca.capabilities.nfv.VirtualLinkable: + derived_from: tosca.capabilities.Node + description: A node type that includes the VirtualLinkable capability indicates that it can be pointed by tosca.relationships.nfv.VirtualLinksTo relationship type + +relationship_types: + tosca.relationships.nfv.VirtualLinksTo: + derived_from: tosca.relationships.DependsOn + description: Represents an association relationship between the VduCp and VnfVirtualLink node types + valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ] + +node_types: + tosca.nodes.nfv.Cp: + derived_from: tosca.nodes.Root + description: Provides information regarding the purpose of the connection point + properties: + layer_protocols: + type: list + description: Identifies which protocol the connection point uses for connectivity purposes + required: true + entry_schema: + type: string + constraints: + - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] + role: #Name in ETSI NFV IFA011 v0.7.3: cpRole + type: string + description: Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS + required: false + constraints: + - valid_values: [ root, leaf ] + description: + type: string + description: Provides human-readable information on the purpose of the connection point + required: false + protocol: + type: list + description: Provides information on the addresses to be assigned to the connection point(s) instantiated from this Connection Point Descriptor + required: false + entry_schema: + type: tosca.datatypes.nfv.CpProtocolData + trunk_mode: + type: boolean + description: Provides information about whether the CP instantiated from this Cp is in Trunk mode (802.1Q or other), When operating in "trunk mode", the Cp is capable of carrying traffic for several VLANs. Absence of this property implies that trunkMode is not configured for the Cp i.e. It is equivalent to boolean value "false". + required: false diff --git a/etsi_nfv_sol001_nsd_types.yaml b/etsi_nfv_sol001_nsd_types.yaml index c140f28..fcfcef7 100644 --- a/etsi_nfv_sol001_nsd_types.yaml +++ b/etsi_nfv_sol001_nsd_types.yaml @@ -1,8 +1,8 @@ tosca_definitions_version: tosca_simple_yaml_1_2 -description: ETSI NFV SOL 001 nsd types definitions version 2.5.1 +description: ETSI NFV SOL 001 nsd types definitions version 2.6.1 imports: - - etsi_nfv_sol001_vnfd_types.yaml + - etsi_nfv_sol001_common_types.yaml data_types: tosca.datatypes.nfv.ServiceAvailability: @@ -16,78 +16,6 @@ data_types: constraints: - valid_values: [ level1, level2, level3 ] - tosca.datatypes.nfv.L2AddressData: - derived_from: tosca.datatypes.Root - description: Describes the information on the MAC addresses to be assigned to a connection point. - properties: - mac_address_assignment: - type: boolean - description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility - required: true - - tosca.datatypes.nfv.L3AddressData: - derived_from: tosca.datatypes.Root - description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP - properties: - ip_address_assignment: - type: boolean - description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility - required: true - floating_ip_activated: - type: boolean - description: Specifies if the floating IP scheme is activated on the Connection Point or not - required: true - ip_address_type: - type: string - description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the parent VnfExtCp - required: false - constraints: - - valid_values: [ ipv4, ipv6 ] - number_of_ip_address: - type: integer - description: Minimum number of IP addresses to be assigned - required: false - constraints: - - greater_than: 0 - - tosca.datatypes.nfv.AddressData: - derived_from: tosca.datatypes.Root - description: Describes information about the addressing scheme and parameters applicable to a CP - properties: - address_type: - type: string - description: Describes the type of the address to be assigned to a connection point. The content type shall be aligned with the address type supported by the layerProtocol property of the connection point - required: true - constraints: - - valid_values: [ mac_address, ip_address ] - l2_address_data: - type: tosca.datatypes.nfv.L2AddressData - description: Provides the information on the MAC addresses to be assigned to a connection point. - required: false - l3_address_data: - type: tosca.datatypes.nfv.L3AddressData - description: Provides the information on the IP addresses to be assigned to a connection point - required: false - - tosca.datatypes.nfv.ConnectivityType: - derived_from: tosca.datatypes.Root - description: describes additional connectivity information of a virtualLink - properties: - layer_protocols: - type: list - description: Identifies the protocol a virtualLink gives access to (ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire).The top layer protocol of the virtualLink protocol stack shall always be provided. The lower layer protocols may be included when there are specific requirements on these layers. - required: true - entry_schema: - type: string - constraints: - - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] - flow_pattern: - type: string - description: Identifies the flow pattern of the connectivity - required: false - constraints: - - valid_values: [ line, tree, mesh ] - 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. @@ -108,200 +36,42 @@ data_types: 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.VirtualLinkProtocolData: - derived_from: tosca.datatypes.Root - description: describes one protocol layer and associated protocol data for a given virtual link used in a specific VNF 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.L2ProtocolData - 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.L3ProtocolData - 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.L2ProtocolData: - derived_from: tosca.datatypes.Root - description: describes L2 protocol data for a given virtual link used in a specific VNF 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 - - tosca.datatypes.nfv.L3ProtocolData: - derived_from: tosca.datatypes.Root - description: describes L3 protocol data for a given virtual link used in a specific VNF 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 - 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 - entry_schema: - type: tosca.datatypes.nfv.IpAllocationPool - gateway_ip: - type: string - description: Specifies the gateway IP address for this L3 protocol. The value may be overridden at run-time. - required: false - dhcp_enabled: - type: boolean - description: Indicates whether DHCP (Dynamic Host Configuration Protocol) is enabled or disabled for this L3 protocol. The value may be overridden at run-time. - required: false - ipv6_address_mode: - type: string - description: Specifies IPv6 address mode. May be present when the value of the ipVersion attribute is "ipv6" and shall be absent otherwise. The value may be overridden at run-time. - required: false - constraints: - - valid_values: [ slaac, dhcpv6-stateful, dhcpv6-stateless ] - - tosca.datatypes.nfv.IpAllocationPool: - 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.LinkBitrateRequirements: - derived_from: tosca.datatypes.Root - description: describes the requirements in terms of bitrate for a virtual link - properties: - root: - type: integer # in bits per second - description: Specifies the throughput requirement in bits per second of the link (e.g. bitrate of E-Line, root bitrate of E-Tree, aggregate capacity of E-LAN). - required: true - constraints: - - greater_or_equal: 0 - leaf: - type: integer # in bits per second - description: Specifies the throughput requirement in bits per second of leaf connections to the link when applicable to the connectivity type (e.g. for E-Tree and E LAN branches). - required: false - constraints: - - greater_or_equal: 0 - + 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 - tosca.datatypes.nfv.CpProtocolData: - derived_from: tosca.datatypes.Root - description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information - properties: - associated_layer_protocol: - type: string - required: true - description: One of the values of the property layer_protocols of the CP - constraints: - - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] - address_data: - type: list - description: Provides information on the addresses to be assigned to the CP - entry_schema: - type: tosca.datatypes.nfv.AddressData - - tosca.datatypes.nfv.VnfProfile: + tosca.datatypes.nfv.NsProfile: derived_from: tosca.datatypes.Root - description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF. - properties: - instantiation_level: + 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 VNF DF to be used for instantiation. If not present, the default instantiation level as declared in the VNFD shall be used. + 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 VNF based on this VNFD that is permitted to exist for this VnfProfile. + 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 VNF based on this VNFD that is permitted to exist for this VnfProfile. + 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 - - tosca.datatypes.nfv.Qos: - derived_from: tosca.datatypes.Root - description: describes QoS data for a given VL used in a VNF deployment flavour - properties: - latency: - type: scalar-unit.time #Number - description: Specifies the maximum latency - required: true - constraints: - - greater_than: 0 s - packet_delay_variation: - type: scalar-unit.time #Number - description: Specifies the maximum jitter + flavour_id: + type: string + description: Identifies the applicable network service DF within the scope of the NSD. required: true - constraints: - - greater_or_equal: 0 s - packet_loss_ratio: - type: float - description: Specifies the maximum packet loss ratio - required: false - constraints: - - in_range: [ 0.0, 1.0 ] - -capability_types: - tosca.capabilities.nfv.VirtualLinkable: - derived_from: tosca.capabilities.Node - description: A node type that includes the VirtualLinkable capability indicates that it can be pointed by tosca.relationships.nfv.VirtualLinksTo relationship type - -relationship_types: - tosca.relationships.nfv.VirtualLinksTo: - derived_from: tosca.relationships.DependsOn - description: Represents an association relationship between the VNF or PNF or Sap of a Nested NS and NsVirtualLink node types - valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ] interface_types: tosca.interfaces.nfv.Nslcm: @@ -317,7 +87,7 @@ interface_types: description: Preamble to execution of the terminate operation terminate: description: Base procedure for terminating an NS, corresponding to the Terminate NS operation defined in GS NFV-IFA 013. - terminate _end: + terminate_end: description: Postamble to the execution of the terminate operation update_start: description: Preamble to execution of the update operation @@ -329,14 +99,15 @@ interface_types: description: Preamble to execution of the scale operation scale: description: Base procedure for scaling an NS, corresponding to the Scale NS operation defined in GS NFV-IFA 013. - scale _end: + 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 GS NFV-IFA 013. - heal _end: + heal_end: description: Postamble to the execution of the heal operation + group_types: tosca.groups.nfv.PlacementGroup: derived_from: tosca.groups.Root @@ -349,39 +120,6 @@ group_types: members: [ tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS ] node_types: - tosca.nodes.nfv.Cp: - derived_from: tosca.nodes.Root - description: Provides information regarding the purpose of the connection point - properties: - layer_protocols: - type: list - description: Identifies which protocol the connection point uses for connectivity purposes - required: true - entry_schema: - type: string - constraints: - - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] - role: #Name in ETSI NFV IFA011 v0.7.3: cpRole - type: string - description: Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS - required: false - constraints: - - valid_values: [ root, leaf ] - description: - type: string - description: Provides human-readable information on the purpose of the connection point - required: false - protocol: - type: list - description: Provides information on the addresses to be assigned to the connection point(s) instantiated from this Connection Point Descriptor - required: true - entry_schema: - type: tosca.datatypes.nfv.CpProtocolData - trunk_mode: - type: boolean - description: Provides information about whether the CP instantiated from this Cp is in Trunk mode (802.1Q or other) - required: true - tosca.nodes.nfv.NS: derived_from: tosca.nodes.Root properties: @@ -405,6 +143,14 @@ node_types: 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 requirements: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable @@ -415,7 +161,6 @@ node_types: Nslcm: type: tosca.interfaces.nfv.Nslcm - tosca.nodes.nfv.Sap: derived_from: tosca.nodes.nfv.Cp description: node definition of SAP. diff --git a/etsi_nfv_sol001_pnfd_types.yaml b/etsi_nfv_sol001_pnfd_types.yaml index 9ab4609..88908cf 100644 --- a/etsi_nfv_sol001_pnfd_types.yaml +++ b/etsi_nfv_sol001_pnfd_types.yaml @@ -1,79 +1,10 @@ tosca_definitions_version: tosca_simple_yaml_1_2 -description: ETSI NFV SOL 001 pnfd types definitions version 2.5.1 +description: ETSI NFV SOL 001 pnfd types definitions version 2.6.1 imports: - - etsi_nfv_sol001_vnfd_types.yaml + - etsi_nfv_sol001_common_types.yaml -data_types: - tosca.datatypes.nfv.L2AddressData: - derived_from: tosca.datatypes.Root - description: Describes the information on the MAC addresses to be assigned to a connection point. - properties: - mac_address_assignment: - type: boolean - description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility - required: true - - tosca.datatypes.nfv.L3AddressData: - derived_from: tosca.datatypes.Root - description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP - properties: - ip_address_assignment: - type: boolean - description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility - required: true - floating_ip_activated: - type: boolean - description: Specifies if the floating IP scheme is activated on the Connection Point or not - required: true - ip_address_type: - type: string - description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the parent VnfExtCp - required: false - constraints: - - valid_values: [ ipv4, ipv6 ] - number_of_ip_address: - type: integer - description: Minimum number of IP addresses to be assigned - required: false - constraints: - - greater_than: 0 - - tosca.datatypes.nfv.AddressData: - derived_from: tosca.datatypes.Root - description: Describes information about the addressing scheme and parameters applicable to a CP - properties: - address_type: - type: string - description: Describes the type of the address to be assigned to a connection point. The content type shall be aligned with the address type supported by the layerProtocol property of the connection point - required: true - constraints: - - valid_values: [ mac_address, ip_address ] - l2_address_data: - type: tosca.datatypes.nfv.L2AddressData - description: Provides the information on the MAC addresses to be assigned to a connection point. - required: false - l3_address_data: - type: tosca.datatypes.nfv.L3AddressData - description: Provides the information on the IP addresses to be assigned to a connection point - required: false - - tosca.datatypes.nfv.CpProtocolData: - derived_from: tosca.datatypes.Root - description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information - properties: - associated_layer_protocol: - type: string - required: true - description: One of the values of the property layer_protocols of the CP - constraints: - - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] - address_data: - type: list - description: Provides information on the addresses to be assigned to the CP - entry_schema: - type: tosca.datatypes.nfv.AddressData - +data_types: tosca.datatypes.nfv.LocationInfo: derived_from: tosca.datatypes.Root description: Represents geographical information on the location where a PNF is deployed. @@ -101,52 +32,8 @@ data_types: type: string # RFC4776 description: caValue as per RFC4776. required: true - -capability_types: - tosca.capabilities.nfv.VirtualLinkable: - derived_from: tosca.capabilities.Node - description: A node type that includes the VirtualLinkable capability indicates that it can be pointed by tosca.relationships.nfv.VirtualLinksTo relationship type - -relationship_types: - tosca.relationships.nfv.VirtualLinksTo: - derived_from: tosca.relationships.DependsOn - description: Represents an association relationship between the VNF or PNF or Sap of a Nested NS and NsVirtualLink node types - valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ] node_types: - tosca.nodes.nfv.Cp: - derived_from: tosca.nodes.Root - description: Provides information regarding the purpose of the connection point - properties: - layer_protocols: - type: list - description: Identifies which protocol the connection point uses for connectivity purposes - required: true - entry_schema: - type: string - constraints: - - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] - role: #Name in ETSI NFV IFA011 v0.7.3: cpRole - type: string - description: Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS - required: false - constraints: - - valid_values: [ root, leaf ] - description: - type: string - description: Provides human-readable information on the purpose of the connection point - required: false - protocol: - type: list - description: Provides information on the addresses to be assigned to the connection point(s) instantiated from this Connection Point Descriptor - required: true - entry_schema: - type: tosca.datatypes.nfv.CpProtocolData - trunk_mode: - type: boolean - description: Provides information about whether the CP instantiated from this Cp is in Trunk mode (802.1Q or other) - required: true - tosca.nodes.nfv.PNF: derived_from: tosca.nodes.Root properties: diff --git a/etsi_nfv_sol001_vnfd_types.yaml b/etsi_nfv_sol001_vnfd_types.yaml index d132504..8d7e56c 100644 --- a/etsi_nfv_sol001_vnfd_types.yaml +++ b/etsi_nfv_sol001_vnfd_types.yaml @@ -1,60 +1,9 @@ tosca_definitions_version: tosca_simple_yaml_1_2 -description: ETSI NFV SOL 001 vnfd types definitions version 2.5.1 +description: ETSI NFV SOL 001 vnfd types definitions version 2.6.1 +imports: + - etsi_nfv_sol001_common_types.yaml data_types: - tosca.datatypes.nfv.L2AddressData: - derived_from: tosca.datatypes.Root - description: Describes the information on the MAC addresses to be assigned to a connection point. - properties: - mac_address_assignment: - type: boolean - description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility - required: true - - tosca.datatypes.nfv.L3AddressData: - derived_from: tosca.datatypes.Root - description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP - properties: - ip_address_assignment: - type: boolean - description: Specifies if the address assignment is the responsibility of management and orchestration function or not. If it is set to True, it is the management and orchestration function responsibility - required: true - floating_ip_activated: - type: boolean - description: Specifies if the floating IP scheme is activated on the Connection Point or not - required: true - ip_address_type: - type: string - description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the parent VnfExtCp - required: false - constraints: - - valid_values: [ ipv4, ipv6 ] - number_of_ip_address: - type: integer - description: Minimum number of IP addresses to be assigned - required: false - constraints: - - greater_than: 0 - - tosca.datatypes.nfv.AddressData: - derived_from: tosca.datatypes.Root - description: Describes information about the addressing scheme and parameters applicable to a CP - properties: - address_type: - type: string - description: Describes the type of the address to be assigned to a connection point. The content type shall be aligned with the address type supported by the layerProtocol property of the connection point - required: true - constraints: - - valid_values: [ mac_address, ip_address ] - l2_address_data: - type: tosca.datatypes.nfv.L2AddressData - description: Provides the information on the MAC addresses to be assigned to a connection point. - required: false - l3_address_data: - type: tosca.datatypes.nfv.L3AddressData - description: Provides the information on the IP addresses to be assigned to a connection point - required: false - tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements: derived_from: tosca.datatypes.Root description: Describes requirements on a virtual network interface @@ -82,25 +31,6 @@ data_types: description: references (couples) the CP with any logical node I/O requirements (for network devices) that may have been created. Linking these attributes is necessary so that so that I/O requirements that need to be articulated at the logical node level can be associated with the network interface requirements associated with the CP. required: false - tosca.datatypes.nfv.ConnectivityType: - derived_from: tosca.datatypes.Root - description: describes additional connectivity information of a virtualLink - properties: - layer_protocols: - type: list - description: Identifies the protocol a virtualLink gives access to (ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire).The top layer protocol of the virtualLink protocol stack shall always be provided. The lower layer protocols may be included when there are specific requirements on these layers. - required: true - entry_schema: - type: string - constraints: - - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] - flow_pattern: - type: string - description: Identifies the flow pattern of the connectivity - required: false - constraints: - - valid_values: [ line, tree, mesh ] - tosca.datatypes.nfv.RequestedAdditionalCapability: derived_from: tosca.datatypes.Root description: describes requested additional capability for a particular VDU @@ -510,46 +440,6 @@ data_types: entry_schema: type: string # Identifier - tosca.datatypes.nfv.LinkBitrateRequirements: - derived_from: tosca.datatypes.Root - description: describes the requirements in terms of bitrate for a virtual link - properties: - root: - type: integer # in bits per second - description: Specifies the throughput requirement in bits per second of the link (e.g. bitrate of E-Line, root bitrate of E-Tree, aggregate capacity of E-LAN). - required: true - constraints: - - greater_or_equal: 0 - leaf: - type: integer # in bits per second - description: Specifies the throughput requirement in bits per second of leaf connections to the link when applicable to the connectivity type (e.g. for E-Tree and E LAN branches). - required: false - constraints: - - greater_or_equal: 0 - - tosca.datatypes.nfv.Qos: - derived_from: tosca.datatypes.Root - description: describes QoS data for a given VL used in a VNF deployment flavour - properties: - latency: - type: scalar-unit.time #Number - description: Specifies the maximum latency - required: true - constraints: - - greater_than: 0 s - packet_delay_variation: - type: scalar-unit.time #Number - description: Specifies the maximum jitter - required: true - constraints: - - greater_or_equal: 0 s - packet_loss_ratio: - type: float - description: Specifies the maximum packet loss ratio - required: false - constraints: - - in_range: [ 0.0, 1.0 ] - tosca.datatypes.nfv.VnfConfigurableProperties: derived_from: tosca.datatypes.Root description: indicates configuration properties for a given VNF (e.g. related to auto scaling and auto healing). @@ -602,23 +492,6 @@ data_types: derived_from: tosca.datatypes.Root description: is an empty base type for deriving data types for describing VNF-specific metadata - tosca.datatypes.nfv.CpProtocolData: - derived_from: tosca.datatypes.Root - description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information - properties: - associated_layer_protocol: - type: string - required: true - description: One of the values of the property layer_protocols of the CP - constraints: - - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] - address_data: - type: list - description: Provides information on the addresses to be assigned to the CP - entry_schema: - type: tosca.datatypes.nfv.AddressData - required: false - tosca.datatypes.nfv.LogicalNodeData: derived_from: tosca.datatypes.Root description: Describes compute, memory and I/O requirements associated with a particular VDU. @@ -643,7 +516,7 @@ data_types: description: Version of this software image required: true checksum: - type: string + type: tosca.datatypes.nfv.ChecksumData description: Checksum of the software image file required: true container_format: @@ -662,10 +535,14 @@ data_types: type: scalar-unit.size # Number description: The minimal disk size requirement for this software image required: true + constraints: + - greater_or_equal: 0 B min_ram: type: scalar-unit.size # Number description: The minimal RAM requirement for this software image required: false + constraints: + - greater_or_equal: 0 B size: type: scalar-unit.size # Number description: The size of this software image @@ -689,6 +566,8 @@ data_types: type: scalar-unit.size description: Size of virtualised storage resource required: true + constraints: + - greater_or_equal: 0 B vdu_storage_requirements: type: map description: The hardware platform specific storage requirements. A map of strings that contains a set of key-value pairs that represents the hardware platform specific storage deployment requirements. @@ -709,6 +588,8 @@ data_types: type: scalar-unit.size description: Maximum size of virtualized storage resource required: false + constraints: + - greater_or_equal: 0 B tosca.datatypes.nfv.VirtualFileStorageData: derived_from: tosca.datatypes.Root @@ -718,6 +599,8 @@ data_types: type: scalar-unit.size description: Size of virtualized storage resource required: true + constraints: + - greater_or_equal: 0 B file_system_protocol: type: string description: The shared file system protocol (e.g. NFS, CIFS) @@ -764,7 +647,7 @@ data_types: packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp ] collection_period: type: scalar-unit.time - description: Describes the recommended periodicity at which to collect the performance information. + description: Describes the periodicity at which to collect the performance information. required: false constraints: - greater_than: 0 s @@ -785,7 +668,7 @@ packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp ] - valid_values: [ v_cpu_usage_mean_vnf, v_cpu_usage_peak_vnf, v_memory_usage_mean_vnf, v_memory_usage_peak_vnf, v_disk_usage_mean_vnf, v_disk_usage_peak_vnf, byte_incoming_vnf_int_cp, byte_outgoing_vnf_int_cp, packet_incoming_vnf_int_cp, packet_outgoing_vnf_int_cp ] collection_period: type: scalar-unit.time - description: Describes the recommended periodicity at which to collect the performance information. + description: Describes the periodicity at which to collect the performance information. required: false constraints: - greater_than: 0 s @@ -806,7 +689,7 @@ packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp ] - valid_values: [ packet_outgoing_virtual_link, packet_incoming_virtual_link ] collection_period: type: scalar-unit.time - description: Describes the recommended periodicity at which to collect the performance information. + description: Describes the periodicity at which to collect the performance information. required: false constraints: - greater_than: 0 s @@ -868,26 +751,20 @@ packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp ] description: port field of the authority component of a URI required: false - tosca.datatypes.nfv.VnfProfile: + tosca.datatypes.nfv.ChecksumData: derived_from: tosca.datatypes.Root - description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF. + description: Describes information about the result of performing a checksum operation over some arbitrary data properties: - instantiation_level: + algorithm: type: string - description: Identifier of the instantiation level of the VNF DF to be used for instantiation. If not present, the default instantiation level as declared in the VNFD shall be used. - required: false - min_number_of_instances: - type: integer - description: Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile. + description: Describes the algorithm used to obtain the checksum value required: true constraints: - - greater_or_equal: 0 - max_number_of_instances: - type: integer - description: Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile. + - valid_values: [sha-224, sha-256, sha-384, sha-512 ] + hash: + type: string + description: Contains the result of applying the algorithm indicated by the algorithm property to the data to which this ChecksumData refers required: true - constraints: - - greater_or_equal: 0 artifact_types: tosca.artifacts.nfv.SwImage: @@ -905,10 +782,6 @@ capability_types: derived_from: tosca.capabilities.Node description: Indicates that the node that includes it can be pointed by a tosca.relationships.nfv.VirtualBindsTo relationship type which is used to model the VduHasCpd association - tosca.capabilities.nfv.VirtualLinkable: - derived_from: tosca.capabilities.Root - description: A node type that includes the VirtualLinkable capability indicates that it can be pointed by tosca.relationships.nfv.VirtualLinksTo relationship type - tosca.capabilities.nfv.VirtualCompute: derived_from: tosca.capabilities.Node description: Describes the capabilities related to virtual compute resources @@ -954,12 +827,7 @@ relationship_types: tosca.relationships.nfv.VirtualBindsTo: derived_from: tosca.relationships.DependsOn description: Represents an association relationship between Vdu.Compute and VduCp node types - valid_target_types: [ tosca.capabilities.nfv.VirtualBindable ] - - tosca.relationships.nfv.VirtualLinksTo: - derived_from: tosca.relationships.DependsOn - description: Represents an association relationship between the VduCp and VnfVirtualLink node types - valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ] + valid_target_types: [ tosca.capabilities.nfv.VirtualBindable ] tosca.relationships.nfv.AttachesTo: derived_from: tosca.relationships.Root @@ -1120,6 +988,8 @@ node_types: description: Identifies VNFM(s) compatible with the VNF entry_schema: type: string + constraints: + - pattern: (^etsivnfm:v[0-9]?[0-9]\.[0-9]?[0-9]\.[0-9]?[0-9]$)|(^[0-9]+:[a-zA-Z0-9.-]+$) localization_languages: type: list description: Information about localization languages of the VNF @@ -1162,10 +1032,10 @@ node_types: type: string description: Human readable description of the DF required: true - #vnf_profile: - # type: tosca.datatypes.nfv.VnfProfile - # description: Describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF - # required: false + vnf_profile: + type: tosca.datatypes.nfv.VnfProfile + description: Describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF + required: false requirements: - virtual_link: capability: tosca.capabilities.nfv.VirtualLinkable @@ -1303,39 +1173,6 @@ node_types: relationship: tosca.relationships.nfv.VirtualLinksTo #description: Describes the requirements for linking to virtual link - tosca.nodes.nfv.Cp: - derived_from: tosca.nodes.Root - description: Provides information regarding the purpose of the connection point - properties: - layer_protocols: - type: list - description: Identifies which protocol the connection point uses for connectivity purposes - required: true - entry_schema: - type: string - constraints: - - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ] - role: #Name in ETSI NFV IFA011 v0.7.3: cpRole - type: string - description: Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS - required: false - constraints: - - valid_values: [ root, leaf ] - description: - type: string - description: Provides human-readable information on the purpose of the connection point - required: false - protocol: - type: list - description: Provides information on the addresses to be assigned to the connection point(s) instantiated from this Connection Point Descriptor - required: false - entry_schema: - type: tosca.datatypes.nfv.CpProtocolData - trunk_mode: - type: boolean - description: Provides information about whether the CP instantiated from this Cp is in Trunk mode (802.1Q or other), When operating in "trunk mode", the Cp is capable of carrying traffic for several VLANs. Absence of this property implies that trunkMode is not configured for the Cp i.e. It is equivalent to boolean value "false". - required: false - tosca.nodes.nfv.VduCp: derived_from: tosca.nodes.nfv.Cp description: describes network connectivity between a VNFC instance based on this VDU and an internal VL @@ -1429,6 +1266,8 @@ policy_types: required: true entry_schema: type: tosca.datatypes.nfv.InstantiationLevel + constraints: + - min_length: 1 default_level: type: string # levelId description: The default instantiation level for this flavour. @@ -1444,6 +1283,8 @@ policy_types: required: true entry_schema: type: tosca.datatypes.nfv.VduLevel + constraints: + - min_length: 1 targets: [ tosca.nodes.nfv.Vdu.Compute ] tosca.policies.nfv.VirtualLinkInstantiationLevels: @@ -1456,6 +1297,8 @@ policy_types: required: true entry_schema: type: tosca.datatypes.nfv.VirtualLinkBitrateLevel + constraints: + - min_length: 1 targets: [ tosca.nodes.nfv.VnfVirtualLink ] tosca.policies.nfv.ScalingAspects: @@ -1468,6 +1311,8 @@ policy_types: required: true entry_schema: type: tosca.datatypes.nfv.ScalingAspect + constraints: + - min_length: 1 tosca.policies.nfv.VduScalingAspectDeltas: derived_from: tosca.policies.Root @@ -1483,6 +1328,8 @@ policy_types: required: true entry_schema: type: tosca.datatypes.nfv.VduLevel + constraints: + - min_length: 1 targets: [ tosca.nodes.nfv.Vdu.Compute ] tosca.policies.nfv.VirtualLinkBitrateScalingAspectDeltas: @@ -1499,6 +1346,8 @@ policy_types: required: true entry_schema: type: tosca.datatypes.nfv.VirtualLinkBitrateLevel + constraints: + - min_length: 1 targets: [ tosca.nodes.nfv.VnfVirtualLink ] tosca.policies.nfv.VduInitialDelta: @@ -1608,3 +1457,4 @@ policy_types: required: false targets: [ tosca.nodes.nfv.VnfExtCp, tosca.nodes.nfv.VduCp ] + -- GitLab