diff options
author | 2020-08-21 11:40:56 +0100 | |
---|---|---|
committer | 2020-09-07 08:06:05 +0000 | |
commit | 4188b20055dac1974f6c6f1a6a8320099b154ca5 (patch) | |
tree | 85e8b0b4a00dc78cddc163625564bcb198e21799 /catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/resources/etsi-nfv-types/etsi_nfv_sol001_nsd_2_7_1_types.yaml | |
parent | 798f858d18403a31a4d464b07bb1a9a74666c9c7 (diff) |
Plugin to Generate Service ETSI NSD CSAR
Create a catalog backend plugin to generate an ETSI compliant Network
Service Descriptor (NSD) CSAR as an artifact in the generated TOSCA
CSAR package of a Service.
Change-Id: I2b1556148be39d7bf37602335e638d0cee2b291b
Issue-ID: SDC-3251
Signed-off-by: andre.schmid <andre.schmid@est.tech>
Diffstat (limited to 'catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/resources/etsi-nfv-types/etsi_nfv_sol001_nsd_2_7_1_types.yaml')
-rw-r--r-- | catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/resources/etsi-nfv-types/etsi_nfv_sol001_nsd_2_7_1_types.yaml | 450 |
1 files changed, 450 insertions, 0 deletions
diff --git a/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/resources/etsi-nfv-types/etsi_nfv_sol001_nsd_2_7_1_types.yaml b/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/resources/etsi-nfv-types/etsi_nfv_sol001_nsd_2_7_1_types.yaml new file mode 100644 index 0000000000..5d24beb9aa --- /dev/null +++ b/catalog-be-plugins/etsi-nfv-nsd-csar-plugin/src/main/resources/etsi-nfv-types/etsi_nfv_sol001_nsd_2_7_1_types.yaml @@ -0,0 +1,450 @@ +tosca_definitions_version: tosca_simple_yaml_1_2 +description: ETSI NFV SOL 001 nsd types definitions version 2.7.1 +metadata: + template_name: etsi_nfv_sol001_nsd_types + template_author: ETSI_NFV + template_version: 2.7.1 + +imports: + - file: etsi_nfv_sol001_common_types.yaml + +data_types: + tosca.datatypes.nfv.ServiceAvailability: + derived_from: tosca.datatypes.Root + description: service availability + properties: + level: + type: string + description: service availability levels + required: true + constraints: + - valid_values: [ level1, level2, level3 ] + + tosca.datatypes.nfv.NsVlProfile: + derived_from: tosca.datatypes.Root + description: Describes additional instantiation data for a given NsVirtualLink used in a specific NS deployment flavour. + properties: + max_bitrate_requirements: + type: tosca.datatypes.nfv.LinkBitrateRequirements + description: Specifies the maximum bitrate requirements for a VL instantiated according to this profile. + required: true + min_bitrate_requirements: + type: tosca.datatypes.nfv.LinkBitrateRequirements + description: Specifies the minimum bitrate requirements for a VL instantiated according to this profile. + required: true + qos: + type: tosca.datatypes.nfv.NsVirtualLinkQos + description: Specifies the QoS requirements of a VL instantiated according to this profile. + required: false + service_availability: + type: tosca.datatypes.nfv.ServiceAvailability + description: Network service virtual link service availability levels, as described in ETSI GS NFV-REL 001 + required: false + + tosca.datatypes.nfv.NsVirtualLinkQos: + derived_from: tosca.datatypes.nfv.Qos + description: describes QoS data for a given VL used in a VNF deployment flavour + properties: + priority: + type: integer + constraints: + - greater_or_equal: 0 + description: Specifies the priority level in case of congestion on the underlying physical links + required: false + + 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 + 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 + properties: + starting_point: + description: Indicates the offset between the last bit of the source mac address and the first bit of the sequence of bits to be matched. + type: integer + required: true + length: + description: Indicates the number of bits to be matched. + type: integer + required: true + value: + description: Provide the sequence of bit values to be matched. + type: string + required: true + + tosca.datatypes.nfv.NsOperationAdditionalParameters: + derived_from: tosca.datatypes.Root + description: Is an empty base type for deriving data types for describing NS-specific additional parameters to be passed when invoking NS lifecycle management operations + #properties: + + tosca.datatypes.nfv.NsMonitoringParameter: + derived_from: tosca.datatypes.Root + description: Represents information on virtualised resource related performance metrics applicable to the NS. + properties: + name: + type: string + description: Human readable name of the monitoring parameter + required: true + performance_metric: + type: string + description: Identifies a performance metric to be monitored, according to ETSI GS NFV-IFA 027. + required: true + constraints: + - valid_values: [byte_incoming_sap, byte_outgoing_sap, packet_incoming_sap, packet_outgoing_sap, byte_incoming, byte_outgoing, packet_incoming, packet_outgoing ] + collection_period: + type: scalar-unit.time + description: Describes the periodicity at which to collect the performance information. + required: false + +interface_types: + tosca.interfaces.nfv.Nslcm: + derived_from: tosca.interfaces.Root + description: This interface encompasses a set of TOSCA operations corresponding to NS LCM operations defined in ETSI GS NFV-IFA 013. as well as to preamble and postamble procedures to the execution of the NS LCM operations. + instantiate_start: + description: Preamble to execution of the instantiate operation + instantiate: + description: Base procedure for instantiating an NS, corresponding to the Instantiate NS operation defined in ETSI GS NFV-IFA 013. + # inputs: + # additional_parameters: + # type: tosca.datatypes.nfv.NsOperationAdditionalParameters + # required: false + instantiate_end: + description: Postamble to the execution of the instantiate operation + terminate_start: + description: Preamble to execution of the terminate operation + terminate: + description: Base procedure for terminating an NS, corresponding to the Terminate NS operation defined in ETSI GS NFV-IFA 013. + 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 + 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 + +node_types: + tosca.nodes.nfv.NS: + derived_from: tosca.nodes.Root + properties: + 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 + description: Identifies the version of the NSD. + required: true + name: + 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 + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + node: tosca.nodes.nfv.NsVirtualLink + occurrences: [ 0, 1 ] + interfaces: + Nslcm: + type: tosca.interfaces.nfv.Nslcm + + tosca.nodes.nfv.Sap: + derived_from: tosca.nodes.nfv.Cp + description: node definition of SAP. + requirements: + - external_virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + 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.NsAffinityRule: + derived_from: tosca.policies.Placement + description: The NsAffinityRule describes the affinity rules applicable for the defined targets + properties: + scope: + type: string + description: Specifies the scope of the local affinity rule. + required: true + constraints: + - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ] + targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ] + + 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 ] + targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ] + + tosca.policies.nfv.NsSecurityGroupRule: + derived_from: tosca.policies.nfv.Abstract.SecurityGroupRule + description: The NsSecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited SAPs. + targets: [ tosca.nodes.nfv.Sap ] + + tosca.policies.nfv.NfpRule: + derived_from: tosca.policies.Root + 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: list + description: Specifies a virtualised resource related performance metric to be monitored on the NS level. + required: true + entry_schema: + type: tosca.datatypes.nfv.NsMonitoringParameter + 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: list + description: Specifies a virtualised resource related performance metric to be monitored on the NS level. + required: true + entry_schema: + type: tosca.datatypes.nfv.VnfMonitoringParameter + constraints: + - min_length: 1 + targets: [ tosca.nodes.nfv.VNF ] + |