push addional code
[sdc.git] / openecomp-be / lib / openecomp-sdc-validation-lib / openecomp-sdc-validation-impl / src / test / resources / openecomp / org / validation / validators / heat_validator / resources_group_with_nested / positive_test / input / hot-nimbus-psm_v1.0.yaml
1 heat_template_version: 2013-05-23
2
3 description: heat template that creates PCRF Session Manager stack
4
5 parameters:
6   num_instances:
7     type: comma_delimited_list
8     label: PCRF SM server names
9     description: name of the PCRF SM instance
10   pcrf_psm_server_names:
11     type: comma_delimited_list
12     label: PCRF SM server names
13     description: name of the PCRF SM instance
14   pcrf_psm_image_name:
15     type: string
16     label: PCRF SM image name
17     description: PCRF SM image name
18   pcrf_psm_flavor_name:
19     type: string
20     label: PCRF SM flavor name
21     description: flavor name of PCRF SM instance
22   availabilityzone_name:
23     type: string
24     label: availabilityzone name
25     description: availabilityzone name
26   pcrf_cps_net_name:
27     type: string
28     label: CPS network name
29     description: CPS network name
30   pcrf_cps_net_ips:
31     type: comma_delimited_list
32     label: CPS network ips
33     description: CPS network ips
34   pcrf_cps_net_mask:
35     type: string
36     label: CPS network mask
37     description: CPS network mask
38   pcrf_security_group_name:
39     type: string
40     label: security group name
41     description: the name of security group
42   pcrf_vnf_id:
43     type: string
44     label: PCRF VNF Id
45     description: PCRF VNF Id
46
47 resources:
48   server_pcrf_psm_001:
49     type: nested-psm_v1.0.yaml
50     properties:
51       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 0] }
52       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
53       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
54       availabilityzone_name: { get_param: availabilityzone_name }
55       pcrf_security_group_name: { get_param: pcrf_security_group_name }
56       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
57       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 0] }
58       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
59       pcrf_vnf_id: {get_param: pcrf_vnf_id}
60
61   server_pcrf_psm_002:
62     type: nested-psm_v1.0.yaml
63     properties:
64       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 1] }
65       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
66       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
67       availabilityzone_name: { get_param: availabilityzone_name }
68       pcrf_security_group_name: { get_param: pcrf_security_group_name }
69       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
70       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 1] }
71       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
72       pcrf_vnf_id: {get_param: pcrf_vnf_id}
73
74   server_pcrf_psm_003:
75     type: nested-psm_v1.0.yaml
76     properties:
77       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 2] }
78       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
79       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
80       availabilityzone_name: { get_param: availabilityzone_name }
81       pcrf_security_group_name: { get_param: pcrf_security_group_name }
82       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
83       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 2] }
84       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
85       pcrf_vnf_id: {get_param: pcrf_vnf_id}
86
87   server_pcrf_psm_004:
88     type: nested-psm_v1.0.yaml
89     properties:
90       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 3] }
91       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
92       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
93       availabilityzone_name: { get_param: availabilityzone_name }
94       pcrf_security_group_name: { get_param: pcrf_security_group_name }
95       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
96       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 3] }
97       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
98       pcrf_vnf_id: {get_param: pcrf_vnf_id}
99
100   server_pcrf_psm_005:
101     type: nested-psm_v1.0.yaml
102     properties:
103       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 4] }
104       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
105       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
106       availabilityzone_name: { get_param: availabilityzone_name }
107       pcrf_security_group_name: { get_param: pcrf_security_group_name }
108       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
109       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 4] }
110       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
111       pcrf_vnf_id: {get_param: pcrf_vnf_id}
112
113   server_pcrf_psm_006:
114     type: nested-psm_v1.0.yaml
115     properties:
116       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 5] }
117       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
118       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
119       availabilityzone_name: { get_param: availabilityzone_name }
120       pcrf_security_group_name: { get_param: pcrf_security_group_name }
121       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
122       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 5] }
123       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
124       pcrf_vnf_id: {get_param: pcrf_vnf_id}
125
126   server_pcrf_psm_007:
127     type: nested-psm_v1.0.yaml
128     properties:
129       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 6] }
130       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
131       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
132       availabilityzone_name: { get_param: availabilityzone_name }
133       pcrf_security_group_name: { get_param: pcrf_security_group_name }
134       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
135       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 6] }
136       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
137       pcrf_vnf_id: {get_param: pcrf_vnf_id}
138
139   server_pcrf_psm_008:
140     type: nested-psm_v1.0.yaml
141     properties:
142       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 7] }
143       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
144       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
145       availabilityzone_name: { get_param: availabilityzone_name }
146       pcrf_security_group_name: { get_param: pcrf_security_group_name }
147       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
148       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 7] }
149       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
150       pcrf_vnf_id: {get_param: pcrf_vnf_id}
151
152   server_pcrf_psm_009:
153     type: nested-psm_v1.0.yaml
154     properties:
155       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 8] }
156       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
157       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
158       availabilityzone_name: { get_param: availabilityzone_name }
159       pcrf_security_group_name: { get_param: pcrf_security_group_name }
160       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
161       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 8] }
162       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
163       pcrf_vnf_id: {get_param: pcrf_vnf_id}
164
165   server_pcrf_psm_010:
166     type: nested-psm_v1.0.yaml
167     properties:
168       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 9] }
169       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
170       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
171       availabilityzone_name: { get_param: availabilityzone_name }
172       pcrf_security_group_name: { get_param: pcrf_security_group_name }
173       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
174       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 9] }
175       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
176       pcrf_vnf_id: {get_param: pcrf_vnf_id}
177
178   server_pcrf_psm_011:
179     type: nested-psm_v1.0.yaml
180     properties:
181       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 10] }
182       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
183       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
184       availabilityzone_name: { get_param: availabilityzone_name }
185       pcrf_security_group_name: { get_param: pcrf_security_group_name }
186       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
187       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 10] }
188       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
189       pcrf_vnf_id: {get_param: pcrf_vnf_id}
190
191   server_pcrf_psm_012:
192     type: nested-psm_v1.0.yaml
193     properties:
194       pcrf_psm_server_name: { get_param: [pcrf_psm_server_names, 11] }
195       pcrf_psm_image_name: { get_param: pcrf_psm_image_name }
196       pcrf_psm_flavor_name: { get_param: pcrf_psm_flavor_name }
197       availabilityzone_name: { get_param: availabilityzone_name }
198       pcrf_security_group_name: { get_param: pcrf_security_group_name }
199       pcrf_cps_net_name: { get_param: pcrf_cps_net_name }
200       pcrf_cps_net_ip: { get_param: [pcrf_cps_net_ips, 11] }
201       pcrf_cps_net_mask: { get_param: pcrf_cps_net_mask }
202       pcrf_vnf_id: {get_param: pcrf_vnf_id}
203
204   resource_with_resources_group:
205     type: OS::Heat::ResourceGroup
206     properties:
207       count: { get_param: num_instances }
208       resource_def:
209         type: nested-from-resources-group.yaml
210         properties:
211           cloud_zone_id: { get_param: cloud_zone_id }
212           vf_name:  { get_param: vf_name }
213           vf_instance_num: { get_param: vf_instance_num }
214           vf_component: { get_param: vf_component }
215           vm_instance_num: { get_param: vm_instance_num }
216           vnf_id: { get_param: vnf_id }
217           vf_module_id: { get_param: vf_module_id }
218           bootimage: { get_param: bootimage }
219           flavor: { get_param: flavor }
220           key_name: { get_param: key_name }
221
222           availability_zone_0: { get_param: availability_zone_0 }
223
224           sec_groups: { get_param: sec_groups }
225           data_volume_size: { get_param: data_volume_size }
226           mgmt_net_id: { get_param: mgmt_net_id }
227
228           sas_mgmt_ip_0: { get_param: sas_mgmt_ip_0 }
229
230           indx: "%index%"
231
232
233   resource_without_resources_group:
234     type: OS::Heat::ResourceGroup
235     properties:
236       count: { get_param: num_instances }
237       resource_def:
238         type: OS::Nova::Server
239         properties:
240           cloud_zone_id: { get_param: cloud_zone_id }
241           vf_name:  { get_param: vf_name }
242           vf_instance_num: { get_param: vf_instance_num }
243           vf_component: { get_param: vf_component }
244           vm_instance_num: { get_param: vm_instance_num }
245           vnf_id: { get_param: vnf_id }
246           vf_module_id: { get_param: vf_module_id }
247           bootimage: { get_param: bootimage }
248           flavor: { get_param: flavor }
249           key_name: { get_param: key_name }
250
251           availability_zone_0: { get_param: availability_zone_0 }
252
253           sec_groups: { get_param: sec_groups }
254           data_volume_size: { get_param: data_volume_size }
255           mgmt_net_id: { get_param: mgmt_net_id }
256
257           sas_mgmt_ip_0: { get_param: sas_mgmt_ip_0 }
258
259           indx: "%index%"
260
261   resource_with_not_existing_resources_group:
262     type: OS::Heat::ResourceGroup
263     properties:
264       count: { get_param: num_instances }
265       resource_def:
266         type: nested-from-resources-group.yaml
267         properties:
268           cloud_zone_id: { get_param: cloud_zone_id }
269           vf_name:  { get_param: vf_name }
270           vf_instance_num: { get_param: vf_instance_num }
271           vf_component: { get_param: vf_component }
272           vm_instance_num: { get_param: vm_instance_num }
273           vnf_id: { get_param: vnf_id }
274           vf_module_id: { get_param: vf_module_id }
275           bootimage: { get_param: bootimage }
276           flavor: { get_param: flavor }
277           key_name: { get_param: key_name }
278
279           availability_zone_0: { get_param: availability_zone_0 }
280
281           sec_groups: { get_param: sec_groups }
282           data_volume_size: { get_param: data_volume_size }
283           mgmt_net_id: { get_param: mgmt_net_id }
284
285           sas_mgmt_ip_0: { get_param: sas_mgmt_ip_0 }
286
287           indx: "%index%"
288