tosca_definitions_version: tosca_simple_yaml_1_3 description: ETSI NFV SOL 001 common types definitions version 3.7.1 metadata: template_name: etsi_nfv_sol001_common_types template_author: ETSI_NFV template_version: 3.7.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 which mode is used for the MAC address assignment. If it is set to True, a MAC address is expected to be provided by a management entity via the NFV MANO interfaces towards the VNFM using attributes standardized for this purpose in the NFV-MANO information model and is further transferred from the VNFM to the VIM. A MAC address will be automatically assigned by the VIM/NFVI as fallback if not provided. If it is set to False, a MAC address is expected to it will be assigned by means specific to the VNF itself (e.g., by an LCM script, by the EM) and is further transferred from the VNFM to the VIM. A MAC address will be automatically assigned by the VIM/NFVI as fallback if not provided to the VIM. 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: Specify which mode is used for the IP address assignment. If it is set to True, IP configuration information shall be provided for the VNF by a management entity using the NFV MANO interfaces towards the VNFM. If it is set to False, the value of the ip_address_assignment_subtype property defines the method of IP address assignment. Shall be present if the fixed_ip_address property is not present and should be absent otherwise. See note. required: false ip_address_assignment_subtype: type: string description: "Method of IP address assignment in case the IP configuration is not provided using the NFV MANO interfaces towards the VNFM. Description of the valid values: (1) dynamic: the VNF gets an IP address dynamically from the NFVI (i.e., using DHCP), (2) vnf_pkg: an IP address defined by the VNF provider is assigned by means included as part of the VNF package (e.g., LCM script); (3) external: an IP address is provided by an external management entity (such as EM) directly towards the VNF.Shall be present in case the ip_address_assignment property is set to False and shall be absent otherwise." required: false constraints: - valid_values: [ dynamic, vnf_pkg, external ] 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 connection point 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 fixed_ip_address: type: list description: Fixed IP addresses to be assigned to the internal CP instance. This property enables the VNF provider to define fixed IP addresses for internal CP instances to be assigned by the VNFM or the NFVO. This property is only permitted for Cpds without external connectivity, i.e. connectivity outside the VNF. If present, it shall be compatible with the values of the L3ProtocolData of the VnfVirtualLink referred to by the Cp, if L3ProtocolData is included in the VnfVirtualLink required: false entry_schema: type: string 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 description: One of the values of the property layer_protocols of the CP required: true 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.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.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 service_availability_level: type: integer description: Specifies the service availability level for the VNF instance created from this profile. required: false constraints: - greater_or_equal: 1 tosca.datatypes.nfv.VnfMonitoringParameter: derived_from: tosca.datatypes.Root description: Represents information on virtualised resource related performance metrics applicable to the VNF. 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: [ 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_ext_cp, byte_outgoing_vnf_ext_cp, packet_incoming_vnf_ext_cp, packet_outgoing_vnf_ext_cp ] collection_period: type: scalar-unit.time description: Describes the periodicity at which to collect the performance information. required: false constraints: - greater_than: 0 s 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 or the association between either a VnfExtCp, a PnfExtCp or a Sap and an NsVirtualLink node types. valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ] tosca.relationships.nfv.VipVirtualLinksTo: derived_from: tosca.relationships.DependsOn description: Represents an association relationship between the VipCp and a VnfVirtualLink node types or between the former and a 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 GS NFV-IFA 011: 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 policy_types: tosca.policies.nfv.Abstract.SecurityGroupRule: derived_from: tosca.policies.Root description: The Abstract.SecurityGroupRule type represents an abstract policy type without any target requirements properties: description: type: string description: Human readable description of the security group rule. required: false direction: type: string description: The direction in which the security group rule is applied. The direction of 'ingress' or 'egress' is specified against the associated CP. I.e. 'ingress' means the packets entering a CP, while 'egress' means the packets sent out of a CP. required: true constraints: - valid_values: [ ingress, egress ] default: ingress ether_type: type: string description: Indicates the protocol carried over the Ethernet layer. required: true constraints: - valid_values: [ ipv4, ipv6 ] default: ipv4 protocol: type: string description: Indicates the protocol carried over the IP layer. Permitted values include any protocol defined in the IANA protocol registry, e.g. TCP, UDP, ICMP, etc. required: true constraints: - valid_values: [ hopopt, icmp, igmp, ggp, ipv4, st, tcp, cbt, egp, igp, bbn_rcc_mon, nvp_ii, pup, argus, emcon, xnet, chaos, udp, mux, dcn_meas, hmp, prm, xns_idp, trunk_1, trunk_2, leaf_1, leaf_2, rdp, irtp, iso_tp4, netblt, mfe_nsp, merit_inp, dccp, 3pc, idpr, xtp, ddp, idpr_cmtp, tp++, il, ipv6, sdrp, ipv6_route, ipv6_frag, idrp, rsvp, gre, dsr, bna, esp, ah, i_nlsp, swipe, narp, mobile, tlsp, skip, ipv6_icmp, ipv6_no_nxt, ipv6_opts, cftp, sat_expak, kryptolan, rvd, ippc, sat_mon, visa, ipcv, cpnx, cphb, wsn, pvp, br_sat_mon, sun_nd, wb_mon, wb_expak, iso_ip, vmtp, secure_vmtp, vines, ttp, iptm, nsfnet_igp, dgp, tcf, eigrp, ospfigp, sprite_rpc, larp, mtp, ax.25, ipip, micp, scc_sp, etherip, encap, gmtp, ifmp, pnni, pim, aris, scps, qnx, a/n, ip_comp, snp, compaq_peer, ipx_in_ip, vrrp, pgm, l2tp, ddx, iatp, stp, srp, uti, smp, sm, ptp, isis, fire, crtp, crudp, sscopmce, iplt, sps, pipe, sctp, fc, rsvp_e2e_ignore, mobility, udp_lite, mpls_in_ip, manet, hip, shim6, wesp, rohc ] default: tcp port_range_min: type: integer description: Indicates minimum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints. required: true constraints: - greater_or_equal: 0 - less_or_equal: 65535 default: 0 port_range_max: type: integer description: Indicates maximum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints. required: true constraints: - greater_or_equal: 0 - less_or_equal: 65535 default: 65535