1 <?xml version="1.0" encoding="UTF-8"?>
\r 
   2 <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}">
\r 
   3     <method rpc="network-topology-operation-create" mode="sync">
\r 
   4         <block atomic="true">
\r 
   5             <call module="GENERIC-RESOURCE-API" rpc="validate-network-input-parameters" mode="sync" />
\r 
   6             <for index="idx" start="0" end="`$network-topology-operation-input.network-request-input.network-input-parameters.param_length`">
\r 
   8                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'name'`">
\r 
   9                         <outcome value="true">
\r 
  11                                 <parameter name="prop.l3vpn.name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  15                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'service-type'`">
\r 
  16                         <outcome value="true">
\r 
  18                                 <parameter name="prop.l3vpn.service-type" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  22                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'topology'`">
\r 
  23                         <outcome value="true">
\r 
  25                                 <parameter name="prop.l3vpn.topology" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  29                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'technology'`">
\r 
  30                         <outcome value="true">
\r 
  32                                 <parameter name="prop.l3vpn.technology" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  36                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site1_name'`">
\r 
  37                         <outcome value="true">
\r 
  39                                 <parameter name="prop.l3vpn.site1_name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  43                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'site2_name'`">
\r 
  44                         <outcome value="true">
\r 
  46                                 <parameter name="prop.l3vpn.site2_name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  50                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'sna1_name'`">
\r 
  51                         <outcome value="true">
\r 
  53                                 <parameter name="prop.l3vpn.sna1_name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  57                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'sna2_name'`">
\r 
  58                         <outcome value="true">
\r 
  60                                 <parameter name="prop.l3vpn.sna2_name" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  64                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'pe1_id'`">
\r 
  65                         <outcome value="true">
\r 
  67                                 <parameter name="prop.l3vpn.pe1_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  71                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'pe2_id'`">
\r 
  72                         <outcome value="true">
\r 
  74                                 <parameter name="prop.l3vpn.pe2_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  78                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_id'`">
\r 
  79                         <outcome value="true">
\r 
  81                                 <parameter name="prop.l3vpn.ac1_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  85                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_id'`">
\r 
  86                         <outcome value="true">
\r 
  88                                 <parameter name="prop.l3vpn.ac2_id" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  92                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_ip'`">
\r 
  93                         <outcome value="true">
\r 
  95                                 <parameter name="prop.l3vpn.ac1_ip" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
  99                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_ip'`">
\r 
 100                         <outcome value="true">
\r 
 102                                 <parameter name="prop.l3vpn.ac2_ip" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 106                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_peer_ip'`">
\r 
 107                         <outcome value="true">
\r 
 109                                 <parameter name="prop.l3vpn.ac1_peer_ip" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 113                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_peer_ip'`">
\r 
 114                         <outcome value="true">
\r 
 116                                 <parameter name="prop.l3vpn.ac2_peer_ip" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 120                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_svlan'`">
\r 
 121                         <outcome value="true">
\r 
 123                                 <parameter name="prop.l3vpn.ac1_svlan" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 127                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_svlan'`">
\r 
 128                         <outcome value="true">
\r 
 130                                 <parameter name="prop.l3vpn.ac2_svlan" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 134                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_protocol'`">
\r 
 135                         <outcome value="true">
\r 
 137                                 <parameter name="prop.l3vpn.ac1_protocol" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 141                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_protocol'`">
\r 
 142                         <outcome value="true">
\r 
 144                                 <parameter name="prop.l3vpn.ac2_protocol" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 148                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_route'`">
\r 
 149                         <outcome value="true">
\r 
 150                             <block atomic="true">
\r 
 152                                     <parameter name="prop.l3vpn.ac1_route" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 154                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">
\r 
 155                                     <parameter name="original_string" value="`$prop.l3vpn.ac1-route`" />
\r 
 156                                     <parameter name="regex" value=" ## " />
\r 
 157                                     <parameter name="ctx_memory_result_key" value="route1" />
\r 
 158                                     <outcome value="success">
\r 
 160                                             <parameter name="prop.l3vpn.sna1-route.ip-prefix" value="`$route1[0]`" />
