Plugin to Generate Service ETSI NSD CSAR
[sdc.git] / catalog-be-plugins / etsi-nfv-nsd-csar-plugin / src / main / resources / etsi-nfv-types / etsi_nfv_sol001_common_types.yaml
1 tosca_definitions_version: tosca_simple_yaml_1_2
2 description: ETSI NFV SOL 001 common types definitions version 2.7.1
3 metadata:
4   template_name: etsi_nfv_sol001_common_types
5   template_author: ETSI_NFV
6   template_version: 2.7.1
7
8 data_types:
9   tosca.datatypes.nfv.L2AddressData:
10     derived_from: tosca.datatypes.Root
11     description: Describes the information on the MAC addresses to be assigned to a connection point. 
12     properties:
13       mac_address_assignment:
14         type: boolean
15         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
16         required: true 
17   
18   tosca.datatypes.nfv.L3AddressData:
19     derived_from: tosca.datatypes.Root
20     description: Provides information about Layer 3 level addressing scheme and parameters applicable to a CP 
21     properties:
22       ip_address_assignment:
23         type: boolean
24         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
25         required: true
26       floating_ip_activated:
27         type: boolean
28         description: Specifies if the floating IP scheme is activated on the Connection Point or not 
29         required: true
30       ip_address_type:
31         type: string
32         description: Defines address type. The address type should be aligned with the address type supported by the layer_protocols properties of the parent VnfExtCp
33         required: false
34         constraints:
35           - valid_values: [ ipv4, ipv6 ]
36       number_of_ip_address:
37         type: integer
38         description: Minimum number of IP addresses to be assigned 
39         required: false
40         constraints:
41           - greater_than: 0
42
43   tosca.datatypes.nfv.AddressData:
44     derived_from: tosca.datatypes.Root
45     description: Describes information about the addressing scheme and parameters applicable to a CP 
46     properties:
47       address_type:
48         type: string
49         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
50         required: true
51         constraints:
52           - valid_values: [ mac_address, ip_address ]
53       l2_address_data:
54         type: tosca.datatypes.nfv.L2AddressData
55         description: Provides the information on the MAC addresses to be assigned to a connection point.
56         required: false
57       l3_address_data:
58         type: tosca.datatypes.nfv.L3AddressData
59         description: Provides the information on the IP addresses to be assigned to a connection point 
60         required: false
61
62   tosca.datatypes.nfv.ConnectivityType:
63     derived_from: tosca.datatypes.Root
64     description: describes additional connectivity information of a virtualLink 
65     properties:
66       layer_protocols:
67         type: list
68         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.
69         required: true
70         entry_schema:
71           type: string
72           constraints:
73             - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
74       flow_pattern:
75         type: string
76         description: Identifies the flow pattern of the connectivity
77         required: false
78         constraints:
79           - valid_values: [ line, tree, mesh ]
80
81   tosca.datatypes.nfv.LinkBitrateRequirements:
82     derived_from: tosca.datatypes.Root
83     description: describes the requirements in terms of bitrate for a virtual link 
84     properties:
85       root:
86         type: integer # in bits per second
87         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).
88         required: true
89         constraints:
90           - greater_or_equal: 0
91       leaf:
92         type: integer # in bits per second
93         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).
94         required: false
95         constraints:
96           - greater_or_equal: 0
97
98   tosca.datatypes.nfv.CpProtocolData:
99     derived_from: tosca.datatypes.Root
100     description: Describes and associates the protocol layer that a CP uses together with other protocol and connection point information
101     properties:
102       associated_layer_protocol:
103         type: string
104         required: true
105         description: One of the values of the property layer_protocols of the CP 
106         constraints:
107           - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
108       address_data:
109         type: list
110         description: Provides information on the addresses to be assigned to the CP
111         entry_schema: 
112           type: tosca.datatypes.nfv.AddressData
113         required: false
114
115   tosca.datatypes.nfv.VnfProfile:
116     derived_from: tosca.datatypes.Root
117     description: describes a profile for instantiating VNFs of a particular NS DF according to a specific VNFD and VNF DF.
118     properties:
119       instantiation_level:
120         type: string
121         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.
122         required: false
123       min_number_of_instances:
124         type: integer
125         description: Minimum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
126         required: true
127         constraints:
128           - greater_or_equal: 0
129       max_number_of_instances:
130         type: integer
131         description: Maximum number of instances of the VNF based on this VNFD that is permitted to exist for this VnfProfile.
132         required: true
133         constraints:
134           - greater_or_equal: 0
135
136   tosca.datatypes.nfv.Qos:
137     derived_from: tosca.datatypes.Root
138     description: describes QoS data for a given VL used in a VNF deployment flavour 
139     properties:
140       latency:
141         type: scalar-unit.time #Number
142         description: Specifies the maximum latency 
143         required: true
144         constraints: 
145           - greater_than: 0 s
146       packet_delay_variation:
147         type: scalar-unit.time #Number
148         description: Specifies the maximum jitter  
149         required: true
150         constraints: 
151           - greater_or_equal: 0 s
152       packet_loss_ratio:
153         type: float
154         description: Specifies the maximum packet loss ratio 
155         required: false
156         constraints:
157            - in_range: [ 0.0, 1.0 ]
158
159   tosca.datatypes.nfv.VnfMonitoringParameter:
160     derived_from: tosca.datatypes.Root
161     description: Represents information on virtualised resource related performance metrics applicable to the VNF.
162     properties:
163       name:
164        type: string
165        description: Human readable name of the monitoring parameter
166        required: true
167       performance_metric:
168        type: string
169        description: Identifies a performance metric to be monitored, according to ETSI GS NFV-IFA 027. 
170        required: true
171        constraints:
172         - 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 ] 
173       collection_period:
174        type: scalar-unit.time
175        description: Describes the periodicity at which to collect the performance information. 
176        required: false
177        constraints: 
178         - greater_than: 0 s
179         
180 capability_types:
181   tosca.capabilities.nfv.VirtualLinkable:
182     derived_from: tosca.capabilities.Node
183     description: A node type that includes the VirtualLinkable capability indicates that it can be pointed by tosca.relationships.nfv.VirtualLinksTo relationship type
184
185   tosca.capabilities.nfv.Forwarding:
186     derived_from: tosca.capabilities.Root
187  
188 relationship_types:
189   tosca.relationships.nfv.VirtualLinksTo:
190     derived_from: tosca.relationships.DependsOn
191     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. 
192     valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
193
194   tosca.relationships.nfv.ForwardTo:
195     derived_from: tosca.relationships.Root
196     valid_target_types: [ tosca.capabilities.nfv.Forwarding ]
197
198   tosca.relationships.nfv.VipVirtualLinksTo:
199     derived_from: tosca.relationships.DependsOn
200     description: Represents an association relationship between the VipCp and a VnfVirtualLink node types or between the former and a NsVirtualLink node types. 
201     valid_target_types: [ tosca.capabilities.nfv.VirtualLinkable ]
202     
203 node_types:
204   tosca.nodes.nfv.Cp:
205     derived_from: tosca.nodes.Root
206     description:  Provides information regarding the purpose of the connection point 
207     properties:
208       layer_protocols:
209         type: list
210         description: Identifies which protocol the connection point uses for connectivity purposes 
211         required: true
212         entry_schema:
213           type: string
214           constraints:
215             - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo-wire ]
216       role: #Name in ETSI NFV IFA011: cpRole
217         type: string
218         description: Identifies the role of the port in the context of the traffic flow patterns in the VNF or parent NS 
219         required: false
220         constraints:
221           - valid_values: [ root, leaf ]
222       description:
223         type: string
224         description: Provides human-readable information on the purpose of the connection point 
225         required: false
226       protocol:
227         type: list
228         description: Provides information on the addresses to be assigned to the connection point(s) instantiated from this Connection Point Descriptor 
229         required: false
230         entry_schema:
231           type: tosca.datatypes.nfv.CpProtocolData
232       trunk_mode:
233         type: boolean
234         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".
235         required: false
236
237 policy_types:
238   tosca.policies.nfv.Abstract.SecurityGroupRule:
239     derived_from: tosca.policies.Root
240     description: The Abstract.SecurityGroupRule type represents an abstract policy type without any target requirements
241     properties:
242       description:
243         type: string
244         description: Human readable description of the security group rule.
245         required: false
246       direction:
247         type: string
248         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.
249         required: false
250         constraints:
251           - valid_values: [ ingress, egress ]
252         default: ingress
253       ether_type:
254         type: string
255         description: Indicates the protocol carried over the Ethernet layer.
256         required: false
257         constraints:
258           - valid_values: [ ipv4, ipv6 ]
259         default: ipv4
260       protocol:
261         type: string
262         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.
263         required: false
264         constraints:
265           - 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 ]
266         default: tcp
267       port_range_min:
268         type: integer
269         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.
270         required: false
271         constraints:
272           - greater_or_equal: 0
273           - less_or_equal: 65535
274         default: 0
275       port_range_max:
276         type: integer
277         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.
278         required: false
279         constraints:
280           - greater_or_equal: 0
281           - less_or_equal: 65535
282         default: 65535
283