226d35e920ec5cf7d522fd27887348eeb9423cfa
[sdc.git] /
1 tosca_definitions_version: tosca_simple_yaml_1_0_0
2 metadata:
3   template_name: Main
4 imports:
5 - openecomp_heat_index:
6     file: openecomp-heat/_index.yml
7 - GlobalSubstitutionTypes:
8     file: GlobalSubstitutionTypesServiceTemplate.yaml
9 topology_template:
10   inputs:
11     vf_module_id:
12       hidden: false
13       immutable: false
14       annotations:
15         source:
16           type: org.openecomp.annotations.Source
17           properties:
18             vf_module_label:
19             - main
20             source_type: HEAT
21             param_name: vf_module_id
22       type: string
23       description: Unique ID for this VF module inst
24     fabric_int_net_rpf:
25       hidden: false
26       immutable: false
27       annotations:
28         source:
29           type: org.openecomp.annotations.Source
30           properties:
31             vf_module_label:
32             - main
33             source_type: HEAT
34             param_name: fabric_int_net_rpf
35       type: string
36       description: Reverse Path Filtering enable or disable for the fabric virtual network
37     control_int_net_rpf:
38       hidden: false
39       immutable: false
40       annotations:
41         source:
42           type: org.openecomp.annotations.Source
43           properties:
44             vf_module_label:
45             - main
46             source_type: HEAT
47             param_name: control_int_net_rpf
48       type: string
49       description: Reverse Path Filtering enable or disable for the control virtual network
50     control_int_net_forwarding_mode:
51       hidden: false
52       immutable: false
53       annotations:
54         source:
55           type: org.openecomp.annotations.Source
56           properties:
57             vf_module_label:
58             - main
59             source_type: HEAT
60             param_name: control_int_net_forwarding_mode
61       type: string
62       description: forwarding mode of the control virtual network
63     vnf_name:
64       hidden: false
65       immutable: false
66       annotations:
67         source:
68           type: org.openecomp.annotations.Source
69           properties:
70             vf_module_label:
71             - main
72             source_type: HEAT
73             param_name: vnf_name
74       type: string
75       description: Unique name for this VF instance
76     vdbe_untrusted_ip_1:
77       hidden: false
78       immutable: false
79       annotations:
80         source:
81           type: org.openecomp.annotations.Source
82           properties:
83             vf_module_label:
84             - main
85             source_type: HEAT
86             param_name: vdbe_untrusted_ip_1
87       type: string
88       description: IPV4 address of the secondary vDBE VM on the VAN untrusted network
89     vdbe_aap_untrusted_ip_prefix_len:
90       hidden: false
91       immutable: false
92       annotations:
93         source:
94           type: org.openecomp.annotations.Source
95           properties:
96             vf_module_label:
97             - main
98             source_type: HEAT
99             param_name: vdbe_aap_untrusted_ip_prefix_len
100       type: string
101       description: ip prefix length for the primary vDBE VM on the VAN untrusted network
102     untrusted_num_vn:
103       hidden: false
104       immutable: false
105       annotations:
106         source:
107           type: org.openecomp.annotations.Source
108           properties:
109             vf_module_label:
110             - main
111             source_type: HEAT
112             param_name: untrusted_num_vn
113       type: float
114       description: Number of vDBE subinterface virtual Networks
115       constraints:
116       - in_range:
117         - 1
118         - 77
119     aap_address_mode:
120       hidden: false
121       immutable: false
122       annotations:
123         source:
124           type: org.openecomp.annotations.Source
125           properties:
126             vf_module_label:
127             - main
128             source_type: HEAT
129             param_name: aap_address_mode
130       type: string
131       description: Address mode for the vDBE cluster IP
132     control_int_net_shared:
133       hidden: false
134       immutable: false
135       annotations:
136         source:
137           type: org.openecomp.annotations.Source
138           properties:
139             vf_module_label:
140             - main
141             source_type: HEAT
142             param_name: control_int_net_shared
143       type: boolean
144       description: control virtual network shared
145     vdbe_untrusted_v6_ip_1:
146       hidden: false
147       immutable: false
148       annotations:
149         source:
150           type: org.openecomp.annotations.Source
151           properties:
152             vf_module_label:
153             - main
154             source_type: HEAT
155             param_name: vdbe_untrusted_v6_ip_1
156       type: string
157       description: IPV6 address of the secondary vDBE VM on the VAN untrusted network
158     vdbe_untrusted_vmac_address:
159       hidden: false
160       immutable: false
161       annotations:
162         source:
163           type: org.openecomp.annotations.Source
164           properties:
165             vf_module_label:
166             - main
167             source_type: HEAT
168             param_name: vdbe_untrusted_vmac_address
169       type: string
170       description: Virtual MAC of the primary vDBE VM on the VAN untrusted network
171     control_int_net_flood_unknown_unicast:
172       hidden: false
173       immutable: false
174       annotations:
175         source:
176           type: org.openecomp.annotations.Source
177           properties:
178             vf_module_label:
179             - main
180             source_type: HEAT
181             param_name: control_int_net_flood_unknown_unicast
182       type: boolean
183       description: forwarding mode of the control virtual network
184     vdbe_aap_sec_untrusted_ip_prefix:
185       hidden: false
186       immutable: false
187       annotations:
188         source:
189           type: org.openecomp.annotations.Source
190           properties:
191             vf_module_label:
192             - main
193             source_type: HEAT
194             param_name: vdbe_aap_sec_untrusted_ip_prefix
195       type: string
196       description: ip prefix for secondary vDBE VM aap on the VAN untrusted network
197     vnf_id:
198       hidden: false
199       immutable: false
200       annotations:
201         source:
202           type: org.openecomp.annotations.Source
203           properties:
204             vf_module_label:
205             - main
206             source_type: HEAT
207             param_name: vnf_id
208       type: string
209       description: Unique ID for this VF inst
210     vdbe_name_1:
211       hidden: false
212       immutable: false
213       annotations:
214         source:
215           type: org.openecomp.annotations.Source
216           properties:
217             vf_module_label:
218             - main
219             source_type: HEAT
220             param_name: vdbe_name_1
221       type: string
222       description: VM Name for this vdbe node 1
223     availability_zone_1:
224       hidden: false
225       immutable: false
226       annotations:
227         source:
228           type: org.openecomp.annotations.Source
229           properties:
230             vf_module_label:
231             - main
232             source_type: HEAT
233             param_name: availability_zone_1
234       type: string
235       description: The availability zone of secondary node1 vDBE vm in the local HA pair.
236     untrusted_vn_networks:
237       hidden: false
238       immutable: false
239       annotations:
240         source:
241           type: org.openecomp.annotations.Source
242           properties:
243             vf_module_label:
244             - main
245             source_type: HEAT
246             param_name: untrusted_vn_networks
247       type: list
248       description: List of subinterface virtual networks
249       entry_schema:
250         type: string
251     vdbe_image_name:
252       hidden: false
253       immutable: false
254       annotations:
255         source:
256           type: org.openecomp.annotations.Source
257           properties:
258             vf_module_label:
259             - main
260             source_type: HEAT
261             param_name: vdbe_image_name
262       type: string
263       description: Image to use for vDBE
264     oam_net_name:
265       hidden: false
266       immutable: false
267       annotations:
268         source:
269           type: org.openecomp.annotations.Source
270           properties:
271             vf_module_label:
272             - main
273             source_type: HEAT
274             param_name: oam_net_name
275       type: string
276       description: Name of NSDNet network from which the management IP addresses will be allocated
277     vdbe_aap_sec_untrusted_ip_prefix_len:
278       hidden: false
279       immutable: false
280       annotations:
281         source:
282           type: org.openecomp.annotations.Source
283           properties:
284             vf_module_label:
285             - main
286             source_type: HEAT
287             param_name: vdbe_aap_sec_untrusted_ip_prefix_len
288       type: string
289       description: ip prefix length for the secondary DBE VM aap on the VAN untrusted network
290     vdbe_aap_untrusted_v6_ip_prefix:
291       hidden: false
292       immutable: false
293       annotations:
294         source:
295           type: org.openecomp.annotations.Source
296           properties:
297             vf_module_label:
298             - main
299             source_type: HEAT
300             param_name: vdbe_aap_untrusted_v6_ip_prefix
301       type: string
302       description: ipv6 prefix for the primary vDBE VM on the VAN untrusted network
303     vdbe_aap_untrusted_v6_ip_prefix_len:
304       hidden: false
305       immutable: false
306       annotations:
307         source:
308           type: org.openecomp.annotations.Source
309           properties:
310             vf_module_label:
311             - main
312             source_type: HEAT
313             param_name: vdbe_aap_untrusted_v6_ip_prefix_len
314       type: string
315       description: ipv6 prefix length for the primary vDBE VM on the VAN untrusted network
316     fabric_int_net_flood_unknown_unicast:
317       hidden: false
318       immutable: false
319       annotations:
320         source:
321           type: org.openecomp.annotations.Source
322           properties:
323             vf_module_label:
324             - main
325             source_type: HEAT
326             param_name: fabric_int_net_flood_unknown_unicast
327       type: boolean
328       description: forwarding mode of the fabric virtual network
329     oam_network_collection_function:
330       type: string
331       required: true
332     untrusted_vlan_tags:
333       hidden: false
334       immutable: false
335       annotations:
336         source:
337           type: org.openecomp.annotations.Source
338           properties:
339             vf_module_label:
340             - main
341             source_type: HEAT
342             param_name: untrusted_vlan_tags
343       type: list
344       description: List of subinterface vlan tags
345       entry_schema:
346         type: string
347     untr_network_collection_function:
348       type: string
349       required: true
350     untr_vfc_instance_group_function:
351       type: string
352       required: true
353     vdbe_flavor_name:
354       hidden: false
355       immutable: false
356       annotations:
357         source:
358           type: org.openecomp.annotations.Source
359           properties:
360             vf_module_label:
361             - main
362             source_type: HEAT
363             param_name: vdbe_flavor_name
364       type: string
365       description: Flavor to use for vDBE
366     counter:
367       hidden: false
368       immutable: false
369       annotations:
370         source:
371           type: org.openecomp.annotations.Source
372           properties:
373             vf_module_label:
374             - main
375             source_type: HEAT
376             param_name: counter
377       type: float
378       description: Counter.
379     fabric_int_net_forwarding_mode:
380       hidden: false
381       immutable: false
382       annotations:
383         source:
384           type: org.openecomp.annotations.Source
385           properties:
386             vf_module_label:
387             - main
388             source_type: HEAT
389             param_name: fabric_int_net_forwarding_mode
390       type: string
391       description: forwarding mode of the fabric virtual network
392     fabric_int_net_shared:
393       hidden: false
394       immutable: false
395       annotations:
396         source:
397           type: org.openecomp.annotations.Source
398           properties:
399             vf_module_label:
400             - main
401             source_type: HEAT
402             param_name: fabric_int_net_shared
403       description: fabric virtual network shared
404     oam_vfc_instance_group_function:
405       type: string
406       required: true
407     vdbe_hw_untr_mac_1:
408       hidden: false
409       immutable: false
410       annotations:
411         source:
412           type: org.openecomp.annotations.Source
413           properties:
414             vf_module_label:
415             - main
416             source_type: HEAT
417             param_name: vdbe_hw_untr_mac_1
418       type: string
419       description: Secondary MAC address of the secondary vDBE VM on the VAN untrusted network
420     untrusted_net_name:
421       hidden: false
422       immutable: false
423       annotations:
424         source:
425           type: org.openecomp.annotations.Source
426           properties:
427             vf_module_label:
428             - main
429             source_type: HEAT
430             param_name: untrusted_net_name
431       type: string
432       description: Name of public untrusted network into which this vDBE HA cluster is deployed
433     vdbe_device_name:
434       hidden: false
435       immutable: false
436       annotations:
437         source:
438           type: org.openecomp.annotations.Source
439           properties:
440             vf_module_label:
441             - main
442             source_type: HEAT
443             param_name: vdbe_device_name
444       type: string
445       description: VDBE device Name for this vdbe VNF
446     vdbe_aap_untrusted_ip_prefix:
447       hidden: false
448       immutable: false
449       annotations:
450         source:
451           type: org.openecomp.annotations.Source
452           properties:
453             vf_module_label:
454             - main
455             source_type: HEAT
456             param_name: vdbe_aap_untrusted_ip_prefix
457       type: string
458       description: ip prefix for primary vDBE VM on the VAN untrusted network
459   node_templates:
460     fabric_int_net:
461       type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
462       properties:
463         network_name:
464           str_replace:
465             template: template-fabric-int
466             params:
467               VNF_NAME:
468                 get_input: vnf_name
469     control_int_net:
470       type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
471       properties:
472         network_name:
473           str_replace:
474             template: VNF_NAME_control_net
475             params:
476               VNF_NAME:
477                 get_input: vnf_name
478     abstract_vdbe:
479       type: org.openecomp.resource.abstract.nodes.vdbe
480       directives:
481       - substitutable
482       properties:
483         subinterface_vlan1_aap_untrusted_v6_ip_prefix:
484         - get_input: vdbe_aap_untrusted_v6_ip_prefix
485         - get_input: vdbe_aap_untrusted_v6_ip_prefix
486         subinterface_vlan1_aap_sec_untrusted_ip_prefix:
487         - get_input: vdbe_aap_sec_untrusted_ip_prefix
488         - get_input: vdbe_aap_sec_untrusted_ip_prefix
489         port_vdbe_oam_vmi_virtual_machine_interface_mac_addresses:
490         - - get_input: vdbe_hw_untr_mac_1
491         - - get_input: vdbe_hw_untr_mac_1
492         subinterface_vlan1_vmac_address:
493         - get_input: vdbe_untrusted_vmac_address
494         - get_input: vdbe_untrusted_vmac_address
495         compute_vdbe_availability_zone:
496         - get_input: availability_zone_1
497         - get_input: availability_zone_1
498         vm_flavor_name:
499           get_input: vdbe_flavor_name
500         subinterface_vlan1_counter:
501         - get_input: counter
502         - get_input: counter
503         subinterface_vlan2_aap_untrusted_v6_ip_prefix:
504         - get_input: vdbe_aap_untrusted_v6_ip_prefix
505         - get_input: vdbe_aap_untrusted_v6_ip_prefix
506         vm_image_name:
507           get_input: vdbe_image_name
508         compute_vdbe_metadata:
509         - vf_module_id:
510             get_input: vf_module_id
511           vnf_id:
512             get_input: vnf_id
513           vnf_name:
514             get_input: vnf_name
515         - vf_module_id:
516             get_input: vf_module_id
517           vnf_id:
518             get_input: vnf_id
519           vnf_name:
520             get_input: vnf_name
521         subinterface_vlan1_aap_untrusted_v6_ip_prefix_len:
522         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
523         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
524         port_vdbe_oam_vmi_virtual_network_refs:
525         - - fabric_int_net
526         - - fabric_int_net
527         port_vdbe_oam_vmi_name:
528         - Port_2
529         - Port_4
530         subinterface_vlan2_ip_address:
531         - get_input: vdbe_untrusted_ip_1
532         - get_input: vdbe_untrusted_ip_1
533         subinterface_vlan2_ip_v6_address:
534         - get_input: vdbe_untrusted_v6_ip_1
535         - get_input: vdbe_untrusted_v6_ip_1
536         subinterface_vlan2_parent_interface:
537         - vdbe_1_oam_vmi_1
538         - vdbe_2_oam_vmi_2
539         subinterface_vlan2_aap_address_mode:
540         - get_input: aap_address_mode
541         - get_input: aap_address_mode
542         subinterface_vlan1_mac_address:
543         - get_input: vdbe_hw_untr_mac_1
544         - get_input: vdbe_hw_untr_mac_1
545         subinterface_vlan2_mac_address:
546         - get_input: vdbe_hw_untr_mac_1
547         - get_input: vdbe_hw_untr_mac_1
548         subinterface_vlan1_aap_untrusted_ip_prefix_len:
549         - get_input: vdbe_aap_untrusted_ip_prefix_len
550         - get_input: vdbe_aap_untrusted_ip_prefix_len
551         subinterface_vlan1_ip_address:
552         - get_input: vdbe_untrusted_ip_1
553         - get_input: vdbe_untrusted_ip_1
554         subinterface_vlan2_aap_sec_untrusted_ip_prefix:
555         - get_input: vdbe_aap_sec_untrusted_ip_prefix
556         - get_input: vdbe_aap_sec_untrusted_ip_prefix
557         port_vdbe_untr_vmi_name:
558         - str_replace:
559             template: VM_NAMEDBE001p1n004
560             params:
561               DBE:
562                 get_input: vdbe_device_name
563               VM_NAME:
564                 get_input: vdbe_name_1
565         - str_replace:
566             template: Port 3
567             params:
568               DBE:
569                 get_input: vdbe_device_name
570               VM_NAME:
571                 get_input: vdbe_name_1
572         compute_vdbe_name:
573         - get_input: vdbe_name_1
574         - get_input: vdbe_name_1
575         subinterface_vlan2_aap_untrusted_ip_prefix:
576         - get_input: vdbe_aap_untrusted_ip_prefix
577         - get_input: vdbe_aap_untrusted_ip_prefix
578         subinterface_vlan1_ip_v6_address:
579         - get_input: vdbe_untrusted_v6_ip_1
580         - get_input: vdbe_untrusted_v6_ip_1
581         subinterface_vlan2_vmac_address:
582         - get_input: vdbe_untrusted_vmac_address
583         - get_input: vdbe_untrusted_vmac_address
584         subinterface_vlan1_aap_untrusted_ip_prefix:
585         - get_input: vdbe_aap_untrusted_ip_prefix
586         - get_input: vdbe_aap_untrusted_ip_prefix
587         subinterface_vlan2_vn_network_list:
588         - fabric_int_net
589         - fabric_int_net
590         port_vdbe_untr_vmi_virtual_machine_interface_mac_addresses:
591         - - get_input: vdbe_hw_untr_mac_1
592         - - get_input: vdbe_hw_untr_mac_1
593         subinterface_vlan1_subinterfaces_name_prefix:
594         - str_replace:
595             template: VM_NAMEDBE001p1n004
596             params:
597               DBE:
598                 get_input: vdbe_device_name
599               VM_NAME:
600                 get_input: vdbe_name_1
601         - str_replace:
602             template: VM_NAMEDBE001p1n004
603             params:
604               DBE:
605                 get_input: vdbe_device_name
606               VM_NAME:
607                 get_input: vdbe_name_1
608         port_vdbe_untr_vmi_virtual_network_refs:
609         - - control_int_net
610         - - control_int_net
611         subinterface_vlan2_vlan_tag_list:
612         - get_input: untrusted_vlan_tags
613         - get_input: untrusted_vlan_tags
614         subinterface_vlan1_vn_network_list:
615         - get_input: untrusted_vn_networks
616         - get_input: untrusted_vn_networks
617         subinterface_vlan2_aap_sec_untrusted_ip_prefix_len:
618         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
619         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
620         subinterface_vlan1_service_template_filter_count:
621         - get_input: untrusted_num_vn
622         - get_input: untrusted_num_vn
623         subinterface_vlan2_counter:
624         - get_input: counter
625         - get_input: counter
626         subinterface_vlan1_parent_interface:
627         - vdbe_1_untr_vmi_1
628         - vdbe_1_untr_vmi_2
629         subinterface_vlan1_aap_address_mode:
630         - get_input: aap_address_mode
631         - get_input: aap_address_mode
632         subinterface_vlan2_aap_untrusted_ip_prefix_len:
633         - get_input: vdbe_aap_untrusted_ip_prefix_len
634         - get_input: vdbe_aap_untrusted_ip_prefix_len
635         subinterface_vlan2_subinterfaces_name_prefix:
636         - str_replace:
637             template: VM_NAMEDBE001p1n004
638             params:
639               DBE:
640                 get_input: vdbe_device_name
641               VM_NAME:
642                 get_input: vdbe_name_1
643         - str_replace:
644             template: VM_NAMEDBE001p1n004
645             params:
646               DBE:
647                 get_input: vdbe_device_name
648               VM_NAME:
649                 get_input: vdbe_name_1
650         subinterface_vlan2_aap_untrusted_v6_ip_prefix_len:
651         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
652         - get_input: vdbe_aap_untrusted_v6_ip_prefix_len
653         subinterface_vlan2_service_template_filter_count:
654         - 5
655         - 5
656         subinterface_vlan1_aap_sec_untrusted_ip_prefix_len:
657         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
658         - get_input: vdbe_aap_sec_untrusted_ip_prefix_len
659         subinterface_vlan1_vlan_tag_list:
660         - get_input: untrusted_vlan_tags
661         - get_input: untrusted_vlan_tags
662         service_template_filter:
663           substitute_service_template: Nested_vdbeServiceTemplate.yaml
664           count: 2
665         index_value:
666           get_property:
667           - SELF
668           - service_template_filter
669           - index_value
670       requirements:
671       - link_vdbe_vdbe_untr_vmi:
672           capability: tosca.capabilities.network.Linkable
673           node: control_int_net
674           relationship: tosca.relationships.network.LinksTo
675       - link_vdbe_vdbe_oam_vmi:
676           capability: tosca.capabilities.network.Linkable
677           node: fabric_int_net
678           relationship: tosca.relationships.network.LinksTo
679       - subinterface_link_vdbe_1_subint_oam_vmi_1_vdbe_vdbe_oam_vmi_vlan2:
680           capability: tosca.capabilities.network.Linkable
681           node: fabric_int_net
682           relationship: tosca.relationships.network.LinksTo
683   groups:
684     main_group:
685       type: org.openecomp.groups.heat.HeatStack
686       properties:
687         heat_file: ../Artifacts/main.yml
688         description: |
689           Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
690       members:
691       - fabric_int_net
692       - control_int_net
693       - abstract_vdbe
694     untr_group:
695       type: org.openecomp.groups.VfcInstanceGroup
696       properties:
697         vfc_parent_port_role: untr
698         network_collection_function:
699           get_input: untr_network_collection_function
700         vfc_instance_group_function:
701           get_input: untr_vfc_instance_group_function
702         subinterface_role: untr
703       members:
704       - abstract_vdbe
705     oam_group:
706       type: org.openecomp.groups.VfcInstanceGroup
707       properties:
708         vfc_parent_port_role: oam
709         network_collection_function:
710           get_input: oam_network_collection_function
711         vfc_instance_group_function:
712           get_input: oam_vfc_instance_group_function
713         subinterface_role: oam
714       members:
715       - abstract_vdbe