\r 
 161                                             <parameter name="prop.l3vpn.sna1-route.next-hop" value="`$route1[1]`" />
\r 
 164                                     <outcome value="failure">
\r 
 165                                         <return status="failure">
\r 
 166                                             <parameter name="error-code" value="" />
\r 
 167                                             <parameter name="error-message" value="An error occured while splitting sna1_route" />
\r 
 174                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_route'`">
\r 
 175                         <outcome value="true">
\r 
 176                             <block atomic="true">
\r 
 178                                     <parameter name="prop.l3vpn.ac2_route" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 180                                 <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils" method="split">
\r 
 181                                     <parameter name="original_string" value="`$prop.l3vpn.ac2-route`" />
\r 
 182                                     <parameter name="regex" value=" ## " />
\r 
 183                                     <parameter name="ctx_memory_result_key" value="route2" />
\r 
 184                                     <outcome value="success">
\r 
 186                                             <parameter name="prop.l3vpn.sna2-route.ip-prefix" value="`$route2[0]`" />
\r 
 187                                             <parameter name="prop.l3vpn.sna2-route.next-hop" value="`$route2[1]`" />
\r 
 190                                     <outcome value="failure">
\r 
 191                                         <return status="failure">
\r 
 192                                             <parameter name="error-code" value="" />
\r 
 193                                             <parameter name="error-message" value="An error occured while splitting sna1_route" />
\r 
 200                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac1_protocol_bgp_as'`">
\r 
 201                         <outcome value="true">
\r 
 203                                 <parameter name="prop.l3vpn.ac1_protocol_bgp_as" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 204                                 <parameter name="prop.l3vpn.peer1-ip" value="`$prop.l3vpn.ac1_ip`" />
\r 
 208                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'ac2_protocol_bgp_as'`">
\r 
 209                         <outcome value="true">
\r 
 211                                 <parameter name="prop.l3vpn.ac2_protocol_bgp_as" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 212                                 <parameter name="prop.l3vpn.peer2-ip" value="`$prop.l3vpn.ac2_ip`" />
\r 
 216                     <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'af_type'`">
\r 
 217                         <outcome value="true">
\r 
 219                                 <parameter name="prop.l3vpn.af_type" value="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].value`" />
\r 
 225             <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="pnf" key="pnf.pnf-name = $prop.l3vpn.pe1_id AND         depth = '0'" pfx="tmp.aai.pnf" local-only="false">
\r 
 226                 <outcome value="success">
\r 
 228                         <parameter name="tmp.thirdparty-sdnc-id" value="`$tmp.aai.pnf.relationship-list.relationship[0].relationship-data[0].relationship-value`" />
\r 
 231                 <outcome value="not-found">
\r 
 232                     <return status="failure">
\r 
 233                         <parameter name="ack-final" value="Y" />
\r 
 234                         <parameter name="error-code" value="500" />
\r 
 235                         <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
\r 
 238                 <outcome value="Other">
\r 
 239                     <return status="failure">
\r 
 240                         <parameter name="ack-final" value="Y" />
\r 
 241                         <parameter name="error-code" value="500" />
\r 
 242                         <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
\r 
 246             <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">
\r 
 247                 <outcome value="success">
\r 
 249                         <parameter name="prop.sdncRestApi.thirdpartySdnc.url" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].service-url`" />
\r 
 250                         <parameter name="prop.sdncRestApi.templateDir" value="/opt/onap/sdnc/data" />
\r 
 251                         <parameter name="prop.sdncRestApi.thirdpartySdnc.user" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].user-name`" />
\r 
 252                         <parameter name="prop.sdncRestApi.thirdpartySdnc.password" value="`$tmp.aai.esr-thirdparty-sdnc.esr-system-info-list.esr-system-info[0].password`" />
\r 
 255                 <outcome value="not-found">
\r 
 256                     <return status="failure">
\r 
 257                         <parameter name="ack-final" value="Y" />
\r 
 258                         <parameter name="error-code" value="500" />
\r 
 259                         <parameter name="error-message" value="`'An error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
\r 
 262                 <outcome value="Other">
\r 
 263                     <return status="failure">
