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