f6a7c90b3cf2096efa4a5510d0b0813592b78c92
[sdc.git] / common / onap-tosca-datatype / src / main / resources / globalTypes / onap / nodes.yml
1 #
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at
5 #
6 #      http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13 #
14
15 tosca_definitions_version: tosca_simple_yaml_1_1
16
17 metadata:
18   filename: onap/nodes.yml
19   version: '1.0'
20   
21 imports:
22 - onap_index:
23     file: _index.yml
24
25 node_types:
26
27   tosca.nodes.nfv.NS.vEPC_NS:
28     derived_from: tosca.nodes.nfv.NS
29     properties:
30       vendor:
31         default: ChinaMobile
32         required: false
33         type: string
34       csarVersion:
35         default: v1.0
36         required: false
37         type: string
38       name:
39         default: vEPC_NS
40         required: false
41         type: string
42       csarProvider:
43         default: ChinaMobile
44         required: false
45         type: string
46       id:
47         default: vEPC_NS
48         required: false
49         type: string
50       version:
51         default: v1.0
52         required: false
53         type: string
54       csarType:
55         default: NSAR
56         required: false
57         type: string
58     requirements:
59     - virtualLink:
60         capability: tosca.capabilities.nfv.VirtualLinkable
61         occurrences:
62         - 0
63         - UNBOUNDED
64
65   tosca.nodes.nfv.NS.vIMS_NS:
66     derived_from: tosca.nodes.nfv.NS
67     properties:
68       vendor:
69         default: ChinaMobile
70         required: false
71         type: string
72       csarVersion:
73         default: v1.0
74         required: false
75         type: string
76       name:
77         default: vIMS_NS
78         required: false
79         type: string
80       csarProvider:
81         default: ChinaMobile
82         required: false
83         type: string
84       id:
85         default: vIMS_NS
86         required: false
87         type: string
88       version:
89         default: v1.0
90         required: false
91         type: string
92       csarType:
93         default: NSAR
94         required: false
95         type: string
96     requirements:
97     - virtualLink:
98         capability: tosca.capabilities.nfv.VirtualLinkable
99         occurrences:
100         - 0
101         - UNBOUNDED
102
103   tosca.nodes.nfv.NS:
104     derived_from: tosca.nodes.Root
105     properties:
106       vendor:
107         required: false
108         type: string
109       name:
110         required: false
111         type: string
112       id:
113         required: false
114         type: string
115       version:
116         required: false
117         type: string
118     requirements:
119     - virtualLink:
120         capability: tosca.capabilities.nfv.VirtualLinkable
121         occurrences:
122         - 0
123         - UNBOUNDED
124
125   tosca.nodes.nfv.Vdu.Compute:
126     derived_from: tosca.nodes.Root
127     properties:
128       name:
129         type: string
130         required: true
131       description:
132         type: string
133         required: true
134       boot_order:
135         type: map
136         entry_schema:
137           type: string
138         required: false
139       nfvi_constraints:
140         type: map # Align with IM, it shoul be a array of KeyValuePair/NameValuePair
141         entry_schema:
142           type: string
143         required: false
144       configurable_properties:
145          type: map   #In the IM, the multipilicity of VnfcConfigurableProperties is 1, not a map.
146          entry_schema:
147             type: tosca.datatypes.nfv.VnfcConfigurableProperties
148          required: true
149       vdu_profile:
150          type: tosca.datatypes.nfv.VduProfile
151          required: true
152       inject_files: # Used for vCPE usecase Aligned with ONAP R2 IM. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
153          type: tosca.datatypes.nfv.injectFile
154          required: false  #Aligned with ONAP R2 IM. it should be false.
155       meta_data: #metadata attached to the VM or container
156          type: map
157          entry_schema:
158            type: string
159          required: false
160       user_data: #cloudinit userdata script support
161         type: string
162         required: false
163     capabilities:
164       virtual_compute:
165         type: tosca.capabilities.nfv.VirtualCompute
166       virtual_binding:
167         type: tosca.capabilities.nfv.VirtualBindable
168         occurrences:
169         - 1
170         - UNBOUNDED
171       monitoring_parameter:
172         type: tosca.capabilities.nfv.Metric
173         occurrences:
174         - 0
175         - UNBOUNDED
176     requirements:
177     - virtual_storage:
178         capability: tosca.capabilities.nfv.VirtualStorage
179         relationship: tosca.relationships.nfv.Vdu.AttachedTo
180         node: tosca.nodes.nfv.VDU.VirtualStorage
181         occurences:
182         - 0
183         - UNBOUNDED 
184     artifacts:
185       sw_image:
186         file:
187         type: tosca.artifacts.nfv.SwImage
188
189
190   tosca.nodes.nfv.Vdu.VirtualStorage:
191     derived_from: tosca.nodes.Root
192     properties:
193       #id:
194         # node name
195       type_of_storage:
196         type: string
197         constraints:
198         - valid_values: [volume, object, root, block]
199         required: true
200       size_of_storage:
201         type: scalar-unit.size
202         required: true
203       vdu_storage_requirements:
204         type: map
205         entry_schema:
206           type: string
207         required: false
208       rdma_enabled:
209         type: boolean
210         required: false
211     capabilities:
212       virtual_storage:
213         type: tosca.capabilities.nfv.VirtualStorage
214     artifacts:
215       sw_image:
216         file:
217         type: tosca.artifacts.Deployment.Image
218
219   tosca.nodes.nfv.ext.zte.VNF:
220     capabilities:
221       forwarder:
222         type: tosca.capabilities.nfv.Forwarder
223     derived_from: tosca.nodes.Root
224     properties:
225       request_reclassification:
226         required: false
227         type: boolean
228       domain_type:
229         required: false
230         type: string
231       nsh_aware:
232         required: false
233         type: boolean
234       plugin_info:
235         required: false
236         type: string
237       adjust_vnf_capacity:
238         required: false
239         type: boolean
240       vnfd_version:
241         required: false
242         type: string
243       vmnumber_overquota_alarm:
244         required: false
245         type: boolean
246       custom_properties:
247         entry_schema:
248           type: string
249         required: false
250         type: map
251       version:
252         required: false
253         type: string
254       cross_dc:
255         required: false
256         type: boolean
257       script_info:
258         required: false
259         type: string
260       vendor:
261         required: false
262         type: string
263       is_shared:
264         required: false
265         type: boolean
266       name:
267         required: false
268         type: string
269       vnf_extend_type:
270         required: false
271         type: string
272       id:
273         required: false
274         type: string
275       vnf_type:
276         required: false
277         type: string
278       is_sfc_proxy:
279         required: false
280         type: boolean
281     requirements:
282     - forwarder:
283         capability: tosca.capabilities.nfv.Forwarder
284         occurrences:
285         - 0
286         - UNBOUNDED
287     - virtualLink:
288         capability: tosca.capabilities.nfv.VirtualLinkable
289         occurrences:
290         - 0
291         - UNBOUNDED
292
293   tosca.nodes.nfv.Cp:
294     derived_from: tosca.nodes.Root
295     properties:
296       layer_protocol:
297         type: list
298         entry_schema:
299           type: string
300           constraints:
301             - valid_values: [ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ]
302         required: true
303       role: #Name in ETSI NFV IFA011 v0.7.3 cpRole
304         type: string
305         constraints:
306           - valid_values: [ root, leaf ]
307         required: false
308       description:
309         type: string
310         required: false
311       protocol_data:
312         type: list
313         entry_schema:
314           type: tosca.datatypes.nfv.CpProtocolData
315         required: true
316       trunk_mode:
317         type: boolean
318         required: true
319       allowed_address_data: # Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
320         type: tosca.datatypes.nfv.AddressData   #In the IM, it is a array, but here it is not a array. TBD.
321         required: false
322
323
324   tosca.nodes.nfv.VNF:
325     derived_from: tosca.nodes.Root
326     properties:
327       descriptor_id: # instead of vnfd_id
328         type: string # GUID
329         required: true
330       descriptor_version: # instead of vnfd_version
331         type: string
332         required: true
333       provider: # instead of vnf_provider
334         type: string
335         required: true
336       product_name: # instead of vnf_product_name
337         type: string
338         required: true
339       software_version: # instead of vnf_software_version
340         type: string
341         required: true
342       product_info_name: # instead of vnf_product_info_name
343         type: string
344         required: false
345       product_info_description: # instead of vnf_product_info_description
346         type: string
347         required: false
348       vnfm_info:
349         type: list
350         entry_schema:
351           type: string
352         required: true
353       localization_languages:
354         type: list
355         entry_schema:
356           type: string
357         required: false
358       default_localization_language:
359         type: string
360         required: false
361       configurable_properties:
362         type: tosca.datatypes.nfv.VnfConfigurableProperties
363         required: false
364         #        modifiable_attributes:
365         #          type: tosca.datatypes.nfv.VnfInfoModifiableAttributes
366         #          required: false  # true in IFA011, but all of members are false. Align with the IM, it is false
367       flavour_id:
368         type: string
369         required: true
370       flavour_description:
371         type: string
372         required: true
373     capabilities:
374       # monitoring_parameter:
375       # modelled as ad hoc capabilities in the VNF node template
376     requirements:
377     - virtual_link:
378         capability: tosca.capabilities.nfv.VirtualLinkable
379         relationship: tosca.relationships.nfv.VirtualLinksTo
380         node: tosca.nodes.nfv.VnfVirtualLink
381         occurrences:
382         - 0
383         - UNBOUNDED
384     interfaces:
385       Nfv:
386         type: tosca.interfaces.node.lifecycle.Standard
387
388   tosca.nodes.nfv.VduCp:
389     derived_from: tosca.nodes.nfv.Cp
390     properties:
391       bitrate_requirement:
392         type: integer
393         required: false
394       vnic_name: #  Aligned with ONAP R2 Im.not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
395         type: string
396         required: false
397       vnic_order: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0.
398         type: integer
399         required: false
400       vnic_type: # Aligned with ONAP R2 Im. not defined in IFA011 v2.4.1 and SOL001 v0.6.0
401         type: string
402         constraints:
403         - valid_values: [normal, macvtap, direct, baremetal, direct-physical, virtio-forwarder]
404         required: false
405       virtual_network_interface_requirements:
406         type: list
407         entry_schema:
408           type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
409         required: false
410         # order:      #there is no this attribute in IM.
411         #   type: integer
412         #   required: false
413         #   constraints:
414         #     - greater_or_equal: 0
415     requirements:
416     - virtual_link:
417         capability: tosca.capabilities.nfv.VirtualLinkable
418         relationship: tosca.relationships.nfv.VirtualLinksTo
419         node: tosca.nodes.nfv.VnfVirtualLink
420     - virtual_binding:
421         capability: tosca.capabilities.nfv.VirtualBindable
422         relationship: tosca.relationships.nfv.VirtualBindsTo
423         node: tosca.nodes.nfv.Vdu.Compute
424
425   tosca.nodes.nfv.VnfVirtualLink:
426     derived_from: tosca.nodes.Root
427     properties:
428       connectivity_type:
429         type: tosca.datatypes.nfv.ConnectivityType
430         required: true
431       description:
432         type: string
433         required: false
434       test_access:
435         type: list
436         entry_schema:
437           type: string
438         required: false
439       vl_profile:
440         type: tosca.datatypes.nfv.VlProfile
441         required: true
442     capabilities:
443       monitoring_parameter:   # this is not a very clear data structure enough to be coded, suggest to be annotated.
444         type: tosca.capabilities.nfv.Metric
445         occurrences:
446         - 0
447         - UNBOUNDED
448       virtual_linkable:
449         type: tosca.capabilities.nfv.VirtualLinkable