\r 
 264                         <parameter name="ack-final" value="Y" />
\r 
 265                         <parameter name="error-code" value="500" />
\r 
 266                         <parameter name="error-message" value="`'Unexpected error occurred while querying esr-thirdparty-sdnc from AnAI with thirdparty-sdnc-id = ' + $tmp.thirdparty-sdnc-id`" />
\r 
 270             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
\r 
 271                 <parameter name="ctx-destination" value="prop.l3vpn.vpn-policy1-id" />
\r 
 272                 <outcome value="failure">
\r 
 273                     <return status="failure">
\r 
 274                         <parameter name="error-code" value="" />
\r 
 275                         <parameter name="error-message" value="An error occured while generation vpn policy ID" />
\r 
 279             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
\r 
 280                 <parameter name="ctx-destination" value="prop.l3vpn.vpn-policy2-id" />
\r 
 281                 <outcome value="failure">
\r 
 282                     <return status="failure">
\r 
 283                         <parameter name="error-code" value="" />
\r 
 284                         <parameter name="error-message" value="An error occured while generation vpn policy ID" />
\r 
 289                 <parameter name="prop.l3vpn.entry1-id" value="1" />
\r 
 290                 <parameter name="prop.l3vpn.entry2-id" value="1" />
\r 
 292             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
\r 
 293                 <parameter name="ctx-destination" value="prop.l3vpn.vrf1-id" />
\r 
 294                 <outcome value="failure">
\r 
 295                     <return status="failure">
\r 
 296                         <parameter name="error-code" value="" />
\r 
 297                         <parameter name="error-message" value="An error occured while generation vpn policy ID" />
\r 
 301             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
\r 
 302                 <parameter name="ctx-destination" value="prop.l3vpn.vrf2-id" />
\r 
 303                 <outcome value="failure">
\r 
 304                     <return status="failure">
\r 
 305                         <parameter name="error-code" value="" />
\r 
 306                         <parameter name="error-message" value="An error occured while generation vpn policy ID" />
\r 
 310             <execute plugin="org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils" method="generateUUID">
\r 
 311                 <parameter name="ctx-destination" value="prop.l3vpn.network-id" />
\r 
 313             <switch test="`$service-data.networks.network_length`">
\r 
 316                         <parameter name="nidx" value="0" />
\r 
 319                 <outcome value="Other">
\r 
 321                         <parameter name="nidx" value="`$service-data.networks.network_length`" />
\r 
 325             <record plugin="org.onap.ccsdk.sli.core.sli.recording.FileRecorder">
\r 
 326                 <parameter name="file" value="/opt/opendaylight/current/data/log/svclogic.log" />
\r 
 327                 <parameter name="Time" value="__TIMESTAMP__" />
\r 
 328                 <parameter name="Method" value="network-topology-operation-create" />
\r 
 329                 <parameter name="SubMethod" value="L3VPN-Config" />
\r 
 330                 <parameter name="l3vpn_name" value="`$prop.l3vpn.name`" />
\r 
 331                 <parameter name="topology" value="`$prop.l3vpn.topology`" />
\r 
 332                 <parameter name="site1_name" value="`$prop.l3vpn.site1_name`" />
\r 
 333                 <parameter name="vpn-policy1-id" value="`$prop.l3vpn.vpn-policy1-id`" />
\r 
 334                 <parameter name="l3vpn.entry1-id" value="`$prop.l3vpn.entry1-id`" />
\r 
 335                 <parameter name="sna1_name" value="`$prop.l3vpn.sna1_name`" />
\r 
 336                 <parameter name="pe1_id" value="`$prop.l3vpn.pe1_id`" />
\r 
 337                 <parameter name="ac1_id" value="`$prop.l3vpn.ac1_id`" />
\r 
 338                 <parameter name="sna1_svlan" value="`$prop.l3vpn.sna1_svlan`" />
\r 
 339                 <parameter name="ac1-peer-ip" value="`$prop.l3vpn.ac1-peer-ip`" />
\r 
 340                 <parameter name="ac1-ip" value="`$prop.l3vpn.ac1-ip`" />
