Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_wan-connection-topology-operation-activate.xml
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <service-logic xmlns="http://www.onap.org/sdnc/svclogic" 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}">
4   <method rpc="wan-connection-topology-operation-activate" mode="sync"> 
5     <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
6       <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
7       <parameter name="target" value="specification"/>  
8       <outcome value="true"> 
9         <return status="success"> 
10           <parameter name="ack-final-indicator" value="Y"/>  
11           <parameter name="error-code" value="200"/>  
12           <parameter name="error-message" value="`$error-message`"/> 
13         </return>
14       </outcome>
15       <outcome value="false"> 
16         <block atomic="true">
17           <block atomic="true">
18             <execute plugin="org.onap.ccsdk.sli.plugins.prop.PropertiesNode" method="readProperties"> 
19               <parameter name="fileName" value="%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties"/>  
20               <parameter name="contextPrefix" value="prop"/> 
21             </execute>
22             <set> 
23               <parameter name="tmp.found-network-input" value="false"/>
24             </set>
25             <for index="pidx" start="0" end="`$service-data.networks.network_length`"> 
26               <switch test="`$service-data.networks.network[$pidx].network-data.network-information.onap-model-information.model-name == $network-topology-operation-input.network-information.onap-model-information.model-name`"> 
27                 <outcome value="true"> 
28                   <set> 
29                     <parameter name="tmp.pidx" value="`$pidx`"/>  
30                     <parameter name="tmp.network." value="`$service-data.networks.network[$pidx].`"/>  
31                     <parameter name="tmp.network-input-parameters" value="`$service-data.networks.network[$pidx].network-data.network-request-input.network-input-parameters`"/>  
32                     <parameter name="tmp.found-network-input" value="true"/>
33                   </set>
34                 </outcome>
35               </switch>
36             </for>
37           </block>
38           <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
39             <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
40             <parameter name="target" value="FC"/>  
41             <outcome value="true"> 
42               <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
43                 <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
44                 <parameter name="target" value="sotn"/>  
45                 <outcome value="true"> 
46                   <block> 
47                     <block atomic="true">
48                       <set> 
49                         <parameter name="sotnFcPortListLength" value="0"/>
50                       </set>
51                       <for index="sIdx" start="0" end="`$service-data.networks.network_length`"> 
52                         <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
53                           <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`"/>  
54                           <parameter name="target" value="sotn"/>  
55                           <outcome value="true"> 
56                             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
57                               <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-information.onap-model-information.model-name`"/>  
58                               <parameter name="target" value="FcPort"/>  
59                               <outcome value="true"> 
60                                 <block atomic="true">
61                                   <set> 
62                                     <parameter name="tmp.sotnFcPortList[`$sotnFcPortListLength`]" value="`$sIdx`"/>
63                                   </set>
64                                   <for index="paramIdx" start="0" end="`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param_length`"> 
65                                     <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
66                                       <parameter name="source" value="`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].name`"/>  
67                                       <parameter name="target" value="address"/>  
68                                       <outcome value="true"> 
69                                         <block atomic="true">
70                                           <set> 
71                                             <parameter name="sotnFcPortAddress" value="`$service-data.networks.network[$sIdx].network-data.network-request-input.network-input-parameters.param[$paramIdx].value`"/>
72                                           </set>
73                                           <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> 
74                                             <parameter name="restapiUrl" value="`$prop.oss.url + '/oss/inventory?location=' + $sotnFcPortAddress`"/>  
75                                             <parameter name="format" value="json"/>  
76                                             <parameter name="customHttpHeaders" value="X-FromAppId=MSO"/>  
77                                             <parameter name="httpMethod" value="GET"/>  
78                                             <parameter name="responsePrefix" value="temp.oss.accessTPs"/>  
79                                             <outcome value="success"> 
80                                               <switch test="`$temp.oss.accessTPs_length`"> 
81                                                 <outcome value="Other"> 
82                                                   <block atomic="true">
83                                                     <switch test="`$temp.accessTPs_length`"> 
84                                                       <outcome value=""> 
85                                                         <set> 
86                                                           <parameter name="tp_length" value="0"/>
87                                                         </set>
88                                                       </outcome>
89                                                       <outcome value="Other"> 
90                                                         <set> 
91                                                           <parameter name="tp_length" value="`$temp.accessTPs_length`"/>
92                                                         </set>
93                                                       </outcome>
94                                                     </switch>
95                                                     <for index="idx" start="0" end="`$temp.oss.accessTPs_length`"> 
96                                                       <set> 
97                                                         <parameter name="`temp.accessTPs[$idx + $tp_length].`" value="`$temp.oss.accessTPs[$idx].`"/>
98                                                       </set>
99                                                     </for>
100                                                     <set> 
101                                                       <parameter name="temp.accessTPs_length" value="`$temp.accessTPs_length + $temp.oss.accessTPs_length`"/> 
102                                                     </set>
103                                                   </block>
104                                                 </outcome>
105                                               </switch>
106                                             </outcome>
107                                           </execute>
108                                         </block>
109                                       </outcome>
110                                     </execute>
111                                   </for>
112                                 </block>
113                               </outcome>
114                             </execute>
115                           </outcome>
116                         </execute>
117                       </for>
118                     </block>
119                     <switch test="`$temp.accessTPs_length &gt;= 2`"> 
120                       <outcome value="true"> 
121                         <block atomic="true">
122                           <set> 
123                             <parameter name="prop.connection-attachment.access-topology-id" value="`$temp.accessTPs[0].access-topology-id`"/>  
124                             <parameter name="prop.connection-attachment.access-client-id" value="`$temp.accessTPs[0].access-client-id`"/>  
125                             <parameter name="prop.connection-attachment.access-provider-id" value="`$temp.accessTPs[0].access-provider-id`"/>  
126                             <parameter name="prop.connection-attachment.access-node-id" value="`$temp.accessTPs[0].access-node-id`"/>  
127                             <parameter name="prop.connection-attachment.access-ltp-id" value="`$temp.accessTPs[0].access-ltp-id`"/>  
128                             <parameter name="prop.remote.connection-attachment.access-topology-id" value="`$temp.accessTPs[1].access-topology-id`"/>  
129                             <parameter name="prop.remote.connection-attachment.access-client-id" value="`$temp.accessTPs[1].access-client-id`"/>  
130                             <parameter name="prop.remote.connection-attachment.access-provider-id" value="`$temp.accessTPs[1].access-provider-id`"/>  
131                             <parameter name="prop.remote.connection-attachment.access-node-id" value="`$temp.accessTPs[1].access-node-id`"/>  
132                             <parameter name="prop.remote.connection-attachment.access-ltp-id" value="`$temp.accessTPs[1].access-ltp-id`"/>
133                           </set>
134                           <for index="paidx" start="0" end="`$tmp.network-input-parameters.param_length`">
135                             <block> 
136                               <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'name'`">
137                                 <outcome value="true"> 
138                                   <set> 
139                                     <parameter name="template.name" value="`$tmp.network-input-parameters.param[$paidx].value`"/> 
140                                   </set>
141                                 </outcome>
142                               </switch>
143                               <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'service-type'`">
144                                 <outcome value="true"> 
145                                   <set> 
146                                     <parameter name="template.service-type" value="`$tmp.network-input-parameters.param[$paidx].value`"/> 
147                                   </set>
148                                 </outcome>
149                               </switch>
150                               <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'total-size'`">
151                                 <outcome value="true"> 
152                                   <set> 
153                                     <parameter name="template.total-size" value="`$tmp.network-input-parameters.param[$paidx].value`"/> 
154                                   </set>
155                                 </outcome>
156                               </switch>
157                               <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'pir'`">
158                                 <outcome value="true"> 
159                                   <set> 
160                                     <parameter name="template.pir" value="`$tmp.network-input-parameters.param[$paidx].value`"/> 
161                                   </set>
162                                 </outcome>
163                               </switch>
164                               <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'cbs'`">
165                                 <outcome value="true"> 
166                                   <set> 
167                                     <parameter name="template.cbs" value="`$tmp.network-input-parameters.param[$paidx].value`"/> 
168                                   </set>
169                                 </outcome>
170                               </switch>
171                               <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'pbs'`">
172                                 <outcome value="true"> 
173                                   <set> 
174                                     <parameter name="template.pbs" value="`$tmp.network-input-parameters.param[$paidx].value`"/> 
175                                   </set>
176                                 </outcome>
177                               </switch>
178                               <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'couplingFlag'`">
179                                 <outcome value="true"> 
180                                   <set> 
181                                     <parameter name="template.couplingFlag" value="`$tmp.network-input-parameters.param[$paidx].value`"/> 
182                                   </set>
183                                 </outcome>
184                               </switch>
185                               <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'colorAware'`">
186                                 <outcome value="true"> 
187                                   <set> 
188                                     <parameter name="template.colorAware" value="`$tmp.network-input-parameters.param[$paidx].value`"/> 
189                                   </set>
190                                 </outcome>
191                               </switch>
192                               <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'route-objective-function'`">
193                                 <outcome value="true"> 
194                                   <set> 
195                                     <parameter name="template.route-objective-function" value="`$tmp.network-input-parameters.param[$paidx].value`"/> 
196                                   </set>
197                                 </outcome>
198                               </switch>
199                               <switch test="`$tmp.network-input-parameters.param[$paidx].name == 'diversity-policy'`">
200                                 <outcome value="true"> 
201                                   <set> 
202                                     <parameter name="template.diversity-policy" value="`$tmp.network-input-parameters.param[$paidx].value`"/> 
203                                   </set>
204                                 </outcome>
205                               </switch>
206                             </block>
207                           </for>
208                           <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> 
209                             <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/' + $prop.restapi.oof-getpath.templatefile`"/>  
210                             <parameter name="restapiUrl" value="`$prop.restapi.connection-oof-url`"/>  
211                             <parameter name="restapiUser" value="`$prop.oof.user`"/>  
212                             <parameter name="restapiPassword" value="`$prop.oof.password`"/>  
213                             <parameter name="format" value="json"/>  
214                             <parameter name="httpMethod" value="post"/>  
215                             <parameter name="responsePrefix" value="oof"/>  
216                             <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>  
217                             <parameter name="trustStorePassword" value="adminadmin"/>  
218                             <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>  
219                             <parameter name="keyStorePassword" value="adminadmin"/>  
220                             <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>
221                             <outcome value="failure"></outcome>
222                             <outcome value="success"> 
223                               <for index="vidx" start="0" end="`$oof.vpns_length`">
224                                 <block atomic="true">
225                                   <set> 
226                                     <parameter name="oof.vpn." value="`$oof.vpns[$vidx].`"/>
227                                   </set>
228                                   <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $oof.vpn.access-node-id    AND depth = '0'" pfx="tmp.aai.pnf" local-only="false"> 
229                                     <outcome value="success"> 
230                                       <set> 
231                                         <parameter name="tmp.thirdparty-sdnc-id" value="`$tmp.aai.pnf.relationship-list.relationship[0].relationship-data[0].relationship-value`"/> 
232                                       </set>
233                                     </outcome>
234                                     <outcome value="not-found"> 
235                                       <return status="failure"> 
236                                         <parameter name="ack-final" value="Y"/>  
237                                         <parameter name="error-code" value="500"/>  
238                                         <parameter name="error-message" value="`'An error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/> 
239                                       </return>
240                                     </outcome>
241                                     <outcome value="Other"> 
242                                       <return status="failure"> 
243                                         <parameter name="ack-final" value="Y"/>  
244                                         <parameter name="error-code" value="500"/>  
245                                         <parameter name="error-message" value="`'Unexpected error occurred while querying pnf from AnAI with pnf-name = ' + $prop.connection-attachement.access-node-id`"/> 
246                                       </return>
247                                     </outcome>
248                                   </get-resource>
249                                   <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = $tmp.thirdparty-sdnc-id AND         depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false"> 
250                                     <outcome value="success"> 
251                                       <set> 
252                                         <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/>  
253                                         <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/>  
254                                         <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/> 
255                                       </set>
256                                     </outcome>
257                                     <outcome value="not-found"> 
258                                       <return status="failure"> 
259                                         <parameter name="ack-final" value="Y"/>  
260                                         <parameter name="error-code" value="500"/>  
261                                         <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`"/> 
262                                       </return>
263                                     </outcome>
264                                     <outcome value="Other"> 
265                                       <return status="failure"> 
266                                         <parameter name="ack-final" value="Y"/>  
267                                         <parameter name="error-code" value="500"/>  
268                                         <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`"/> 
269                                       </return>
270                                     </outcome>
271                                   </get-resource>
272                                   <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> 
273                                     <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/sotn-api-ConnectivityService.json'`"/>  
274                                     <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/operations/ZTE-API-ConnectivityService:create-connectivity-service'`"/>  
275                                     <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>  
276                                     <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>  
277                                     <parameter name="format" value="json"/>  
278                                     <parameter name="httpMethod" value="patch"/>  
279                                     <parameter name="responsePrefix" value="vpn-result"/>  
280                                     <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>  
281                                     <parameter name="trustStorePassword" value="adminadmin"/>  
282                                     <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>  
283                                     <parameter name="keyStorePassword" value="adminadmin"/>  
284                                     <parameter name="customHttpHeaders" value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`"/>
285                                     <outcome value="failure"> 
286                                       <return status="failure"> 
287                                         <parameter name="ack-final" value="Y"/>  
288                                         <parameter name="error-code" value="500"/>  
289                                         <parameter name="error-message" value="Error executing Create vpn rest api"/> 
290                                       </return>
291                                     </outcome>
292                                     <outcome value="success"> 
293                                       <block atomic="true"/>
294                                     </outcome>
295                                   </execute>
296                                 </block>
297                               </for>
298                             </outcome>
299                           </execute>
300                         </block>
301                       </outcome>
302                     </switch>
303                   </block>
304                 </outcome>
305                 <outcome value="false"> 
306                   <block atomic="true">
307                     <switch test="`$found-network-input`"> 
308                       <outcome value="false"> 
309                         <return status="failure"> 
310                           <parameter name="ack-final" value="Y"/>  
311                           <parameter name="error-code" value="404"/>  
312                           <parameter name="error-message" value="Error: Network input parameters not found"/> 
313                         </return>
314                       </outcome>
315                       <outcome value="true"> 
316                         <block atomic="true">
317                           <set> 
318                             <parameter name="tmp.restapiUrl-found" value="false"/>  
319                             <parameter name="tmp.restapiUser-found" value="false"/>  
320                             <parameter name="tmp.restapiPassword-found" value="false"/>  
321                             <parameter name="tmp.templateFileName-found" value="false"/>  
322                             <parameter name="tmp.thirdPartyAdaptorRpc-found" value="false"/>
323                           </set>
324                           <for index="cidx" start="0" end="`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`"> 
325                             <block> 
326                               <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartySdncId'`"> 
327                                 <outcome value="true"> 
328                                   <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value` AND         depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false"> 
329                                     <outcome value="success"> 
330                                       <set> 
331                                         <parameter name="prop.thirdpartySdnc-found" value="true"/>  
332                                         <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/>  
333                                         <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/>  
334                                         <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/> 
335                                       </set>
336                                     </outcome>
337                                     <outcome value="not-found"> 
338                                       <set> 
339                                         <parameter name="prop.thirdpartySdnc-found" value="false"/> 
340                                       </set>
341                                     </outcome>
342                                     <outcome value="Other"> 
343                                       <set> 
344                                         <parameter name="prop.thirdpartySdnc-found" value="false"/> 
345                                       </set>
346                                     </outcome>
347                                   </get-resource>
348                                 </outcome>
349                               </switch>
350                               <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`"> 
351                                 <outcome value="true"> 
352                                   <set> 
353                                     <parameter name="tmp.templateFileName" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>  
354                                     <parameter name="tmp.templateFileName-found" value="true"/>
355                                   </set>
356                                 </outcome>
357                               </switch>
358                               <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`"> 
359                                 <outcome value="true"> 
360                                   <set> 
361                                     <parameter name="tmp.restapiUrl" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>  
362                                     <parameter name="tmp.restapiUrl-found" value="true"/>
363                                   </set>
364                                 </outcome>
365                               </switch>
366                               <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`"> 
367                                 <outcome value="true"> 
368                                   <set> 
369                                     <parameter name="tmp.thirdPartyAdaptorRpc" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>  
370                                     <parameter name="tmp.thirdPartyAdaptorRpc-found" value="true"/>
371                                   </set>
372                                 </outcome>
373                               </switch>
374                             </block>
375                           </for>
376                           <switch test="`$tmp.thirdPartyAdaptorRpc-found == 'true'`"> 
377                             <outcome value="true"> 
378                               <call module="GENERIC-RESOURCE-API" rpc="`$tmp.thirdPartyAdaptorRpc`" mode="sync"> 
379                                 <outcome value="success"> 
380                                   <block></block>
381                                 </outcome>
382                                 <outcome value="failure"> 
383                                   <return status="failure"> 
384                                     <parameter name="ack-final" value="Y"/>  
385                                     <parameter name="error-code" value="500"/>  
386                                     <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> 
387                                   </return>
388                                 </outcome>
389                                 <outcome value="not-found"> 
390                                   <return status="failure"> 
391                                     <parameter name="ack-final" value="Y"/>  
392                                     <parameter name="error-code" value="500"/>  
393                                     <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> 
394                                   </return>
395                                 </outcome>
396                               </call>
397                             </outcome>
398                             <outcome value="false"> 
399                               <switch test="`$tmp.prop.thirdpartySdnc-found == 'true' and $tmp.templateFileName-found == 'true' and `$tmp.prop.restapiUrl-found == 'true'`"> 
400                                 <outcome value="false"> 
401                                   <return status="failure"> 
402                                     <parameter name="ack-final" value="Y"/>  
403                                     <parameter name="error-code" value="404"/>  
404                                     <parameter name="error-message" value="Error: 3rd party controller restapiUrl not found"/> 
405                                   </return>
406                                 </outcome>
407                                 <outcome value="true"> 
408                                   <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> 
409                                     <parameter name="templateFileName" value="`$tmp.templateFileName`"/>  
410                                     <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`"/>  
411                                     <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>  
412                                     <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>  
413                                     <parameter name="format" value="json"/>  
414                                     <parameter name="httpMethod" value="post"/>  
415                                     <parameter name="responsePrefix" value="restApi-result"/>
416                                     <outcome value="success"> 
417                                       <block></block>
418                                     </outcome>
419                                     <outcome value="failure"> 
420                                       <return status="failure"> 
421                                         <parameter name="ack-final" value="Y"/>  
422                                         <parameter name="error-code" value="500"/>  
423                                         <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> 
424                                       </return>
425                                     </outcome>
426                                     <outcome value="not-found"> 
427                                       <return status="failure"> 
428                                         <parameter name="ack-final" value="Y"/>  
429                                         <parameter name="error-code" value="500"/>  
430                                         <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> 
431                                       </return>
432                                     </outcome>
433                                   </execute>
434                                 </outcome>
435                               </switch>
436                             </outcome>
437                           </switch>
438                         </block>
439                       </outcome>
440                     </switch>
441                     <return status="success"> 
442                       <parameter name="ack-final-indicator" value="Y"/>  
443                       <parameter name="error-code" value="200"/>  
444                       <parameter name="error-message" value="`$error-message`"/> 
445                     </return>
446                   </block>
447                 </outcome>
448               </execute>
449             </outcome>
450             <outcome value="false"> 
451               <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
452                 <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
453                 <parameter name="target" value="FD"/>  
454                 <outcome value="true"> 
455                   <block atomic="true">
456                     <switch test="`$found-network-input`"> 
457                       <outcome value="false"> 
458                         <return status="failure"> 
459                           <parameter name="ack-final" value="Y"/>  
460                           <parameter name="error-code" value="404"/>  
461                           <parameter name="error-message" value="Error: Network input parameters not found"/> 
462                         </return>
463                       </outcome>
464                       <outcome value="true"> 
465                         <block atomic="true">
466                           <set> 
467                             <parameter name="tmp.restapiUrl-found" value="false"/>  
468                             <parameter name="tmp.restapiUser-found" value="false"/>  
469                             <parameter name="tmp.restapiPassword-found" value="false"/>  
470                             <parameter name="tmp.templateFileName-found" value="false"/>  
471                             <parameter name="tmp.thirdPartyAdaptorRpc-found" value="false"/>
472                           </set>
473                           <for index="cidx" start="0" end="`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`"> 
474                             <block> 
475                               <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartySdncId'`"> 
476                                 <outcome value="true"> 
477                                   <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value` AND         depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false"> 
478                                     <outcome value="success"> 
479                                       <set> 
480                                         <parameter name="prop.thirdpartySdnc-found" value="true"/>  
481                                         <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/>  
482                                         <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/>  
483                                         <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/> 
484                                       </set>
485                                     </outcome>
486                                     <outcome value="not-found"> 
487                                       <set> 
488                                         <parameter name="prop.thirdpartySdnc-found" value="false"/> 
489                                       </set>
490                                     </outcome>
491                                     <outcome value="Other"> 
492                                       <set> 
493                                         <parameter name="prop.thirdpartySdnc-found" value="false"/> 
494                                       </set>
495                                     </outcome>
496                                   </get-resource>
497                                 </outcome>
498                               </switch>
499                               <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`"> 
500                                 <outcome value="true"> 
501                                   <set> 
502                                     <parameter name="tmp.templateFileName" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>  
503                                     <parameter name="tmp.templateFileName-found" value="true"/>
504                                   </set>
505                                 </outcome>
506                               </switch>
507                               <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`"> 
508                                 <outcome value="true"> 
509                                   <set> 
510                                     <parameter name="tmp.restapiUrl" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>  
511                                     <parameter name="tmp.restapiUrl-found" value="true"/>
512                                   </set>
513                                 </outcome>
514                               </switch>
515                               <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`"> 
516                                 <outcome value="true"> 
517                                   <set> 
518                                     <parameter name="tmp.thirdPartyAdaptorRpc" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>  
519                                     <parameter name="tmp.thirdPartyAdaptorRpc-found" value="true"/>
520                                   </set>
521                                 </outcome>
522                               </switch>
523                             </block>
524                           </for>
525                           <switch test="`$tmp.thirdPartyAdaptorRpc-found == 'true'`"> 
526                             <outcome value="true"> 
527                               <call module="GENERIC-RESOURCE-API" rpc="`$tmp.thirdPartyAdaptorRpc`" mode="sync"> 
528                                 <outcome value="success"> 
529                                   <block></block>
530                                 </outcome>
531                                 <outcome value="failure"> 
532                                   <return status="failure"> 
533                                     <parameter name="ack-final" value="Y"/>  
534                                     <parameter name="error-code" value="500"/>  
535                                     <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> 
536                                   </return>
537                                 </outcome>
538                                 <outcome value="not-found"> 
539                                   <return status="failure"> 
540                                     <parameter name="ack-final" value="Y"/>  
541                                     <parameter name="error-code" value="500"/>  
542                                     <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> 
543                                   </return>
544                                 </outcome>
545                               </call>
546                             </outcome>
547                             <outcome value="false"> 
548                               <switch test="`$tmp.prop.thirdpartySdnc-found == 'true' and $tmp.templateFileName-found == 'true' and `$tmp.prop.restapiUrl-found == 'true'`"> 
549                                 <outcome value="false"> 
550                                   <return status="failure"> 
551                                     <parameter name="ack-final" value="Y"/>  
552                                     <parameter name="error-code" value="404"/>  
553                                     <parameter name="error-message" value="Error: 3rd party controller restapiUrl not found"/> 
554                                   </return>
555                                 </outcome>
556                                 <outcome value="true"> 
557                                   <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> 
558                                     <parameter name="templateFileName" value="`$tmp.templateFileName`"/>  
559                                     <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`"/>  
560                                     <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>  
561                                     <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>  
562                                     <parameter name="format" value="json"/>  
563                                     <parameter name="httpMethod" value="post"/>  
564                                     <parameter name="responsePrefix" value="restApi-result"/>
565                                     <outcome value="success"> 
566                                       <block></block>
567                                     </outcome>
568                                     <outcome value="failure"> 
569                                       <return status="failure"> 
570                                         <parameter name="ack-final" value="Y"/>  
571                                         <parameter name="error-code" value="500"/>  
572                                         <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> 
573                                       </return>
574                                     </outcome>
575                                     <outcome value="not-found"> 
576                                       <return status="failure"> 
577                                         <parameter name="ack-final" value="Y"/>  
578                                         <parameter name="error-code" value="500"/>  
579                                         <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> 
580                                       </return>
581                                     </outcome>
582                                   </execute>
583                                 </outcome>
584                               </switch>
585                             </outcome>
586                           </switch>
587                         </block>
588                       </outcome>
589                     </switch>
590                     <return status="success"> 
591                       <parameter name="ack-final-indicator" value="Y"/>  
592                       <parameter name="error-code" value="200"/>  
593                       <parameter name="error-message" value="`$error-message`"/> 
594                     </return>
595                   </block>
596                 </outcome>
597                 <outcome value="false"> 
598                   <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
599                     <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
600                     <parameter name="target" value="FcPort"/>  
601                     <outcome value="true"> 
602                       <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="contains"> 
603                         <parameter name="source" value="`$network-topology-operation-input.network-information.onap-model-information.model-name`"/>  
604                         <parameter name="target" value="sitewan"/>  
605                         <outcome value="true"> 
606                           <block atomic="true">
607                             <switch test="`$found-network-input`"> 
608                               <outcome value="false"> 
609                                 <return status="failure"> 
610                                   <parameter name="ack-final" value="Y"/>  
611                                   <parameter name="error-code" value="404"/>  
612                                   <parameter name="error-message" value="Error: Network input parameters not found"/> 
613                                 </return>
614                               </outcome>
615                               <outcome value="true"> 
616                                 <block atomic="true">
617                                   <set> 
618                                     <parameter name="tmp.restapiUrl-found" value="false"/>  
619                                     <parameter name="tmp.restapiUser-found" value="false"/>  
620                                     <parameter name="tmp.restapiPassword-found" value="false"/>  
621                                     <parameter name="tmp.templateFileName-found" value="false"/>  
622                                     <parameter name="tmp.thirdPartyAdaptorRpc-found" value="false"/>
623                                   </set>
624                                   <for index="cidx" start="0" end="`$tmp.network.network-data.network-topology.network-parameters.network-parameter_length`"> 
625                                     <block> 
626                                       <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartySdncId'`"> 
627                                         <outcome value="true"> 
628                                           <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="esr-thirdparty-sdnc" key="esr-thirdparty-sdnc.thirdparty-sdnc-id = `$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value` AND         depth = '1'" pfx="tmp.aai.esr-thirdparty-sdnc" local-only="false"> 
629                                             <outcome value="success"> 
630                                               <set> 
631                                                 <parameter name="prop.thirdpartySdnc-found" value="true"/>  
632                                                 <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`"/>  
633                                                 <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`"/>  
634                                                 <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`"/> 
635                                               </set>
636                                             </outcome>
637                                             <outcome value="not-found"> 
638                                               <set> 
639                                                 <parameter name="prop.thirdpartySdnc-found" value="false"/> 
640                                               </set>
641                                             </outcome>
642                                             <outcome value="Other"> 
643                                               <set> 
644                                                 <parameter name="prop.thirdpartySdnc-found" value="false"/> 
645                                               </set>
646                                             </outcome>
647                                           </get-resource>
648                                         </outcome>
649                                       </switch>
650                                       <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'templateFileName'`"> 
651                                         <outcome value="true"> 
652                                           <set> 
653                                             <parameter name="tmp.templateFileName" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>  
654                                             <parameter name="tmp.templateFileName-found" value="true"/>
655                                           </set>
656                                         </outcome>
657                                       </switch>
658                                       <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'restapiUrl'`"> 
659                                         <outcome value="true"> 
660                                           <set> 
661                                             <parameter name="tmp.restapiUrl" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>  
662                                             <parameter name="tmp.restapiUrl-found" value="true"/>
663                                           </set>
664                                         </outcome>
665                                       </switch>
666                                       <switch test="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-name == 'thirdPartyAdaptorRpc'`"> 
667                                         <outcome value="true"> 
668                                           <set> 
669                                             <parameter name="tmp.thirdPartyAdaptorRpc" value="`$tmp.network.network-data.network-topology.network-parameters.network-parameter[$cxid].network-parameter-value`"/>  
670                                             <parameter name="tmp.thirdPartyAdaptorRpc-found" value="true"/>
671                                           </set>
672                                         </outcome>
673                                       </switch>
674                                     </block>
675                                   </for>
676                                   <switch test="`$tmp.thirdPartyAdaptorRpc-found == 'true'`"> 
677                                     <outcome value="true"> 
678                                       <call module="GENERIC-RESOURCE-API" rpc="`$tmp.thirdPartyAdaptorRpc`" mode="sync"> 
679                                         <outcome value="success"> 
680                                           <block></block>
681                                         </outcome>
682                                         <outcome value="failure"> 
683                                           <return status="failure"> 
684                                             <parameter name="ack-final" value="Y"/>  
685                                             <parameter name="error-code" value="500"/>  
686                                             <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> 
687                                           </return>
688                                         </outcome>
689                                         <outcome value="not-found"> 
690                                           <return status="failure"> 
691                                             <parameter name="ack-final" value="Y"/>  
692                                             <parameter name="error-code" value="500"/>  
693                                             <parameter name="error-message" value="`'Error calling ' + $tmp.thirdPartyAdaptorRpc`"/> 
694                                           </return>
695                                         </outcome>
696                                       </call>
697                                     </outcome>
698                                     <outcome value="false"> 
699                                       <switch test="`$tmp.prop.thirdpartySdnc-found == 'true' and $tmp.templateFileName-found == 'true' and `$tmp.prop.restapiUrl-found == 'true'`"> 
700                                         <outcome value="false"> 
701                                           <return status="failure"> 
702                                             <parameter name="ack-final" value="Y"/>  
703                                             <parameter name="error-code" value="404"/>  
704                                             <parameter name="error-message" value="Error: 3rd party controller restapiUrl not found"/> 
705                                           </return>
706                                         </outcome>
707                                         <outcome value="true"> 
708                                           <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest"> 
709                                             <parameter name="templateFileName" value="`$tmp.templateFileName`"/>  
710                                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + $tmp.restapiUrl`"/>  
711                                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`"/>  
712                                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`"/>  
713                                             <parameter name="format" value="json"/>  
714                                             <parameter name="httpMethod" value="post"/>  
715                                             <parameter name="responsePrefix" value="restApi-result"/>
716                                             <outcome value="success"> 
717                                               <block></block>
718                                             </outcome>
719                                             <outcome value="failure"> 
720                                               <return status="failure"> 
721                                                 <parameter name="ack-final" value="Y"/>  
722                                                 <parameter name="error-code" value="500"/>  
723                                                 <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> 
724                                               </return>
725                                             </outcome>
726                                             <outcome value="not-found"> 
727                                               <return status="failure"> 
728                                                 <parameter name="ack-final" value="Y"/>  
729                                                 <parameter name="error-code" value="500"/>  
730                                                 <parameter name="error-message" value="`'Error calling ' + $tmp.restapiUrl`"/> 
731                                               </return>
732                                             </outcome>
733                                           </execute>
734                                         </outcome>
735                                       </switch>
736                                     </outcome>
737                                   </switch>
738                                 </block>
739                               </outcome>
740                             </switch>
741                             <return status="success"> 
742                               <parameter name="ack-final-indicator" value="Y"/>  
743                               <parameter name="error-code" value="200"/>  
744                               <parameter name="error-message" value="`$error-message`"/> 
745                             </return>
746                           </block>
747                         </outcome>
748                         <outcome value="false"> 
749                           <block> 
750                             <return status="success"> 
751                               <parameter name="ack-final-indicator" value="Y"/>  
752                               <parameter name="error-code" value="200"/>  
753                               <parameter name="error-message" value="`$error-message`"/> 
754                             </return>
755                           </block>
756                         </outcome>
757                       </execute>
758                     </outcome>
759                     <outcome value="false"> 
760                       <block> 
761                         <return status="success"> 
762                           <parameter name="ack-final-indicator" value="Y"/>  
763                           <parameter name="error-code" value="200"/>  
764                           <parameter name="error-message" value="`$error-message`"/> 
765                         </return>
766                       </block>
767                     </outcome>
768                   </execute>
769                 </outcome>
770               </execute>
771             </outcome>
772           </execute>
773         </block>
774       </outcome>
775     </execute>
776   </method>
777 </service-logic>