bf58cb552989dee3a90184ab7f7492972b5cfe55
[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             - dns_az_01
20             source_type: HEAT
21             param_name: vf_module_id
22       type: string
23       description: Unique ID for this VF module instance
24     dns_int_bearer_ips:
25       hidden: false
26       immutable: false
27       annotations:
28         source:
29           type: org.openecomp.annotations.Source
30           properties:
31             vf_module_label:
32             - dns_az_01
33             source_type: HEAT
34             param_name: dns_int_bearer_ips
35       type: list
36       description: DNS Bearer IP list
37       entry_schema:
38         type: string
39     vnf_name:
40       hidden: false
41       immutable: false
42       annotations:
43         source:
44           type: org.openecomp.annotations.Source
45           properties:
46             vf_module_label:
47             - dns_az_01
48             - base_dns
49             source_type: HEAT
50             param_name: vnf_name
51       type: string
52       description: Unique name for this VF instance
53     oam_protected_net_name:
54       hidden: false
55       immutable: false
56       annotations:
57         source:
58           type: org.openecomp.annotations.Source
59           properties:
60             vf_module_label:
61             - dns_az_01
62             source_type: HEAT
63             param_name: oam_protected_net_name
64       type: string
65       description: OAM network where instaces will connect
66     dns_oam_protected_ips:
67       hidden: false
68       immutable: false
69       annotations:
70         source:
71           type: org.openecomp.annotations.Source
72           properties:
73             vf_module_label:
74             - dns_az_01
75             source_type: HEAT
76             param_name: dns_oam_protected_ips
77       type: list
78       description: DNS OAM IP list
79       entry_schema:
80         type: string
81     dns_key:
82       hidden: false
83       immutable: false
84       annotations:
85         source:
86           type: org.openecomp.annotations.Source
87           properties:
88             vf_module_label:
89             - dns_az_01
90             source_type: HEAT
91             param_name: dns_key
92       type: string
93       description: creator's ssh public key
94     int_bearer_net_name:
95       hidden: false
96       immutable: false
97       annotations:
98         source:
99           type: org.openecomp.annotations.Source
100           properties:
101             vf_module_label:
102             - dns_az_01
103             source_type: HEAT
104             param_name: int_bearer_net_name
105       type: string
106       description: Bearer network where instaces will connect
107     route_eth0:
108       hidden: false
109       immutable: false
110       annotations:
111         source:
112           type: org.openecomp.annotations.Source
113           properties:
114             vf_module_label:
115             - dns_az_01
116             source_type: HEAT
117             param_name: route_eth0
118       type: string
119       description: OAM network routes
120     vnf_id:
121       hidden: false
122       immutable: false
123       annotations:
124         source:
125           type: org.openecomp.annotations.Source
126           properties:
127             vf_module_label:
128             - dns_az_01
129             source_type: HEAT
130             param_name: vnf_id
131       type: string
132       description: Unique ID for this VF instance
133     availability_zone_0:
134       hidden: false
135       immutable: false
136       annotations:
137         source:
138           type: org.openecomp.annotations.Source
139           properties:
140             vf_module_label:
141             - dns_az_01
142             source_type: HEAT
143             param_name: availability_zone_0
144       type: string
145       description: availability zone ID or Name
146     DNS_shared_sec_grp_id:
147       hidden: false
148       immutable: false
149       annotations:
150         source:
151           type: org.openecomp.annotations.Source
152           properties:
153             vf_module_label:
154             - dns_az_01
155             source_type: HEAT
156             param_name: DNS_shared_sec_grp_id
157       type: string
158       description: security group UUID
159     node_count:
160       hidden: false
161       immutable: false
162       annotations:
163         source:
164           type: org.openecomp.annotations.Source
165           properties:
166             vf_module_label:
167             - dns_az_01
168             source_type: HEAT
169             param_name: node_count
170       type: float
171       description: the number of DNS nested instances
172       default: 4
173     dns_image_name:
174       hidden: false
175       immutable: false
176       annotations:
177         source:
178           type: org.openecomp.annotations.Source
179           properties:
180             vf_module_label:
181             - dns_az_01
182             source_type: HEAT
183             param_name: dns_image_name
184       type: string
185       description: operative system image
186       default: NIMBUS_DNS_3.0.2.qcow2
187     dns_int_bearer_ipv6_ips:
188       hidden: false
189       immutable: false
190       annotations:
191         source:
192           type: org.openecomp.annotations.Source
193           properties:
194             vf_module_label:
195             - dns_az_01
196             source_type: HEAT
197             param_name: dns_int_bearer_ipv6_ips
198       type: list
199       description: fixed IP assignment for VM's on the Bearer network
200       entry_schema:
201         type: string
202     dns_server_names:
203       hidden: false
204       immutable: false
205       annotations:
206         source:
207           type: org.openecomp.annotations.Source
208           properties:
209             vf_module_label:
210             - dns_az_01
211             source_type: HEAT
212             param_name: dns_server_names
213       type: list
214       description: DNS VM server name list
215       entry_schema:
216         type: string
217     dns_flavor_name:
218       hidden: false
219       immutable: false
220       annotations:
221         source:
222           type: org.openecomp.annotations.Source
223           properties:
224             vf_module_label:
225             - dns_az_01
226             source_type: HEAT
227             param_name: dns_flavor_name
228       type: string
229       description: resources to by appplied on instances
230       default: nv.c4r4d80
231   node_templates:
232     dns_server_group_az:
233       type: org.openecomp.resource.abstract.nodes.heat.dns_nested_01
234       directives:
235       - substitutable
236       properties:
237         vf_module_id:
238           get_input: vf_module_id
239         name_with_index:
240           concat:
241           - name_
242           - get_property:
243             - SELF
244             - service_template_filter
245             - index_value
246         dns_int_bearer_ips:
247           get_input: dns_int_bearer_ips
248         vnf_name:
249           get_input: vnf_name
250         index:
251           get_property:
252           - SELF
253           - service_template_filter
254           - index_value
255         security_group:
256           get_input: DNS_shared_sec_grp_id
257         oam_protected_net_name:
258           get_input: oam_protected_net_name
259         dns_oam_protected_ips:
260           get_input: dns_oam_protected_ips
261         dns_key:
262           get_input: dns_key
263         int_bearer_net_name:
264           get_input: int_bearer_net_name
265         route_eth0:
266           get_input: route_eth0
267         service_template_filter:
268           substitute_service_template: dns_nested_01ServiceTemplate.yaml
269           count:
270             get_input: node_count
271           mandatory: false
272         dns_names:
273           get_input: dns_server_names
274         vnf_id:
275           get_input: vnf_id
276         availability_zone_0:
277           get_input: availability_zone_0
278         dns_image_name:
279           get_input: dns_image_name
280         dns_int_bearer_ipv6_ips:
281           get_input: dns_int_bearer_ipv6_ips
282         dns_flavor_name:
283           get_input: dns_flavor_name
284     DNS_SECURITY_GROUP:
285       type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules
286       properties:
287         name:
288           str_replace:
289             template: VF_NAME_sec_grp_DNS
290             params:
291               VF_NAME:
292                 get_input: vnf_name
293         description: vscp security group
294         rules:
295         - protocol: tcp
296           ethertype: IPv4
297           port_range_max: 65535
298           remote_ip_prefix: 0.0.0.0/0
299           direction: egress
300           port_range_min: 1
301         - protocol: udp
302           ethertype: IPv4
303           port_range_max: 65535
304           remote_ip_prefix: 0.0.0.0/0
305           direction: egress
306           port_range_min: 1
307         - protocol: icmp
308           ethertype: IPv4
309           remote_ip_prefix: 0.0.0.0/0
310           direction: egress
311         - protocol: tcp
312           ethertype: IPv4
313           port_range_max: 65535
314           remote_ip_prefix: 0.0.0.0/0
315           direction: ingress
316           port_range_min: 1
317         - protocol: udp
318           ethertype: IPv4
319           port_range_max: 65535
320           remote_ip_prefix: 0.0.0.0/0
321           direction: ingress
322           port_range_min: 1
323         - protocol: icmp
324           ethertype: IPv4
325           remote_ip_prefix: 0.0.0.0/0
326           direction: ingress
327       requirements:
328       - port:
329           capability: attachment_dns_oam_protected_0_port
330           node: dns_server_group_az
331           relationship: org.openecomp.relationships.AttachesTo
332       - port:
333           capability: attachment_dns_int_bearer_0_port
334           node: dns_server_group_az
335           relationship: org.openecomp.relationships.AttachesTo
336   groups:
337     base_dns_group:
338       type: org.openecomp.groups.heat.HeatStack
339       properties:
340         heat_file: ../Artifacts/base_dns.yaml
341         description: |
342           Base HOT template to create The Security Group for the the DNS VNF
343       members:
344       - DNS_SECURITY_GROUP
345     dns_az_01_group:
346       type: org.openecomp.groups.heat.HeatStack
347       properties:
348         heat_file: ../Artifacts/dns_az_01.yaml
349         description: DNS master template
350       members:
351       - dns_server_group_az