1ce813d1b6169a03c8a2bdbc7d22a3c2183d3cb6
[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     oam_net_ips:
12       label: OAM network ips
13       hidden: false
14       immutable: false
15       type: list
16       description: OAM network ips
17       default:
18       - 107.239.64.121
19       entry_schema:
20         type: string
21     availabilityzone_name:
22       label: availabilityzone name
23       hidden: false
24       immutable: false
25       type: string
26       description: availabilityzone name
27       default: nova
28     oam_net_gw:
29       label: CPS network gateway
30       hidden: false
31       immutable: false
32       type: string
33       description: CPS network gateway
34       default: 107.239.64.1
35     pcm_server_names:
36       label: PCRF CM server names
37       hidden: false
38       immutable: false
39       type: list
40       description: name of the PCRF CM instance
41       default:
42       - ZRDM1PCRF01PCM001
43       entry_schema:
44         type: string
45     pcm_image_name:
46       label: PCRF CM image name
47       hidden: false
48       immutable: false
49       type: string
50       description: PCRF CM image name
51       default: rhel2
52     cps_net_ips:
53       label: CPS network ips
54       hidden: false
55       immutable: false
56       type: list
57       description: CPS network ips
58       default:
59       - 172.26.16.113
60       entry_schema:
61         type: string
62     oam_flavor_name:
63       label: PCRF CM flavor name
64       hidden: false
65       immutable: false
66       type: string
67       description: flavor name of PCRF CM instance
68       default: cps
69     security_group_name:
70       label: security group name
71       hidden: false
72       immutable: false
73       type: string
74       description: the name of security group
75       default: nimbus_security_group
76     pcm_volumes:
77       label: CPS Cluman Cinder Volume
78       hidden: false
79       immutable: false
80       type: list
81       description: CPS Cluman Cinder Volume
82       default:
83       - 249cb355-8fdf-4382-9c3c-a2ebe767d45b
84       entry_schema:
85         type: string
86     compute_image_name:
87       hidden: false
88       immutable: false
89       type: string
90     pcm_flavor_name:
91       label: PCRF CM flavor name
92       hidden: false
93       immutable: false
94       type: string
95       description: flavor name of PCRF CM instance
96       default: cps
97     net_name:
98       hidden: false
99       immutable: false
100       type: string
101     oam_image_name:
102       label: PCRF CM image name
103       hidden: false
104       immutable: false
105       type: string
106       description: PCRF CM image name
107       default: rhel2
108     oam_server_names:
109       label: PCRF CM server names
110       hidden: false
111       immutable: false
112       type: list
113       description: name of the PCRF CM instance
114       default:
115       - ZRDM1PCRF01PCM001
116       entry_schema:
117         type: string
118     cps_net_name:
119       label: CPS network name
120       hidden: false
121       immutable: false
122       type: string
123       description: CPS network name
124       default: int_pcrf_net_0
125     cps_net_mask:
126       label: CPS network mask
127       hidden: false
128       immutable: false
129       type: string
130       description: CPS network mask
131       default: 255.255.255.0
132     oam_net_mask:
133       label: CPS network mask
134       hidden: false
135       immutable: false
136       type: string
137       description: CPS network mask
138       default: 255.255.255.0
139     oam_net_name:
140       label: OAM network name
141       hidden: false
142       immutable: false
143       type: string
144       description: OAM network name
145       default: oam_protected_net_0
146   node_templates:
147     server_pcm_002:
148       type: org.openecomp.resource.abstract.nodes.heat.pcm_server
149       directives:
150       - substitutable
151       properties:
152         pcm_flavor_name:
153           get_input: pcm_flavor_name
154         service_template_filter:
155           substitute_service_template: nested-pcm_v0.1ServiceTemplate.yaml
156         port_pcm_port_1_network_role_tag: oam
157         availabilityzone_name:
158           get_input: availabilityzone_name
159         port_pcm_port_0_ip_requirements:
160         - ip_version: 4
161           ip_count_required:
162             is_required: true
163           floating_ip_count_required:
164             is_required: false
165         pcm_image_name:
166           get_input: pcm_image_name
167         port_pcm_port_1_mac_requirements:
168           mac_count_required:
169             is_required: false
170         port_pcm_port_1_ip_requirements:
171         - ip_version: 4
172           ip_count_required:
173             is_required: true
174           floating_ip_count_required:
175             is_required: false
176         port_pcm_port_0_network_role_tag: cps
177         port_pcm_port_0_mac_requirements:
178           mac_count_required:
179             is_required: false
180         pcm_server_name:
181           get_input:
182           - pcm_server_names
183           - 0
184       requirements:
185       - dependency_pcm_port_1:
186           capability: tosca.capabilities.Node
187           node: tosca.nodes.Root
188           relationship: tosca.relationships.DependsOn
189       - link_pcm_port_1:
190           capability: tosca.capabilities.network.Linkable
191           relationship: tosca.relationships.network.LinksTo
192       - dependency_server_pcm:
193           capability: tosca.capabilities.Node
194           node: tosca.nodes.Root
195           relationship: tosca.relationships.DependsOn
196       - local_storage_server_pcm:
197           capability: tosca.capabilities.Attachment
198           node: tosca.nodes.BlockStorage
199           relationship: tosca.relationships.AttachesTo
200       - dependency_pcm_port_0:
201           capability: tosca.capabilities.Node
202           node: tosca.nodes.Root
203           relationship: tosca.relationships.DependsOn
204       - link_pcm_port_0:
205           capability: tosca.capabilities.network.Linkable
206           relationship: tosca.relationships.network.LinksTo
207     server_oam_001:
208       type: org.openecomp.resource.abstract.nodes.heat.oam_server
209       directives:
210       - substitutable
211       properties:
212         port_pcm_port_1_network_role_tag: oam
213         availabilityzone_name:
214           get_input: availabilityzone_name
215         port_pcm_port_0_ip_requirements:
216         - ip_version: 4
217           ip_count_required:
218             is_required: true
219           floating_ip_count_required:
220             is_required: false
221         oam_net_gw:
222           get_input: oam_net_gw
223         oam_flavor_name:
224           get_input: oam_flavor_name
225         security_group_name:
226           get_input: security_group_name
227         cps_net_ip:
228           get_input:
229           - cps_net_ips
230           - 0
231         oam_server_name:
232           get_input:
233           - oam_server_names
234           - 0
235         port_pcm_port_1_mac_requirements:
236           mac_count_required:
237             is_required: false
238         service_template_filter:
239           substitute_service_template: nested-oam_v0.1ServiceTemplate.yaml
240         pcm_vol:
241           get_input:
242           - pcm_volumes
243           - 0
244         port_pcm_port_1_ip_requirements:
245         - ip_version: 4
246           ip_count_required:
247             is_required: true
248           floating_ip_count_required:
249             is_required: false
250         port_pcm_port_0_network_role_tag: cps
251         port_pcm_port_0_mac_requirements:
252           mac_count_required:
253             is_required: false
254         oam_image_name:
255           get_input: oam_image_name
256         cps_net_name:
257           get_input: cps_net_name
258         cps_net_mask:
259           get_input: cps_net_mask
260         oam_net_ip:
261           get_input:
262           - oam_net_ips
263           - 0
264         oam_net_mask:
265           get_input: oam_net_mask
266         oam_net_name:
267           get_input: oam_net_name
268       requirements:
269       - dependency_server_oam:
270           capability: tosca.capabilities.Node
271           node: tosca.nodes.Root
272           relationship: tosca.relationships.DependsOn
273       - local_storage_server_oam:
274           capability: tosca.capabilities.Attachment
275           node: tosca.nodes.BlockStorage
276           relationship: tosca.relationships.AttachesTo
277       - dependency_pcm_port_1:
278           capability: tosca.capabilities.Node
279           node: tosca.nodes.Root
280           relationship: tosca.relationships.DependsOn
281       - link_pcm_port_1:
282           capability: tosca.capabilities.network.Linkable
283           relationship: tosca.relationships.network.LinksTo
284       - dependency_pcm_port_0:
285           capability: tosca.capabilities.Node
286           node: tosca.nodes.Root
287           relationship: tosca.relationships.DependsOn
288       - link_pcm_port_0:
289           capability: tosca.capabilities.network.Linkable
290           relationship: tosca.relationships.network.LinksTo
291     server_pcm_001:
292       type: org.openecomp.resource.abstract.nodes.heat.pcm_server
293       directives:
294       - substitutable
295       properties:
296         port_pcm_port_1_network_role_tag: oam
297         availabilityzone_name:
298           get_input: availabilityzone_name
299         port_pcm_port_0_ip_requirements:
300         - ip_version: 4
301           ip_count_required:
302             is_required: true
303           floating_ip_count_required:
304             is_required: false
305         oam_net_gw:
306           get_input: oam_net_gw
307         pcm_image_name:
308           get_input: pcm_image_name
309         security_group_name:
310           get_input: security_group_name
311         cps_net_ip:
312           get_input:
313           - cps_net_ips
314           - 0
315         port_pcm_port_1_mac_requirements:
316           mac_count_required:
317             is_required: false
318         pcm_flavor_name:
319           get_input: pcm_flavor_name
320         service_template_filter:
321           substitute_service_template: nested-pcm_v0.1ServiceTemplate.yaml
322         pcm_vol:
323           get_input:
324           - pcm_volumes
325           - 0
326         port_pcm_port_1_ip_requirements:
327         - ip_version: 4
328           ip_count_required:
329             is_required: true
330           floating_ip_count_required:
331             is_required: false
332         port_pcm_port_0_network_role_tag: cps
333         port_pcm_port_0_mac_requirements:
334           mac_count_required:
335             is_required: false
336         pcm_server_name:
337           get_input:
338           - pcm_server_names
339           - 0
340         cps_net_name:
341           get_input: cps_net_name
342         cps_net_mask:
343           get_input: cps_net_mask
344         oam_net_ip:
345           get_input:
346           - oam_net_ips
347           - 0
348         oam_net_mask:
349           get_input: oam_net_mask
350         oam_net_name:
351           get_input: oam_net_name
352       requirements:
353       - dependency_pcm_port_1:
354           capability: tosca.capabilities.Node
355           node: tosca.nodes.Root
356           relationship: tosca.relationships.DependsOn
357       - link_pcm_port_1:
358           capability: tosca.capabilities.network.Linkable
359           relationship: tosca.relationships.network.LinksTo
360       - dependency_server_pcm:
361           capability: tosca.capabilities.Node
362           node: tosca.nodes.Root
363           relationship: tosca.relationships.DependsOn
364       - local_storage_server_pcm:
365           capability: tosca.capabilities.Attachment
366           node: tosca.nodes.BlockStorage
367           relationship: tosca.relationships.AttachesTo
368       - dependency_pcm_port_0:
369           capability: tosca.capabilities.Node
370           node: tosca.nodes.Root
371           relationship: tosca.relationships.DependsOn
372       - link_pcm_port_0:
373           capability: tosca.capabilities.network.Linkable
374           relationship: tosca.relationships.network.LinksTo
375     packet_mirror_network:
376       type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
377       properties:
378         tenant_id:
379           get_attribute:
380           - abstract_compute
381           - compute_instance_name
382         network_name:
383           get_attribute:
384           - server_pcm_001
385           - instance_name
386     compute_port_0:
387       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
388       properties:
389         ip_requirements:
390         - ip_version: 4
391           ip_count_required:
392             is_required: false
393           floating_ip_count_required:
394             is_required: false
395         mac_requirements:
396           mac_count_required:
397             is_required: false
398         network:
399           get_input: net_name
400     abstract_compute:
401       type: org.openecomp.resource.abstract.nodes.compute
402       directives:
403       - substitutable
404       properties:
405         vm_image_name:
406           get_input: compute_image_name
407         compute_compute_name:
408         - compute_name: null
409         vm_flavor_name:
410           compute_flavor_name: null
411         compute_compute_config_drive:
412         - get_attribute:
413           - compute_port_0
414           - tenant_id
415           - port_security_enabled
416           - device_id
417           - qos_policy
418           - allowed_address_pairs
419           - show
420           - device_owner
421           - network
422           - security_groups
423           - fixed_ips
424           - mac_address
425           - admin_state_up
426           - name
427           - subnets
428           - status
429         service_template_filter:
430           substitute_service_template: Nested_computeServiceTemplate.yaml
431           count: 1
432         index_value:
433           get_property:
434           - SELF
435           - service_template_filter
436           - index_value
437   groups:
438     hot-nimbus-pcm_v0.4_group:
439       type: org.openecomp.groups.heat.HeatStack
440       properties:
441         heat_file: ../Artifacts/hot-nimbus-pcm_v0.4.yaml
442         description: heat template that creates PCRF Cluman stack
443       members:
444       - server_pcm_002
445       - server_oam_001
446       - server_pcm_001
447       - packet_mirror_network
448       - compute_port_0
449       - abstract_compute
450   outputs:
451     output_attr_nested_resource_same_type:
452       value:
453         get_attribute:
454         - server_pcm_001
455         - server_pcm_id
456     output_attr_non_nested_compute:
457       value:
458         get_attribute:
459         - abstract_compute
460         - compute_instance_name
461     output_attr_nested_resource_different_type:
462       value:
463         get_attribute:
464         - server_oam_001
465         - server_oam_id
466     output_attr_nested_resource1:
467       value:
468         get_attribute:
469         - server_pcm_001
470         - server_pcm_id
471     output_attr_non_consolidation_entity:
472       value:
473         get_attribute:
474         - packet_mirror_network
475         - status
476     output_attr_nested_resource2:
477       value:
478         get_attribute:
479         - server_pcm_002
480         - server_pcm_id