Merge automation from ECOMP's repository
[vid.git] / vid-automation / src / main / java / org / onap / simulator / presetGenerator / presets / mso / PresetMSOCreateServiceInstanceGen2WithNamesEcompNamingFalse.java
1 package org.onap.simulator.presetGenerator.presets.mso;
2
3 import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOServiceInstanceGen2WithNames.Keys.SERVICE_NAME;
4 import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOServiceInstanceGen2WithNames.Keys.VFM_NAME1;
5 import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOServiceInstanceGen2WithNames.Keys.VFM_NAME2;
6 import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOServiceInstanceGen2WithNames.Keys.VG_NAME;
7 import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOServiceInstanceGen2WithNames.Keys.VNF_NAME;
8 import static org.onap.simulator.presetGenerator.presets.mso.PresetMSOServiceInstanceGen2WithNames.Keys.VNF_NAME2;
9
10 import java.util.Map;
11 import vid.automation.test.infra.Features;
12
13 public class PresetMSOCreateServiceInstanceGen2WithNamesEcompNamingFalse extends PresetMSOCreateServiceInstanceGen2WithNames {
14
15     protected static final String INSTANCE_PARAMS_VNF = "{ " +
16             "                        \"bandwidth\": \"10\", " +
17             "                        \"vnf_instance_name\": \"mtnj309me6\", " +
18             "                        \"vnf_config_template_version\": \"17.2\", " +
19             "                        \"AIC_CLLI\": \"ATLMY8GA\", " +
20             "                        \"ASN\": \"AV_vPE\", " +
21             "                        \"bandwidth_units\": \"Gbps\" " +
22             "                       }";
23
24     protected static final String INSTANCE_PARAMS_WITH_SUPP_FILE_VNF = "{ " +
25             "                        \"vnf_config_template_version\": \"17.2\", " +
26             "                        \"AIC_CLLI\": \"ATLMY8GA\", " +
27             "                        \"bandwidth\": \"10\", " +
28             "                        \"bandwidth_units\": \"Gbps\", " +
29             "                        \"ASN\": \"AV_vPE\", " +
30             "                        \"param\": \"ABCD\", " +
31             "                        \"vnf_instance_name\": \"sample\" " +
32             "                       }";
33
34     protected static final String INSTANCE_PARAMS_VF_MODULE = "{ " +
35             "                        \"bandwidth\": \"10\", " +
36             "                        \"vnf_instance_name\": \"mtnj309me6\", " +
37             "                        \"vnf_config_template_version\": \"17.2\", " +
38             "                        \"AIC_CLLI\": \"ATLMY8GA\", " +
39             "                        \"bandwidth_units\": \"Gbps\" " +
40             "                       }";
41
42     protected static final String INSTANCE_PARAMS_WITH_SUPP_FILE_VF_MODULE = "{ " +
43             "                        \"vnf_config_template_version\": \"17.2\", " +
44             "                        \"AIC_CLLI\": \"ATLMY8GA\", " +
45             "                        \"bandwidth\": \"10\", " +
46             "                        \"bandwidth_units\": \"Gbps\", " +
47             "                        \"param\": \"ABCD\", " +
48             "                        \"vnf_instance_name\": \"sample\" " +
49             "                       }";
50
51
52
53     public PresetMSOCreateServiceInstanceGen2WithNamesEcompNamingFalse(Map<Keys, String> names, int suffix, String requestId) {
54         super(names, suffix, requestId);
55     }
56
57     @Override
58     public boolean isStrictMatch() {
59         return false;
60     }
61
62     protected String getVnfInstanceParams() {
63         if (!Features.FLAG_SHIFT_VFMODULE_PARAMS_TO_VNF.isActive()) {
64             return "";
65         }
66
67         if (Features.FLAG_SUPPLEMENTARY_FILE.isActive())  {
68             return INSTANCE_PARAMS_WITH_SUPP_FILE_VNF;
69         }
70         return INSTANCE_PARAMS_VNF;
71     }
72
73     protected String getVFModuleInstanceParams() {
74         if (Features.FLAG_SUPPLEMENTARY_FILE.isActive())  {
75             return INSTANCE_PARAMS_WITH_SUPP_FILE_VF_MODULE;
76         }
77         return INSTANCE_PARAMS_VF_MODULE;
78     }
79
80     @Override
81     public Object getRequestBody() {
82         return "" +
83                 "{ " +
84                 "  \"requestDetails\": { " +
85                 "    \"modelInfo\": { " +
86                 "      \"modelInvariantId\": \"e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0\", " +
87                 "      \"modelVersionId\": \"6b528779-44a3-4472-bdff-9cd15ec93450\", " +
88                 "      \"modelName\": \"action-data\", " +
89                 "      \"modelType\": \"service\", " +
90                 "      \"modelVersion\": \"1.0\" " +
91                 "    }, " +
92                 "    \"owningEntity\": { " +
93                 "      \"owningEntityId\": \"d61e6f2d-12fa-4cc2-91df-7c244011d6fc\", " +
94                 "      \"owningEntityName\": \"MetroPacketCore\" " +
95                 "    }, " +
96                 "    \"subscriberInfo\": { " +
97                 "      \"globalSubscriberId\": \"e433710f-9217-458d-a79d-1c7aff376d89\" " +
98                 "    }, " +
99                 "    \"project\": { " +
100                 "      \"projectName\": \"DFW\" " +
101                 "    }, " +
102                 "    \"requestInfo\": { " +
103                 "      \"instanceName\": \"" + names.get(SERVICE_NAME) + suffix + "\", " +
104                 "      \"productFamilyId\": \"e433710f-9217-458d-a79d-1c7aff376d89\", " +
105                 "      \"source\": \"VID\", " +
106                 "      \"suppressRollback\": false, " +
107                 "      \"requestorId\": \"us16807000\" " +
108                 "    }, " +
109                 "    \"requestParameters\": { " +
110                 "      \"subscriptionServiceType\": \"TYLER SILVIA\", " +
111                 "      \"aLaCarte\": false, " +
112                 "      \"userParams\": [{ " +
113                 "          \"service\": { " +
114                 "            \"instanceName\": \"" + names.get(SERVICE_NAME) + suffix + "\", " +
115                 "            \"modelInfo\": { " +
116                 "              \"modelVersionId\": \"6b528779-44a3-4472-bdff-9cd15ec93450\", " +
117                 "              \"modelName\": \"action-data\", " +
118                 "              \"modelType\": \"service\" " +
119                 "            }, " +
120                 "            \"instanceParams\": [{ " +
121                 "                \"2017488_PASQUALEvpe0_ASN\": \"AV_vPE\"" +
122                 "              }" +
123                 "            ], " +
124                 "            \"resources\": { " +
125                 "              \"vnfs\": [{ " +
126                 "                  \"instanceName\": \"" + names.get(VNF_NAME2) + suffix + "\", " +
127                 "                  \"modelInfo\": { " +
128                 "                   \"modelCustomizationName\": \"2017-388_PASQUALE-vPE 0\", " +
129                 "                   \"modelCustomizationId\": \"b3c76f73-eeb5-4fb6-9d31-72a889f1811c\", " +
130                 "                   \"modelInvariantId\": \"72e465fe-71b1-4e7b-b5ed-9496118ff7a8\", " +
131                 "                   \"modelVersionId\": \"afacccf6-397d-45d6-b5ae-94c39734b168\", " +
132                 "                   \"modelName\": \"2017-388_PASQUALE-vPE\", " +
133                 "                   \"modelType\": \"vnf\", " +
134                 "                   \"modelVersion\": \"4.0\" " +
135                 "                  }, " +
136                 "                  \"cloudConfiguration\": { " +
137                 "                   \"lcpCloudRegionId\": \"hvf6\", " +
138                                     addCloudOwnerIfNeeded() +
139                 "                   \"tenantId\": \"bae71557c5bb4d5aac6743a4e5f1d054\" " +
140                 "                  }, " +
141                 "                  \"platform\": { " +
142                 "                   \"platformName\": \"platform\" " +
143                 "                  }, " +
144                 "                  \"lineOfBusiness\": { " +
145                 "                   \"lineOfBusinessName\": \"ECOMP\" " +
146                 "                  }, " +
147                 "                  \"productFamilyId\": \"e433710f-9217-458d-a79d-1c7aff376d89\", " +
148                 "                  \"instanceParams\": [" + INSTANCE_PARAMS_VNF + "] " +
149                 "                }," +
150                 "                { " + //start of vnf
151                 "                  \"instanceName\": \"" + names.get(VNF_NAME) + suffix + "\", " +
152                 "                  \"modelInfo\": { " +
153                 "                    \"modelCustomizationName\": \"2017-488_PASQUALE-vPE 0\", " +
154                 "                    \"modelCustomizationId\": \"1da7b585-5e61-4993-b95e-8e6606c81e45\", " +
155                 "                    \"modelInvariantId\": \"72e465fe-71b1-4e7b-b5ed-9496118ff7a8\", " +
156                 "                    \"modelVersionId\": \"69e09f68-8b63-4cc9-b9ff-860960b5db09\", " +
157                 "                    \"modelName\": \"2017-488_PASQUALE-vPE\", " +
158                 "                    \"modelType\": \"vnf\", " +
159                 "                    \"modelVersion\": \"5.0\" " +
160                 "                  }, " +
161                 "                  \"cloudConfiguration\": { " +
162                 "                    \"lcpCloudRegionId\": \"hvf6\", " +
163                                     addCloudOwnerIfNeeded() +
164                 "                    \"tenantId\": \"bae71557c5bb4d5aac6743a4e5f1d054\" " +
165                 "                  }, " +
166                 "                  \"platform\": { " +
167                 "                    \"platformName\": \"platform\" " +
168                 "                  }, " +
169                 "                  \"lineOfBusiness\": { " +
170                 "                    \"lineOfBusinessName\": \"ECOMP\" " +
171                 "                  }, " +
172                 "                  \"productFamilyId\": \"e433710f-9217-458d-a79d-1c7aff376d89\", " +
173                 "                  \"instanceParams\": [" + getVnfInstanceParams() + "], " +
174                 "                  \"vfModules\": [{ " +
175                 "                     \"instanceName\": \"" + names.get(VFM_NAME1) + suffix + "\", " +
176                 "                     \"modelInfo\": { " +
177                 "                      \"modelCustomizationName\": \"2017488PASQUALEVpe..PASQUALE_base_vPE_BV..module-0\", " +
178                 "                      \"modelCustomizationId\": \"a55961b2-2065-4ab0-a5b7-2fcee1c227e3\", " +
179                 "                      \"modelInvariantId\": \"b34833bb-6aa9-4ad6-a831-70b06367a091\", " +
180                 "                      \"modelVersionId\": \"f8360508-3f17-4414-a2ed-6bc71161e8db\", " +
181                 "                      \"modelName\": \"2017488PASQUALEVpe..PASQUALE_base_vPE_BV..module-0\", " +
182                 "                      \"modelType\": \"vfModule\", " +
183                 "                      \"modelVersion\": \"5\" " +
184                 "                     }, " +
185                 "                     \"instanceParams\": [] " +
186                 "                    }, { " +
187                 "                      \"instanceName\": \"" + names.get(VFM_NAME2) + suffix + "\", " +
188                 "                      \"volumeGroupInstanceName\": \"" + names.get(VG_NAME) + suffix + "\", " +
189                 "                      \"modelInfo\": { " +
190                 "                        \"modelCustomizationName\": \"2017488PASQUALEVpe..PASQUALE_vRE_BV..module-1\", " +
191                 "                        \"modelCustomizationId\": \"f7e7c365-60cf-49a9-9ebf-a1aa11b9d401\", " +
192                 "                        \"modelInvariantId\": \"7253ff5c-97f0-4b8b-937c-77aeb4d79aa1\", " +
193                 "                        \"modelVersionId\": \"25284168-24bb-4698-8cb4-3f509146eca5\", " +
194                 "                        \"modelName\": \"2017488PASQUALEVpe..PASQUALE_vRE_BV..module-1\", " +
195                 "                        \"modelType\": \"vfModule\", " +
196                 "                        \"modelVersion\": \"6\" " +
197                 "                      }, " +
198                 "                      \"instanceParams\": [" + getVFModuleInstanceParams() + "] " +
199                 "                    }" + //end of vfModule
200                 "                  ] " + //end of vfModules list
201                 "                 }" + //end of vnf
202                 addDuplicatedVnfIfFeatureOn() +
203                 "              ] " + //end of vnf list
204                 "            } " +
205                 "          } " +
206                 "        } " +
207                 "      ] " +
208                 "    } " +
209                 "  } " +
210                 "}";
211
212     }
213
214     private String addDuplicatedVnfIfFeatureOn() {
215         if (!Features.FLAG_DUPLICATE_VNF.isActive()) {
216             return "";
217         }
218
219         return
220                 "                ,{ " + //start of vnf
221                 "                  \"instanceName\": \"" + names.get(VNF_NAME)+ "_001" + suffix + "\", " +
222                 "                  \"modelInfo\": { " +
223                 "                    \"modelCustomizationName\": \"2017-488_PASQUALE-vPE 0\", " +
224                 "                    \"modelCustomizationId\": \"1da7b585-5e61-4993-b95e-8e6606c81e45\", " +
225                 "                    \"modelInvariantId\": \"72e465fe-71b1-4e7b-b5ed-9496118ff7a8\", " +
226                 "                    \"modelVersionId\": \"69e09f68-8b63-4cc9-b9ff-860960b5db09\", " +
227                 "                    \"modelName\": \"2017-488_PASQUALE-vPE\", " +
228                 "                    \"modelType\": \"vnf\", " +
229                 "                    \"modelVersion\": \"5.0\" " +
230                 "                  }, " +
231                 "                  \"cloudConfiguration\": { " +
232                 "                    \"lcpCloudRegionId\": \"hvf6\", " +
233                                      addCloudOwnerIfNeeded() +
234                 "                    \"tenantId\": \"bae71557c5bb4d5aac6743a4e5f1d054\" " +
235                 "                  }, " +
236                 "                  \"platform\": { " +
237                 "                    \"platformName\": \"platform\" " +
238                 "                  }, " +
239                 "                  \"lineOfBusiness\": { " +
240                 "                    \"lineOfBusinessName\": \"ECOMP\" " +
241                 "                  }, " +
242                 "                  \"productFamilyId\": \"e433710f-9217-458d-a79d-1c7aff376d89\", " +
243                 "                  \"instanceParams\": [" + getVnfInstanceParams() + "], " +
244                 "                  \"vfModules\": [{ " +
245                 "                     \"instanceName\": \"" + names.get(VFM_NAME1) + "_001" + suffix + "\", " +
246                 "                     \"modelInfo\": { " +
247                 "                      \"modelCustomizationName\": \"2017488PASQUALEVpe..PASQUALE_base_vPE_BV..module-0\", " +
248                 "                      \"modelCustomizationId\": \"a55961b2-2065-4ab0-a5b7-2fcee1c227e3\", " +
249                 "                      \"modelInvariantId\": \"b34833bb-6aa9-4ad6-a831-70b06367a091\", " +
250                 "                      \"modelVersionId\": \"f8360508-3f17-4414-a2ed-6bc71161e8db\", " +
251                 "                      \"modelName\": \"2017488PASQUALEVpe..PASQUALE_base_vPE_BV..module-0\", " +
252                 "                      \"modelType\": \"vfModule\", " +
253                 "                      \"modelVersion\": \"5\" " +
254                 "                     }, " +
255                 "                     \"instanceParams\": [] " +
256                 "                    }, { " +
257                 "                      \"instanceName\": \"" + names.get(VFM_NAME2) + "_001" + suffix + "\", " +
258                 "                      \"volumeGroupInstanceName\": \"" + names.get(VG_NAME) + "_001" + suffix + "\", " +
259                 "                      \"modelInfo\": { " +
260                 "                        \"modelCustomizationName\": \"2017488PASQUALEVpe..PASQUALE_vRE_BV..module-1\", " +
261                 "                        \"modelCustomizationId\": \"f7e7c365-60cf-49a9-9ebf-a1aa11b9d401\", " +
262                 "                        \"modelInvariantId\": \"7253ff5c-97f0-4b8b-937c-77aeb4d79aa1\", " +
263                 "                        \"modelVersionId\": \"25284168-24bb-4698-8cb4-3f509146eca5\", " +
264                 "                        \"modelName\": \"2017488PASQUALEVpe..PASQUALE_vRE_BV..module-1\", " +
265                 "                        \"modelType\": \"vfModule\", " +
266                 "                        \"modelVersion\": \"6\" " +
267                 "                      }, " +
268                 "                      \"instanceParams\": [" + getVFModuleInstanceParams() + "] " +
269                 "                    }" + //end of vfModule
270                 "                  ] " + //end of vfModules list
271                 "                 }" + //end of vnf
272                 "                ,{ " + //start of vnf
273                 "                  \"instanceName\": \"" + names.get(VNF_NAME)+ "_002" + suffix + "\", " +
274                 "                  \"modelInfo\": { " +
275                 "                    \"modelCustomizationName\": \"2017-488_PASQUALE-vPE 0\", " +
276                 "                    \"modelCustomizationId\": \"1da7b585-5e61-4993-b95e-8e6606c81e45\", " +
277                 "                    \"modelInvariantId\": \"72e465fe-71b1-4e7b-b5ed-9496118ff7a8\", " +
278                 "                    \"modelVersionId\": \"69e09f68-8b63-4cc9-b9ff-860960b5db09\", " +
279                 "                    \"modelName\": \"2017-488_PASQUALE-vPE\", " +
280                 "                    \"modelType\": \"vnf\", " +
281                 "                    \"modelVersion\": \"5.0\" " +
282                 "                  }, " +
283                 "                  \"cloudConfiguration\": { " +
284                 "                    \"lcpCloudRegionId\": \"hvf6\", " +
285                                      addCloudOwnerIfNeeded() +
286                 "                    \"tenantId\": \"bae71557c5bb4d5aac6743a4e5f1d054\" " +
287                 "                  }, " +
288                 "                  \"platform\": { " +
289                 "                    \"platformName\": \"platform\" " +
290                 "                  }, " +
291                 "                  \"lineOfBusiness\": { " +
292                 "                    \"lineOfBusinessName\": \"ECOMP\" " +
293                 "                  }, " +
294                 "                  \"productFamilyId\": \"e433710f-9217-458d-a79d-1c7aff376d89\", " +
295                 "                  \"instanceParams\": [" + getVnfInstanceParams() + "], " +
296                 "                  \"vfModules\": [{ " +
297                 "                     \"instanceName\": \"" + names.get(VFM_NAME1) + "_002" + suffix + "\", " +
298                 "                     \"modelInfo\": { " +
299                 "                      \"modelCustomizationName\": \"2017488PASQUALEVpe..PASQUALE_base_vPE_BV..module-0\", " +
300                 "                      \"modelCustomizationId\": \"a55961b2-2065-4ab0-a5b7-2fcee1c227e3\", " +
301                 "                      \"modelInvariantId\": \"b34833bb-6aa9-4ad6-a831-70b06367a091\", " +
302                 "                      \"modelVersionId\": \"f8360508-3f17-4414-a2ed-6bc71161e8db\", " +
303                 "                      \"modelName\": \"2017488PASQUALEVpe..PASQUALE_base_vPE_BV..module-0\", " +
304                 "                      \"modelType\": \"vfModule\", " +
305                 "                      \"modelVersion\": \"5\" " +
306                 "                     }, " +
307                 "                     \"instanceParams\": [] " +
308                 "                    }, { " +
309                 "                      \"instanceName\": \"" + names.get(VFM_NAME2) + "_002" + suffix + "\", " +
310                 "                      \"volumeGroupInstanceName\": \"" + names.get(VG_NAME) + "_002" + suffix + "\", " +
311                 "                      \"modelInfo\": { " +
312                 "                        \"modelCustomizationName\": \"2017488PASQUALEVpe..PASQUALE_vRE_BV..module-1\", " +
313                 "                        \"modelCustomizationId\": \"f7e7c365-60cf-49a9-9ebf-a1aa11b9d401\", " +
314                 "                        \"modelInvariantId\": \"7253ff5c-97f0-4b8b-937c-77aeb4d79aa1\", " +
315                 "                        \"modelVersionId\": \"25284168-24bb-4698-8cb4-3f509146eca5\", " +
316                 "                        \"modelName\": \"2017488PASQUALEVpe..PASQUALE_vRE_BV..module-1\", " +
317                 "                        \"modelType\": \"vfModule\", " +
318                 "                        \"modelVersion\": \"6\" " +
319                 "                      }, " +
320                 "                      \"instanceParams\": [" + getVFModuleInstanceParams() + "] " +
321                 "                    }" + //end of vfModule
322                 "                  ] " + //end of vfModules list
323                 "                 }" ; //end of vnf
324     }
325
326
327 }