Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_getpathsegment-create-composite-path.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>\r
4     <method rpc='getpathsegment-create-composite-path' mode='sync'>\r
5         <block>\r
6             <set>\r
7                 <parameter name='match-type' value='network-name' />\r
8             </set>\r
9             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
10   key='SELECT * from PATH_SEGMENT WHERE service_uuid = $getpathsegment-topology-operation-input.service-information.onap-model-information.model-uuid\r
11     AND path_name = $db.forwarding-path[$path-index].path-name ORDER BY path_segment_seq'\r
12   pfx='db.path-segment[]'>\r
13                 <outcome value='failure'>\r
14                     <block>\r
15                         <set>\r
16                             <parameter name='error-message' value="`'System error reading PATH_SEGMENT table for uuid '\r
17   + $getpathsegment-topology-operation-input.service-information.onap-model-information.model-uuid\r
18   + ' and path '\r
19   + $db.forwarding-path[$path-index].path-name`" />\r
20                         </set>\r
21                     </block>\r
22                 </outcome>\r
23                 <outcome value='not-found'>\r
24                     <block>\r
25                         <set>\r
26                             <parameter name='error-message' value="`'No entries in PATH_SEGMENT table for uuid '\r
27   + $getpathsegment-topology-operation-input.service-information.onap-model-information.model-uuid\r
28   + ' and path '\r
29   + $db.forwarding-path[$path-index].path-name`" />\r
30                         </set>\r
31                     </block>\r
32                 </outcome>\r
33                 <outcome value='success'>\r
34                     <block>\r
35                         <set>\r
36                             <parameter name='serv-cust_length' value='0' />\r
37                         </set>\r
38                         <for index='path-segment-index' start='0' end='`$db.path-segment_length`' >\r
39                             <block>\r
40                                 <set>\r
41                                     <parameter name='serv-cust[$serv-cust_length].id' value='`$db.path-segment[$path-segment-index].source-association-uuid`' />\r
42                                     <parameter name='serv-cust_length' value='`$serv-cust_length + 1`' />\r
43                                 </set>\r
44                                 <switch test='`$path-segment-index == ( $db.path-segment_length - 1) `'>\r
45                                     <outcome value='true'>\r
46                                         <set>\r
47                                             <parameter name='serv-cust[$serv-cust_length].id' value='`$db.path-segment[$path-segment-index].target-association-uuid`' />\r
48                                             <parameter name='serv-cust_length' value='`$serv-cust_length + 1`' />\r
49                                         </set>\r
50                                     </outcome>\r
51                                 </switch>\r
52                             </block>\r
53                         </for>\r
54                         <for index='serv-index' start='0' end='`$serv-cust_length`' >\r
55                             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
56   key='select sm.invariant_uuid\r
57     from SERVICE_PROXY sp, SERVICE_MODEL sm\r
58     where sp.source_service_uuid = sm.service_uuid\r
59     and sp.customization_uuid = $serv-cust[$serv-index].id'\r
60   pfx='db'>\r
61                                 <outcome value='failure'>\r
62                                     <set>\r
63                                         <parameter name='error-message' value="`'Failure reading SERVICE_PROXY and SERVICE_MODEL for customization uuid ' + $serv-cust[$serv-index].id`" />\r
64                                     </set>\r
65                                 </outcome>\r
66                                 <outcome value='not-found'>\r
67                                     <set>\r
68                                         <parameter name='error-message' value="`'Cannot find entries in SERVICE_PROXY and SERVICE_MODEL for customization uuid ' + $serv-cust[$serv-index].id`" />\r
69                                     </set>\r
70                                 </outcome>\r
71                                 <outcome value='success'>\r
72                                     <set>\r
73                                         <parameter name='serv-cust[$serv-index].inv-id' value='`$db.invariant-uuid`' />\r
74                                     </set>\r
75                                 </outcome>\r
76                             </get-resource>\r
77                         </for>\r
78                         <for index='serv-index' start='0' end='`$serv-cust_length`' >\r
79                             <switch test='`$serv-cust[$serv-index].inv-id`'>\r
80                                 <outcome value=''>\r
81                                     <block></block>\r
82                                 </outcome>\r
83                                 <outcome value='Other'>\r
84                                     <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
85         resource="custom-query"\r
86         key="format = 'resource'"\r
87         force="true"\r
88         local-only="false"\r
89         pfx="aai.service-instances" >\r
90                                         <parameter name="start[0]" value="`'nodes/service-instances?model-invariant-id=' + $serv-cust[$serv-index].inv-id`" />\r
91                                         <parameter name="start_length" value="1" />\r
92                                         <outcome value='not-found'>\r
93                                             <set>\r
94                                                 <parameter name='error-message' value="`'Unable to find runtime service instances for invariant UUID ' + $serv-cust[$serv-index].inv-id`" />\r
95                                             </set>\r
96                                         </outcome>\r
97                                         <outcome value='failure'>\r
98                                             <set>\r
99                                                 <parameter name='error-message' value="`'System error finding runtime service instances for customization UUID ' + $serv-cust[$serv-index].inv-id`" />\r
100                                             </set>\r
101                                         </outcome>\r
102                                         <outcome value='success'>\r
103                                             <block>\r
104                                                 <set>\r
105                                                     <parameter name='tmp.serv-insts_length' value='0' />\r
106                                                 </set>\r
107                                                 <for index='runtime-index' start='0' end='`$aai.service-instances.results_length`' >\r
108                                                     <switch test='`$aai.service-instances.results[$runtime-index].service-instance.orchestration-status`'>\r
109                                                         <outcome value='Active'>\r
110                                                             <block>\r
111                                                                 <set>\r
112                                                                     <parameter name='serv-inst.service-instance-id' value='`$aai.service-instances.results[$runtime-index].service-instance.service-instance-id`' />\r
113                                                                 </set>\r
114                                                                 <switch test='`$output-global-customer-id`'>\r
115                                                                     <outcome value=''>\r
116                                                                         <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
117       resource="custom-query"\r
118       key="format = 'resource_and_url'"\r
119       force="true"\r
120       local-only="false"\r
121       pfx="tmp.AnAI-data.si">\r
122                                                                             <parameter name="start[0]" value="`'nodes/service-instance/' + $serv-inst.service-instance-id `" />\r
123                                                                             <parameter name="start_length" value="1" />\r
124                                                                             <outcome value='success'>\r
125                                                                                 <block>\r
126                                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\r
127                                                                                         <parameter name="original_string" value="`$tmp.AnAI-data.si.results[0].url`" />\r
128                                                                                         <parameter name="regex" value="/"/>\r
129                                                                                         <parameter name="limit" value="11" />\r
130                                                                                         <parameter name="ctx_memory_result_key" value="split" />\r
131                                                                                     </execute>\r
132                                                                                     <set>\r
133                                                                                         <parameter name='output-global-customer-id' value='`$split[6]`' />\r
134                                                                                         <parameter name='output-service-type' value='`$split[9]`' />\r
135                                                                                         <parameter name='output-service-role' value='`$tmp.AnAI-data.si.results[0].service-instance.service-role`' />\r
136                                                                                     </set>\r
137                                                                                 </block>\r
138                                                                             </outcome>\r
139                                                                         </save>\r
140                                                                     </outcome>\r
141                                                                 </switch>\r
142                                                                 <block>\r
143                                                                     <switch test='`$runtime-index`'>\r
144                                                                         <outcome value='0'>\r
145                                                                             <set>\r
146                                                                                 <parameter name='service.service-role' value='`$aai.service-instances.results[0].service-instance.service-role`' />\r
147                                                                             </set>\r
148                                                                         </outcome>\r
149                                                                     </switch>\r
150                                                                     <set>\r
151                                                                         <parameter name='mdsal-service.' value='' />\r
152                                                                         <parameter name='serv-inst.api' value='' />\r
153                                                                     </set>\r
154                                                                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
155                                                                         <parameter name="source" value="`$prop.restapi.service`"/>\r
156                                                                         <parameter name="outputPath" value="tmp.service-url"/>\r
157                                                                         <parameter name="target" value="{service-instance-id}"/>\r
158                                                                         <parameter name="replacement" value="`$serv-inst.service-instance-id`"/>\r
159                                                                     </execute>\r
160                                                                     <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
161                                                                         <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.service-url`' />\r
162                                                                         <parameter name='restapiUser' value='`$prop.controller.user`' />\r
163                                                                         <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
164                                                                         <parameter name='format' value='json' />\r
165                                                                         <parameter name='httpMethod' value='GET' />\r
166                                                                         <parameter name="responsePrefix" value="mdsal-service" />\r
167                                                                         <outcome value='success'>\r
168                                                                             <block>\r
169                                                                                 <switch test='`$mdsal-service.service[0].service-data.vnfs.vnf_length`'>\r
170                                                                                     <outcome value=''>\r
171                                                                                         <set>\r
172                                                                                             <parameter name='data-error' value="`'Service instance ' + $si.service-instance-id + ' has no VNFs, skipping'`" />\r
173                                                                                         </set>\r
174                                                                                     </outcome>\r
175                                                                                     <outcome value='0'>\r
176                                                                                         <set>\r
177                                                                                             <parameter name='data-error' value="`'Service instance ' + $si.service-instance-id + ' has no VNFs, skipping'`" />\r
178                                                                                         </set>\r
179                                                                                     </outcome>\r
180                                                                                     <outcome value='1'>\r
181                                                                                         <block>\r
182                                                                                             <call module='GENERIC-RESOURCE-API' rpc='getpathsegment-populate-from-grapi' mode='sync' ></call>\r
183                                                                                             <set>\r
184                                                                                                 <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].' value='`$serv-inst.`' />\r
185                                                                                             </set>\r
186                                                                                             <set>\r
187                                                                                                 <parameter name='tmp.serv-insts_length' value='`$tmp.serv-insts_length + 1`' />\r
188                                                                                             </set>\r
189                                                                                         </block>\r
190                                                                                     </outcome>\r
191                                                                                     <outcome value='Other'>\r
192                                                                                         <switch test='`$mdsal-service.service[0].service-data.forwarding-paths.forwarding-path_length`'>\r
193                                                                                             <outcome value=''>\r
194                                                                                                 <set>\r
195                                                                                                     <parameter name='data-error' value="`'Service instance ' + $serv-inst.service-instance-id + ' has multiple VNFs but no forwarding paths were found'`" />\r
196                                                                                                 </set>\r
197                                                                                             </outcome>\r
198                                                                                             <outcome value='0'>\r
199                                                                                                 <set>\r
200                                                                                                     <parameter name='data-error' value="`'Service instance ' + $serv-inst.service-instance-id + ' has multiple VNFs but no forwarding paths were found'`" />\r
201                                                                                                 </set>\r
202                                                                                             </outcome>\r
203                                                                                             <outcome value='Other'>\r
204                                                                                                 <block>\r
205                                                                                                     <call module='GENERIC-RESOURCE-API' rpc='getpathsegment-populate-from-grapi' mode='sync' ></call>\r
206                                                                                                     <set>\r
207                                                                                                         <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].' value='`$serv-inst.`' />\r
208                                                                                                     </set>\r
209                                                                                                     <set>\r
210                                                                                                         <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].forwarding-paths.'\r
211   value='`$mdsal-service.service[0].service-data.forwarding-paths.`' />\r
212                                                                                                     </set>\r
213                                                                                                     <set>\r
214                                                                                                         <parameter name='tmp.serv-insts_length' value='`$tmp.serv-insts_length + 1`' />\r
215                                                                                                     </set>\r
216                                                                                                 </block>\r
217                                                                                             </outcome>\r
218                                                                                         </switch>\r
219                                                                                     </outcome>\r
220                                                                                 </switch>\r
221                                                                             </block>\r
222                                                                         </outcome>\r
223                                                                         <outcome value='failure'>\r
224                                                                             <block>\r
225                                                                                 <call module='GENERIC-RESOURCE-API' rpc='getpathsegment-populate-from-vnfapi' mode='sync' ></call>\r
226                                                                                 <switch test='`$serv-inst.api`'>\r
227                                                                                     <outcome value=''>\r
228                                                                                         <set>\r
229                                                                                             <parameter name='data-error' value="`'Failure finding service instance ' + $si.service-instance-id + ' in either GENERIC-REOURCE-API or VNF-API'`" />\r
230                                                                                         </set>\r
231                                                                                     </outcome>\r
232                                                                                     <outcome value='Other'>\r
233                                                                                         <block>\r
234                                                                                             <switch test='`$serv-inst.vnf-list_length`'>\r
235                                                                                                 <outcome value=''>\r
236                                                                                                     <set>\r
237                                                                                                         <parameter name='data-error' value="`'Service instance ' + $si.service-instance-id + ' has no VNFs, skipping'`" />\r
238                                                                                                     </set>\r
239                                                                                                 </outcome>\r
240                                                                                                 <outcome value='0'>\r
241                                                                                                     <set>\r
242                                                                                                         <parameter name='data-error' value="`'Service instance ' + $si.service-instance-id + ' has no VNFs, skipping'`" />\r
243                                                                                                     </set>\r
244                                                                                                 </outcome>\r
245                                                                                                 <outcome value='1'>\r
246                                                                                                     <block>\r
247                                                                                                         <set>\r
248                                                                                                             <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].' value='`$serv-inst.`' />\r
249                                                                                                         </set>\r
250                                                                                                         <set>\r
251                                                                                                             <parameter name='tmp.serv-insts_length' value='`$tmp.serv-insts_length + 1`' />\r
252                                                                                                         </set>\r
253                                                                                                     </block>\r
254                                                                                                 </outcome>\r
255                                                                                                 <outcome value='Other'>\r
256                                                                                                     <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\r
257   key='SELECT forwarding_path_service_instance_id from SERVICE_INSTANCE_TO_COMPOSITE_INSTANCE_MAPPING WHERE simple_service_instance_id = $serv-inst.service-instance-id'\r
258   pfx='db.mapped-service-instance-id'>\r
259                                                                                                         <outcome value='failure'>\r
260                                                                                                             <set>\r
261                                                                                                                 <parameter name='data-error' value="System error reading SERVICE_INSTANCE_TO_COMPOSITE_INSTANCE_MAPPING table" />\r
262                                                                                                             </set>\r
263                                                                                                         </outcome>\r
264                                                                                                         <outcome value='not-found'>\r
265                                                                                                             <set>\r
266                                                                                                                 <parameter name='data-error' value="`'No entry in SERVICE_INSTANCE_TO_COMPOSITE_INSTANCE_MAPPING table for service instance ' + $serv-inst.service-instance-id`" />\r
267                                                                                                             </set>\r
268                                                                                                         </outcome>\r
269                                                                                                         <outcome value='success'>\r
270                                                                                                             <block>\r
271                                                                                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
272                                                                                                                     <parameter name="source" value="`$prop.restapi.service`"/>\r
273                                                                                                                     <parameter name="outputPath" value="tmp.service-url"/>\r
274                                                                                                                     <parameter name="target" value="{service-instance-id}"/>\r
275                                                                                                                     <parameter name="replacement" value="`$db.mapped-service-instance-id.forwarding-path-service-instance-id`"/>\r
276                                                                                                                 </execute>\r
277                                                                                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
278                                                                                                                     <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.service-url`' />\r
279                                                                                                                     <parameter name='restapiUser' value='`$prop.controller.user`' />\r
280                                                                                                                     <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
281                                                                                                                     <parameter name='format' value='json' />\r
282                                                                                                                     <parameter name='httpMethod' value='GET' />\r
283                                                                                                                     <parameter name="responsePrefix" value="mdsal-service" />\r
284                                                                                                                     <outcome value='failure'>\r
285                                                                                                                         <set>\r
286                                                                                                                             <parameter name='data-error' value="`'Cannot find service instance ' + $db.mapped-service-instance-id.forwarding-path-service-instance-id + ' in MD-SAL'`" />\r
287                                                                                                                         </set>\r
288                                                                                                                     </outcome>\r
289                                                                                                                     <outcome value='success'>\r
290                                                                                                                         <switch test='`$mdsal-service.service[0].service-data.forwarding-paths.forwarding-path_length`'>\r
291                                                                                                                             <outcome value=''>\r
292                                                                                                                                 <set>\r
293                                                                                                                                     <parameter name='data-error' value="`'Service instance ' + $db.mapped-service-instance-id.forwarding-path-service-instance-id + ' has multiple VNFs but no forwarding paths were found'`" />\r
294                                                                                                                                 </set>\r
295                                                                                                                             </outcome>\r
296                                                                                                                             <outcome value='0'>\r
297                                                                                                                                 <set>\r
298                                                                                                                                     <parameter name='data-error' value="`'Service instance ' + $db.mapped-service-instance-id.forwarding-path-service-instance-id + ' has multiple VNFs but no forwarding paths were found'`" />\r
299                                                                                                                                 </set>\r
300                                                                                                                             </outcome>\r
301                                                                                                                             <outcome value='Other'>\r
302                                                                                                                                 <block>\r
303                                                                                                                                     <set>\r
304                                                                                                                                         <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].' value='`$serv-inst.`' />\r
305                                                                                                                                     </set>\r
306                                                                                                                                     <set>\r
307                                                                                                                                         <parameter name='serv-cust[$serv-index].serv-insts[$tmp.serv-insts_length].forwarding-paths.'\r
308   value='`$mdsal-service.service[0].service-data.forwarding-paths.`' />\r
309                                                                                                                                     </set>\r
310                                                                                                                                     <set>\r
311                                                                                                                                         <parameter name='tmp.serv-insts_length' value='`$tmp.serv-insts_length + 1`' />\r
312                                                                                                                                     </set>\r
313                                                                                                                                 </block>\r
314                                                                                                                             </outcome>\r
315                                                                                                                         </switch>\r
316                                                                                                                     </outcome>\r
317                                                                                                                 </execute>\r
318                                                                                                             </block>\r
319                                                                                                         </outcome>\r
320                                                                                                     </get-resource>\r
321                                                                                                 </outcome>\r
322                                                                                             </switch>\r
323                                                                                         </block>\r
324                                                                                     </outcome>\r
325                                                                                 </switch>\r
326                                                                             </block>\r
327                                                                         </outcome>\r
328                                                                     </execute>\r
329                                                                     <set>\r
330                                                                         <parameter name='serv-inst.' value='' />\r
331                                                                     </set>\r
332                                                                 </block>\r
333                                                             </block>\r
334                                                         </outcome>\r
335                                                     </switch>\r
336                                                 </for>\r
337                                                 <set>\r
338                                                     <parameter name='serv-cust[$serv-index].serv-insts_length' value='`$tmp.serv-insts_length`' />\r
339                                                 </set>\r
340                                             </block>\r
341                                         </outcome>\r
342                                     </save>\r
343                                 </outcome>\r
344                             </switch>\r
345                         </for>\r
346                         <call module='GENERIC-RESOURCE-API' rpc='getpathsegment-composite-match-pair' mode='sync' ></call>\r
347                         <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
348                             <parameter name='filename' value='/var/tmp/gpsx.log' />\r
349                         </execute>\r
350                         <switch test='`$service-paths.service-path_length`'>\r
351                             <outcome value=''>\r
352                                 <block></block>\r
353                             </outcome>\r
354                             <outcome value='0'>\r
355                                 <block></block>\r
356                             </outcome>\r
357                             <outcome value='Other'>\r
358                                 <block>\r
359                                     <set>\r
360                                         <parameter name='found-service-path' value='false' />\r
361                                     </set>\r
362                                     <for index='sp-index' start='0' end='`$service-paths.service-path_length`' >\r
363                                         <switch test='`$service-paths.service-path[$sp-index].service_length == $serv-cust_length`'>\r
364                                             <outcome value='true'>\r
365                                                 <block>\r
366                                                     <set>\r
367                                                         <parameter name='found-service-path' value='true' />\r
368                                                     </set>\r
369                                                     <break/>\r
370                                                 </block>\r
371                                             </outcome>\r
372                                         </switch>\r
373                                     </for>\r
374                                     <switch test='`$found-service-path`'>\r
375                                         <outcome value='false'>\r
376                                             <set>\r
377                                                 <parameter name='error-message' value="`'No service paths found for path name '\r
378   + $db.path-segment[0].path-name`" />\r
379                                             </set>\r
380                                         </outcome>\r
381                                         <outcome value='true'>\r
382                                             <block>\r
383                                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >\r
384                                                     <parameter name="ctx-destination" value="forwarding-path.forwarding-path-id" />\r
385                                                 </execute>\r
386                                                 <set>\r
387                                                     <parameter name='forwarding-path.forwarding-path-name' value='`$db.path-segment[0].path-name`' />\r
388                                                     <parameter name='forwarding-path.forwarding-path-type' value='Service' />\r
389                                                     <parameter name='forwarding-path.onap-model-information.model-name' value='`$db.path-segment[0].path-name`' />\r
390                                                 </set>\r
391                                                 <set>\r
392                                                     <parameter name='forwarding-path.service-paths.' value='`$service-paths.`' />\r
393                                                 </set>\r
394                                                 <switch test='`$output-service-instance-id`'>\r
395                                                     <outcome value=''>\r
396                                                         <block>\r
397                                                             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >\r
398                                                                 <parameter name="ctx-destination" value="tmp.service-instance-id" />\r
399                                                             </execute>\r
400                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
401                                                                 <parameter name="source" value="`$prop.restapi.service`"/>\r
402                                                                 <parameter name="outputPath" value="tmp.service-url"/>\r
403                                                                 <parameter name="target" value="{service-instance-id}"/>\r
404                                                                 <parameter name="replacement" value="`$tmp.service-instance-id`"/>\r
405                                                             </execute>\r
406                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
407                                                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.csm.serviceinstance.templatefile`" />\r
408                                                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.service-url`' />\r
409                                                                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
410                                                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
411                                                                 <parameter name='format' value='json' />\r
412                                                                 <parameter name='httpMethod' value='PUT' />\r
413                                                                 <parameter name="responsePrefix" value="mdsal-sr" />\r
414                                                                 <outcome value='failure'>\r
415                                                                     <set>\r
416                                                                         <parameter name='error-message' value="Failure creating service instance in MD-SAL" />\r
417                                                                     </set>\r
418                                                                 </outcome>\r
419                                                             </execute>\r
420                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
421         resource="service-instance" \r
422         key="customer.global-customer-id = $output-global-customer-id\r
423           AND service-subscription.service-type = $output-service-type\r
424           AND service-instance.service-instance-id = $tmp.service-instance-id" >\r
425                                                                 <parameter name="service-instance-id" value="`$tmp.service-instance-id`" />\r
426                                                                 <parameter name="global-customer-id" value="`$output-global-customer-id`" />\r
427                                                                 <parameter name="service-type" value="`$output-service-type`" />\r
428                                                                 <parameter name="service-role" value="`$output-service-role`" />\r
429                                                                 <outcome value='failure'>\r
430                                                                     <set>\r
431                                                                         <parameter name='error-message' value="Failure creating service instance in AAI" />\r
432                                                                     </set>\r
433                                                                 </outcome>\r
434                                                                 <outcome value='not-found'>\r
435                                                                     <set>\r
436                                                                         <parameter name='error-message' value="Failure creating service instance in AAI" />\r
437                                                                     </set>\r
438                                                                 </outcome>\r
439                                                             </save>\r
440                                                             <set>\r
441                                                                 <parameter name='output-service-instance-id' value='`$tmp.service-instance-id`' />\r
442                                                             </set>\r
443                                                         </block>\r
444                                                     </outcome>\r
445                                                     <outcome value='0'>\r
446                                                         <block>\r
447                                                             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID" >\r
448                                                                 <parameter name="ctx-destination" value="tmp.service-instance-id" />\r
449                                                             </execute>\r
450                                                             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
451                                                                 <parameter name="source" value="`$prop.restapi.service`"/>\r
452                                                                 <parameter name="outputPath" value="tmp.service-url"/>\r
453                                                                 <parameter name="target" value="{service-instance-id}"/>\r
454                                                                 <parameter name="replacement" value="`$tmp.service-instance-id`"/>\r
455                                                             </execute>\r
456                                                             <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
457                                                                 <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.csm.serviceinstance.templatefile`" />\r
458                                                                 <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.service-url`' />\r
459                                                                 <parameter name='restapiUser' value='`$prop.controller.user`' />\r
460                                                                 <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
461                                                                 <parameter name='format' value='json' />\r
462                                                                 <parameter name='httpMethod' value='PUT' />\r
463                                                                 <parameter name="responsePrefix" value="mdsal-sr" />\r
464                                                                 <outcome value='failure'>\r
465                                                                     <set>\r
466                                                                         <parameter name='error-message' value="Failure creating service instance in MD-SAL" />\r
467                                                                     </set>\r
468                                                                 </outcome>\r
469                                                             </execute>\r
470                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
471         resource="service-instance" \r
472         key="customer.global-customer-id = $output-global-customer-id\r
473           AND service-subscription.service-type = $output-service-type\r
474           AND service-instance.service-instance-id = $tmp.service-instance-id" >\r
475                                                                 <parameter name="service-instance-id" value="`$tmp.service-instance-id`" />\r
476                                                                 <parameter name="global-customer-id" value="`$output-global-customer-id`" />\r
477                                                                 <parameter name="service-type" value="`$output-service-type`" />\r
478                                                                 <parameter name="service-role" value="`$output-service-role`" />\r
479                                                                 <outcome value='failure'>\r
480                                                                     <set>\r
481                                                                         <parameter name='error-message' value="Failure creating service instance in AAI" />\r
482                                                                     </set>\r
483                                                                 </outcome>\r
484                                                                 <outcome value='not-found'>\r
485                                                                     <set>\r
486                                                                         <parameter name='error-message' value="Failure creating service instance in AAI" />\r
487                                                                     </set>\r
488                                                                 </outcome>\r
489                                                             </save>\r
490                                                             <set>\r
491                                                                 <parameter name='output-service-instance-id' value='`$tmp.service-instance-id`' />\r
492                                                             </set>\r
493                                                         </block>\r
494                                                     </outcome>\r
495                                                 </switch>\r
496                                                 <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
497                                                     <parameter name="source" value="`$prop.restapi.forwarding-path`"/>\r
498                                                     <parameter name="outputPath" value="tmp.fp-url"/>\r
499                                                     <parameter name="target" value="{service-instance-id}"/>\r
500                                                     <parameter name="replacement" value="`$output-service-instance-id`"/>\r
501                                                 </execute>\r
502                                                 <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
503                                                     <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.forwardingpath.templatefile`" />\r
504                                                     <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.fp-url + $forwarding-path.forwarding-path-id`' />\r
505                                                     <parameter name='restapiUser' value='`$prop.controller.user`' />\r
506                                                     <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
507                                                     <parameter name='format' value='json' />\r
508                                                     <parameter name='httpMethod' value='PUT' />\r
509                                                     <parameter name="responsePrefix" value="mdsal-fp" />\r
510                                                     <outcome value='failure'>\r
511                                                         <set>\r
512                                                             <parameter name='error-message' value="Failure writing forwarding-path to MD-SAL" />\r
513                                                         </set>\r
514                                                     </outcome>\r
515                                                     <outcome value='not-found'>\r
516                                                         <set>\r
517                                                             <parameter name='error-message' value="Failure writing forwarding-path to MD-SAL" />\r
518                                                         </set>\r
519                                                     </outcome>\r
520                                                 </execute>\r
521                                                 <for index='sp-index' start='0' end='`$service-paths.service-path_length`' >\r
522                                                     <switch test='`$service-paths.service-path[$sp-index].service_length == $serv-cust_length`'>\r
523                                                         <outcome value='true'>\r
524                                                             <block>\r
525                                                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
526         resource="forwarding-path" \r
527         key="forwarding-path.forwarding-path-id = $forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id" >\r
528                                                                     <parameter name="forwarding-path-id" value="`$forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id`" />\r
529                                                                     <parameter name="forwarding-path-name" value="`$forwarding-path.service-paths.service-path[$sp-index].service-path-instance-name`" />\r
530                                                                     <parameter name="selflink" value="`'/restconf/config/GENERIC-RESOURCE-API:services/service/'\r
531   + $output-service-instance-id\r
532   + '/forwarding-paths/forwarding-path/'\r
533   + $forwarding-path.forwarding-path-id\r
534   + '/services-paths/service-path/'\r
535   + $forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id`" />\r
536                                                                     <outcome value='failure'>\r
537                                                                         <set>\r
538                                                                             <parameter name='error-message' value="Failure writing forwarding-path to AAI" />\r
539                                                                         </set>\r
540                                                                     </outcome>\r
541                                                                     <outcome value='not-found'>\r
542                                                                         <set>\r
543                                                                             <parameter name='error-message' value="Failure writing forwarding-path to AAI" />\r
544                                                                         </set>\r
545                                                                     </outcome>\r
546                                                                 </save>\r
547                                                                 <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
548    resource="forwarding-path:relationship-list"\r
549    key="forwarding-path.forwarding-path-id = $forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id"\r
550    force="true" pfx="tmp.AnAI-data">\r
551                                                                     <parameter name="relationship-list.relationship[0].related-to" value="service-instance" />\r
552                                                                     <parameter name="relationship-list.relationship[0].related-link"\r
553       value="`'/aai/v$/business/customers/customer/'\r
554         + $output-global-customer-id\r
555         + '/service-subscriptions/service-subscription/'\r
556         + $output-service-type\r
557         + '/service-instances/service-instance/'\r
558         + $output-service-instance-id`" />\r
559                                                                     <outcome value='failure'>\r
560                                                                         <set>\r
561                                                                             <parameter name='error-message' value="Failure writing forwarding-path relationship to AAI" />\r
562                                                                         </set>\r
563                                                                     </outcome>\r
564                                                                     <outcome value='not-found'>\r
565                                                                         <set>\r
566                                                                             <parameter name='error-message' value="Failure writing forwarding-path relationship to AAI" />\r
567                                                                         </set>\r
568                                                                     </outcome>\r
569                                                                 </save>\r
570                                                                 <for index='service-index' start='0' end='`$service-paths.service-path[$sp-index].service_length`' >\r
571                                                                     <for index='vnf-index' start='0' end='`$forwarding-path.service-paths.service-path[$sp-index].service[$service-index].vnfs.vnf_length`' >\r
572                                                                         <block>\r
573                                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
574         resource="forwarder" \r
575         key="forwarding-path.forwarding-path-id = $forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id\r
576           AND forwarder.sequence = $forwarding-path.service-paths.service-path[$sp-index].service[$service-index].vnfs.vnf[$vnf-index].vnf-path-sequence-id" >\r
577                                                                                 <parameter name="sequence" value="`$forwarding-path.service-paths.service-path[$sp-index].service[$service-index].vnfs.vnf[$vnf-index].vnf-path-sequence-id`" />\r
578                                                                                 <outcome value='failure'>\r
579                                                                                     <set>\r
580                                                                                         <parameter name='error-message' value="Failure writing forwarder to AAI" />\r
581                                                                                     </set>\r
582                                                                                 </outcome>\r
583                                                                                 <outcome value='not-found'>\r
584                                                                                     <set>\r
585                                                                                         <parameter name='error-message' value="Failure writing forwarder to AAI" />\r
586                                                                                     </set>\r
587                                                                                 </outcome>\r
588                                                                             </save>\r
589                                                                             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
590    resource="forwarder:relationship-list"\r
591    key="forwarding-path.forwarding-path-id = $forwarding-path.service-paths.service-path[$sp-index].service-path-instance-id\r
592      AND forwarder.sequence = $forwarding-path.service-paths.service-path[$sp-index].service[$service-index].vnfs.vnf[$vnf-index].vnf-path-sequence-id"\r
593    force="true" pfx="tmp.AnAI-data">\r
594                                                                                 <parameter name="relationship-list.relationship[0].related-to" value="generic-vnf" />\r
595                                                                                 <parameter name="relationship-list.relationship[0].related-link"\r
596       value="`'/aai/v$/network/generic-vnfs/generic-vnf/'\r
597         + $forwarding-path.service-paths.service-path[$sp-index].service[$service-index].vnfs.vnf[$vnf-index].vnf-instance-id`" />\r
598                                                                                 <outcome value='failure'>\r
599                                                                                     <set>\r
600                                                                                         <parameter name='error-message' value="Failure writing forwarder relationship to AAI" />\r
601                                                                                     </set>\r
602                                                                                 </outcome>\r
603                                                                                 <outcome value='not-found'>\r
604                                                                                     <set>\r
605                                                                                         <parameter name='error-message' value="Failure writing forwarder relationship to AAI" />\r
606                                                                                     </set>\r
607                                                                                 </outcome>\r
608                                                                             </save>\r
609                                                                         </block>\r
610                                                                     </for>\r
611                                                                 </for>\r
612                                                             </block>\r
613                                                         </outcome>\r
614                                                     </switch>\r
615                                                 </for>\r
616                                             </block>\r
617                                         </outcome>\r
618                                     </switch>\r
619                                 </block>\r
620                             </outcome>\r
621                         </switch>\r
622                     </block>\r
623                 </outcome>\r
624             </get-resource>\r
625         </block>\r
626     </method>\r
627 </service-logic>