\r 
 341                 <parameter name="ac1_protocol" value="`$prop.l3vpn.ac1_protocol`" />
\r 
 342                 <parameter name="sna1-route-ip-prefix" value="`$prop.l3vpn.sna1-route-ip-prefix`" />
\r 
 343                 <parameter name="sna1-route-next-hop" value="`$prop.l3vpn.sna1-route-next-hop`" />
\r 
 344                 <parameter name="peer1-ip" value="`$prop.l3vpn.peer1-ip`" />
\r 
 345                 <parameter name="ac1_protocol_bgp_as" value="`$prop.l3vpn.ac1_protocol_bgp_as`" />
\r 
 346                 <parameter name="vrf1-id" value="`$prop.l3vpn.vrf1-id`" />
\r 
 347                 <parameter name="site2_name" value="`$prop.l3vpn.site2_name`" />
\r 
 348                 <parameter name="vpn-policy2-id" value="`$prop.l3vpn.vpn-policy2-id`" />
\r 
 349                 <parameter name="l3vpn.entry2-id" value="`$prop.l3vpn.entry2-id`" />
\r 
 350                 <parameter name="sna2_name" value="`$prop.l3vpn.sna2_name`" />
\r 
 351                 <parameter name="pe2_id" value="`$prop.l3vpn.pe2_id`" />
\r 
 352                 <parameter name="ac2_id" value="`$prop.l3vpn.ac2_id`" />
\r 
 353                 <parameter name="sna2_svlan" value="`$prop.l3vpn.sna2_svlan`" />
\r 
 354                 <parameter name="ac2-peer-ip" value="`$prop.l3vpn.ac2-peer-ip`" />
\r 
 355                 <parameter name="ac2-ip" value="`$prop.l3vpn.ac2-ip`" />
\r 
 356                 <parameter name="ac2_protocol" value="`$prop.l3vpn.ac2_protocol`" />
\r 
 357                 <parameter name="sna2-route-ip-prefix" value="`$prop.l3vpn.sna2-route-ip-prefix`" />
\r 
 358                 <parameter name="sna2-route-next-hop" value="`$prop.l3vpn.sna2-route-next-hop`" />
\r 
 359                 <parameter name="peer2-ip" value="`$prop.l3vpn.peer2-ip`" />
\r 
 360                 <parameter name="ac2_protocol_bgp_as" value="`$prop.l3vpn.ac2_protocol_bgp_as`" />
\r 
 361                 <parameter name="vrf2-id" value="`$prop.l3vpn.vrf2-id`" />
\r 
 362                 <parameter name="af_type" value="`$prop.l3vpn.af_type`" />
\r 
 364             <switch test="`$network-topology-operation-input.network-request-input.network-input-parameters.param[$idx].name == 'service-type'`">
\r 
 365                 <outcome value="l3vpn-ipwan">
\r 
 366                     <block atomic="true">
\r 
 367                         <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
\r 
 368                             <parameter name="templateFileName" value="`$prop.sdncRestApi.tempDir + '/l3smvpntemplate.json'`" />
\r 
 369                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vpn-services'`" />
\r 
 370                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
\r 
 371                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
\r 
 372                             <parameter name="format" value="json" />
\r 
 373                             <parameter name="httpMethod" value="post" />
\r 
 374                             <parameter name="responsePrefix" value="restapi-result" />
\r 
 376                         <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
\r 
 377                             <parameter name="templateFileName" value="`$prop.sdncRestApi.tempDir +'/l3smsitetemplate.json'`" />
\r 
 378                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/sites'`" />
\r 
 379                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
\r 
 380                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
\r 
 381                             <parameter name="format" value="json" />
\r 
 382                             <parameter name="httpMethod" value="post" />
\r 
 383                             <parameter name="responsePrefix" value="restapi-result" />
\r 
 385                         <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
\r 
 386                             <parameter name="templateFileName" value="`$prop.sdncRestApi.tempDir +'/l3smvrftemplate.json'`" />
\r 
 387                             <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url +'/restconf/data/huawei-ac-net-l3vpn-svc:l3vpn-svc-cfg/vrf-attributes'`" />
\r 
 388                             <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />
\r 
 389                             <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />
\r 
 390                             <parameter name="format" value="json" />
\r 
 391                             <parameter name="httpMethod" value="post" />
\r 
 392                             <parameter name="responsePrefix" value="restapi-result" />
\r 
 396                 <outcome value="true">
\r 
 397                     <execute plugin="org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode" method="sendRequest">
\r 
 398                         <parameter name="templateFileName" value="$prop.sdncRestApi.tempDir +'/l3smsitetemplate.json'" />
\r 
 399                         <parameter name="restapiUrl" value="$prop.sdncRestApi.thirdpartySdnc.url" />
\r 
 400                         <parameter name="restapiUser" value="$prop.sdncRestApi.thirdpartySdnc.user" />
\r 
 401                         <parameter name="restapiPassword" value="$prop.sdncRestApi.thirdpartySdnc.password" />
\r 
 402                         <parameter name="format" value="json" />
\r 
 403                         <parameter name="httpMethod" value="post" />
\r 
 404                         <parameter name="responsePrefix" value="restapi-result" />
\r 
 407                 <outcome value="Other">
\r 
 408                     <return status="failure">
\r 
 409                         <parameter name="ack-final" value="Y" />
\r 
 410                         <parameter name="error-code" value="500" />
\r 
 411                         <parameter name="error-message" value="Unexpected error retrieving vpn binding" />
\r 
 416                 <parameter name="service-data.networks.network[$nidx].network-id" value="`$prop.l3vpn.network-id`" />
\r 
 417                 <parameter name="service-data.networks.network[$nidx].network-data.sdnc-request-header." value="`$network-topology-operation-input.sdnc-request-header.`" />
\r 
 418                 <parameter name="service-data.networks.network[$nidx].network-data.request-information." value="`$network-topology-operation-input.request-information.`" />
\r 
 419                 <parameter name="service-data.networks.network[$nidx].network-data.service-information." value="`$network-topology-operation-input.service-information.`" />
\r 
 420                 <parameter name="service-data.networks.network[$nidx].network-data.network-information." value="`$network-topology-operation-input.network-information.`" />
\r 
 421                 <parameter name="service-data.networks.network[$nidx].network-data.network-request-input." value="`$network-topology-operation-input.network-request-input.`" />
\r 
 422                 <parameter name="service-data.networks.network_length" value="`$nidx+1`" />
\r 
 425                 <parameter name="networkId" value="`$prop.l3vpn.network-id`" />
\r 
 426                 <parameter name="network-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.l3vpn.network-id  + '/network-data/'` " />
\r 
 429                 <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status" value="Created" />
\r 
 430                 <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.last-rpc-action" value="`$network-topology-operation-input.sdnc-request-header.svc-action`" />
\r 
 431                 <parameter name="service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action" value="`$network-topology-operation-input.request-information.request-action`" />
\r 
 433             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="configuration" key="configuration.configuration-id = $prop.l3vpn.network-id">
\r 
 434                 <parameter name="configuration-id" value="`$prop.l3vpn.network-id`" />
\r 
 435                 <parameter name="configuration-type" value="underlay" />
\r 
 436                 <parameter name="orchestration-status" value="Created" />
\r 
 437                 <parameter name="configuration-selflink" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $prop.l3vpn.network-id  + '/network-data/'` " />
\r 
 439             <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" resource="service-instance:relationship-list" key="service-instance.service-instance-id = $service-data.service-information.service-id">
\r 
 440                 <parameter name="relationship-list.relationship[0].related-to" value="configuration" />
\r 
 441                 <parameter name="relationship-list.relationship[0].related-link" value="/network/configurations/configuration" />
\r 
 442                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="configuration.configuration-id" />
\r 
 443                 <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.l3vpn.network-id`" />
\r 
 444                 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="configuration.configuration-type" />
\r 
 445                 <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="underlay" />
\r 
 447             <return status="success">
\r 
 448                 <parameter name="ack-final-indicator" value="Y" />
\r 
 449                 <parameter name="error-code" value="200" />
\r 
 450                 <parameter name="error-message" value="`$error-message`" />
\r