Fix ss-generate-name DG
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / json / GENERIC-RESOURCE-API_sdwan-wanport-vnf-topology-operation-underlay.json
index d017cac..b04fe60 100644 (file)
@@ -1 +1,4315 @@
-[{"id":"587a4e4b.449f1","type":"dgstart","name":"DGSTART","outputs":1,"x":104.00390625,"y":51.99999871850014,"z":"b1d019b.6dbd8e8","wires":[["cf04b901.3d6f98"]]},{"id":"cf04b901.3d6f98","type":"service-logic","name":"GENERIC-RESOURCE-API ${project.version}","module":"GENERIC-RESOURCE-API","version":"${project.version}","comments":"","xml":"<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}'>","outputs":1,"x":220.2895965576172,"y":103.23810639977455,"z":"b1d019b.6dbd8e8","wires":[["a2d12571.0378a8"]]},{"id":"a2d12571.0378a8","type":"method","name":"method sdwan-wanport-vnf-topology-operation-underlay","xml":"<method rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync'>\n","comments":"","outputs":1,"x":223.43252563476562,"y":188.00003018975258,"z":"b1d019b.6dbd8e8","wires":[["a47337eb.18b358"]]},{"id":"a47337eb.18b358","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":155.67059326171875,"y":296.6667315065861,"z":"b1d019b.6dbd8e8","wires":[["718fab21.36f054","3f81fe79.041ff2","f5abf897.1c94a8","e484905a.ff144","e2e0c9ba.1ae298"]]},{"id":"718fab21.36f054","type":"for","name":"for cidx..service-data.consumed-allotted-resources.consumed-allotted-resource[]","xml":"<for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\n","comments":"","outputs":1,"x":590.004337310791,"y":435.66685262322426,"z":"b1d019b.6dbd8e8","wires":[["95ab5318.2e5c4"]]},{"id":"8881f8e.5bc9208","type":"set","name":"set prop.ar.allotted-resource-id","xml":"<set>\n<parameter name='prop.ar.allotted-resource-id' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id`' />\n","comments":"","x":1380.0052490234375,"y":124.96877732872963,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ca0bbb68.4e6518","type":"comment","name":"Query MDSAL for AR","info":"","comments":"","x":1705.3379211425781,"y":148.96864667534828,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"88a9e795.e489e8","type":"comment","name":"Query MDSAL to get parent service based on service instance id from AR","info":"","comments":"","x":2175.338779449463,"y":167.96862569451332,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"61804941.42b278","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1954.67232131958,"y":203.63526597619057,"z":"b1d019b.6dbd8e8","wires":[["b4949dcd.ebcd1"]]},{"id":"b4949dcd.ebcd1","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2109.672161102295,"y":203.1350990831852,"z":"b1d019b.6dbd8e8","wires":[["e88c8316.b28a7"]]},{"id":"4119fddc.bb6d24","type":"other","name":"outcome 1","xml":"<outcome value='1'>\n","comments":"","outputs":1,"x":2433.3626976013184,"y":199.7542397081852,"z":"b1d019b.6dbd8e8","wires":[["e113bdd7.9bdab"]]},{"id":"672a20f.a0083e","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: Connection attachement resource not found\" />\n    \n","comments":"","x":2579.1314735412598,"y":239.20122781395912,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"17977b69.262195","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1947.5240478515625,"y":250.701272636652,"z":"b1d019b.6dbd8e8","wires":[["4a7edd74.b9a034"]]},{"id":"4a7edd74.b9a034","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2097.5238914489746,"y":251.36782804131508,"z":"b1d019b.6dbd8e8","wires":[["889c4ad9.edb108"]]},{"id":"f51f9f7c.c2466","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2421.6906509399414,"y":237.034599930048,"z":"b1d019b.6dbd8e8","wires":[["672a20f.a0083e"]]},{"id":"e88c8316.b28a7","type":"switchNode","name":"switch cr length","xml":"<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n","comments":"","outputs":1,"x":2273.672336578369,"y":203.63528218865395,"z":"b1d019b.6dbd8e8","wires":[["4119fddc.bb6d24","f51f9f7c.c2466"]]},{"id":"ad5ef81b.eca5b8","type":"set","name":"set parent-service-instance-id","xml":"<set>\n<parameter name='prop.parent-service-instance-id' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />\n\n","comments":"","x":2829.0059356689453,"y":200.63526311516762,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e113bdd7.9bdab","type":"block","name":"block: atomic","xml":"<block atomic='true'>\n","atomic":"false","comments":"","outputs":1,"x":2583.4817276000977,"y":199.80179944634438,"z":"b1d019b.6dbd8e8","wires":[["ad5ef81b.eca5b8","5b3adfc2.d795f"]]},{"id":"889c4ad9.edb108","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: Connection attachement resource not found\" />\n    \n","comments":"","x":2265.005344390869,"y":249.63520398736,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"936de3e0.c6a2e","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2052.307460784912,"y":521.7709299623966,"z":"b1d019b.6dbd8e8","wires":[["2fdbbace.5a0386"]]},{"id":"56dafc4a.8aaae4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2044.1592636108398,"y":556.837014824152,"z":"b1d019b.6dbd8e8","wires":[["2a42a293.fba3ae"]]},{"id":"2a42a293.fba3ae","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n    \n","comments":"","x":2190.308036804199,"y":557.1045109331608,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2fdbbace.5a0386","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2172.3077087402344,"y":521.7710129320621,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"a13ee754.9515f8","type":"for","name":"for pnidx.. mdsal-psd.networks.network_length[]","xml":"<for index='pnidx' start='0' end='`$mdsal-psd.service-data.networks.network_length`' >\n","comments":"","outputs":1,"x":1735.6722564697266,"y":621.3028880655766,"z":"b1d019b.6dbd8e8","wires":[["684cbe0.d0ae544"]]},{"id":"9bdd2027.61dcf","type":"switchNode","name":"switch ActivateSDWANConnectivityInstance","xml":"<switch test=\"`$mdsal-psd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2265.3388900756836,"y":590.302889496088,"z":"b1d019b.6dbd8e8","wires":[["4800da5e.9f4d14"]]},{"id":"4800da5e.9f4d14","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2517.338424682617,"y":591.3028270304203,"z":"b1d019b.6dbd8e8","wires":[["e64d626e.5a50e"]]},{"id":"e64d626e.5a50e","type":"set","name":"set tmp.pnidx ","xml":"<set>\n<parameter name='tmp.pnidx' value='`$pnidx`' />\n\n","comments":"","x":2673.3381118774414,"y":591.3028270304203,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"dd934675.d4e888","type":"for","name":"for loop paramidx - Get topology from servicedata","xml":"<for index=\"paramidx\" start=\"0\" end=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":1667.3390655517578,"y":706.3025175631046,"z":"b1d019b.6dbd8e8","wires":[["8db55ac9.a24998"]]},{"id":"62066499.8552ec","type":"switchNode","name":"switch topology","xml":"<switch test=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`\">\n","comments":"","outputs":1,"x":2119.339157104492,"y":685.3024231493473,"z":"b1d019b.6dbd8e8","wires":[["4f33474b.e43bc8"]]},{"id":"4f33474b.e43bc8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2270.339168548584,"y":683.3024651110172,"z":"b1d019b.6dbd8e8","wires":[["8246d892.e05918"]]},{"id":"8246d892.e05918","type":"set","name":"set topology","xml":"<set>\n<parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n","comments":"","x":2411.338897705078,"y":682.9023987352848,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"88c5e553.ee7048","type":"switchNode","name":"switch tmp.pnidx ","xml":"<switch test=\"`$tmp.pnidx`\">\n\n","comments":"","outputs":1,"x":1638.338882446289,"y":665.9690901339054,"z":"b1d019b.6dbd8e8","wires":[["11715e8.eb7eca2"]]},{"id":"11715e8.eb7eca2","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1793.7675552368164,"y":664.5404697954655,"z":"b1d019b.6dbd8e8","wires":[["49bf685a.de5378"]]},{"id":"49bf685a.de5378","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n","comments":"","x":1934.1961784362793,"y":665.6835590898991,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"de9858f.b81a8a8","type":"switchNode","name":"switch topology hub-spoke","xml":"<switch test=\"`$prop.topology == 'hub-spoke'`\">\n","comments":"","outputs":1,"x":1546.3387489318848,"y":768.3023392260075,"z":"b1d019b.6dbd8e8","wires":[["24d293b9.ebe98c","4bfa75a0.97649c"]]},{"id":"24d293b9.ebe98c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1736.338436126709,"y":793.3028246462345,"z":"b1d019b.6dbd8e8","wires":[["fc31272f.d20a28"]]},{"id":"4bfa75a0.97649c","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1730.3393630981445,"y":754.3024870455265,"z":"b1d019b.6dbd8e8","wires":[["a1325102.a1698"]]},{"id":"a1325102.a1698","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1866.3393669128418,"y":754.3024260103703,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"fc31272f.d20a28","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1741.67138671875,"y":861.3020588457584,"z":"b1d019b.6dbd8e8","wires":[["e126a9e.93d2358"]]},{"id":"e126a9e.93d2358","type":"for","name":"for ppidx.. mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[]","xml":"<for index='ppidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\n","comments":"","outputs":1,"x":2149.004638671875,"y":861.6356770098209,"z":"b1d019b.6dbd8e8","wires":[["a3874818.96b4a8"]]},{"id":"fafd1fed.9ce1b","type":"set","name":"set prop.ar.provided-allotted-resource-id","xml":"<set>\n<parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$ppidx].allotted-resource-id`' />\n\n","comments":"","x":2240.0057525634766,"y":939.6359750330448,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8b5306cb.0a00b8","type":"for","name":"for loop aridx - Get role from allotted resource","xml":"<for index=\"aridx\" start=\"0\" end=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2258.0064544677734,"y":1050.3027664721012,"z":"b1d019b.6dbd8e8","wires":[["35d495b.f10696a"]]},{"id":"2ab4ecb3.a0e7b4","type":"switchNode","name":"switch Role","xml":"<switch test=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'Role'`\">\n","comments":"","outputs":1,"x":2667.006565093994,"y":1053.302853256464,"z":"b1d019b.6dbd8e8","wires":[["f82626a6.b9ef58"]]},{"id":"f82626a6.b9ef58","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2808.0068969726562,"y":1052.3028523027897,"z":"b1d019b.6dbd8e8","wires":[["7f118497.e5e81c"]]},{"id":"7f118497.e5e81c","type":"set","name":"set prop.role","xml":"<set>\n<parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\n","comments":"","x":2949.0069313049316,"y":1053.9027439653873,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"9f0875d3.47e2b8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2744.0059509277344,"y":956.9692687094212,"z":"b1d019b.6dbd8e8","wires":[["36139e8.434ce62"]]},{"id":"807962c4.90f77","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2740.8576736450195,"y":1011.0353519022465,"z":"b1d019b.6dbd8e8","wires":[["9edc0016.5374a"]]},{"id":"dbadbe13.1677b","type":"switchNode","name":"switch role hub","xml":"<switch test=\"`$prop.role == hub`\">\n","comments":"","outputs":1,"x":2124.3390884399414,"y":1115.635806709528,"z":"b1d019b.6dbd8e8","wires":[["dcf9daa3.e54cc8","5d1cf617.14b6b8"]]},{"id":"9271766e.fe0c48","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2440.3384742736816,"y":1091.6354099810123,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"6d9b82e0.ee0e5c","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2850.3081092834473,"y":1187.1045166552067,"z":"b1d019b.6dbd8e8","wires":[["f48b85ad.740008"]]},{"id":"1f5ff987.3fd166","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2852.159679412842,"y":1247.170598655939,"z":"b1d019b.6dbd8e8","wires":[["f995184a.d07fa8"]]},{"id":"f995184a.d07fa8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: SDWAN service-data not found\" />\n    \n","comments":"","x":2996.308452606201,"y":1209.4380127489567,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f48b85ad.740008","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2980.3081283569336,"y":1176.1046768724918,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"928e3eb0.849cd","type":"set","name":"set prop.ar-service-instance-id","xml":"<set>\n<parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\n","comments":"","x":2452.3395080566406,"y":1175.6360094845295,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3730c8a.de81d38","type":"for","name":"for arvidx.. mdsal-arsd.service-data.vnfs.vnf_length[]","xml":"<for index='arvidx' start='0' end='`$mdsal-arsd.service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":2496.0059814453125,"y":1297.6357990801334,"z":"b1d019b.6dbd8e8","wires":[["993a1752.84b598"]]},{"id":"993a1752.84b598","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2842.6723022460938,"y":1287.6357752382755,"z":"b1d019b.6dbd8e8","wires":[["9bd685d3.b9a5b8","2be5604d.8b517","34da5cb3.ec0254"]]},{"id":"9bd685d3.b9a5b8","type":"switchNode","name":"switch ActivateSDWANPortInstance","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n    \n\n","comments":"","outputs":1,"x":3104.672410964966,"y":1258.6367346346378,"z":"b1d019b.6dbd8e8","wires":[["22ea8a6b.a17296"]]},{"id":"2f97be15.e601c2","type":"switchNode","name":"switch tmp.wanportvidx ","xml":"<switch test=\"`$tmp.wanportvidx`\">\n\n","comments":"","outputs":1,"x":2577.672119140625,"y":1342.3024441301823,"z":"b1d019b.6dbd8e8","wires":[["54e2ca7c.2e5f44"]]},{"id":"43b2a05a.a7d9b","type":"for","name":"for loop wportidx - Get wan port ID from servicedata","xml":"<for index=\"wportidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":3759.6728897094727,"y":1251.6369148790836,"z":"b1d019b.6dbd8e8","wires":[["bca2a06e.4f682"]]},{"id":"54e2ca7c.2e5f44","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2749.100841522217,"y":1345.8741499483585,"z":"b1d019b.6dbd8e8","wires":[["2f27c837.ae4c68"]]},{"id":"2f27c837.ae4c68","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id (port) not found in service-data\" />\n","comments":"","x":2893.529556274414,"y":1348.0174299776554,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"22ea8a6b.a17296","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3332.67209815979,"y":1256.6367355883121,"z":"b1d019b.6dbd8e8","wires":[["2c880b10.265824"]]},{"id":"bca2a06e.4f682","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3711.6741046905518,"y":1335.6374413073063,"z":"b1d019b.6dbd8e8","wires":[["960aea00.c2c228"]]},{"id":"960aea00.c2c228","type":"switchNode","name":"switch transportNetworkName","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'transportNetworkName'`\">\n","comments":"","outputs":1,"x":3929.6750202178955,"y":1333.6379295885563,"z":"b1d019b.6dbd8e8","wires":[["19a0a134.cbff5f"]]},{"id":"c82b1262.885e1","type":"set","name":"set tmp.portvidx ","xml":"<set>\n<parameter name='tmp.portvidx' value='`$arvidx`' />\n\n","comments":"","x":3656.671901702881,"y":1209.6369024813175,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"19a0a134.cbff5f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4126.675447463989,"y":1332.6380983889103,"z":"b1d019b.6dbd8e8","wires":[["27cac422.cfe53c"]]},{"id":"b05226c4.bd3a28","type":"set","name":"set prop.hub.transportNetworkName","xml":"<set>\n<parameter name='prop.hub.transportNetworkName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":4383.6772813797,"y":1532.2391153872013,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f4c45443.bb3768","type":"switchNode","name":"switch  prop.hub.transportNetworkName==prop.spoke.transportNetworkName","xml":"<switch test=\"`$prop.hub.transportNetworkName == $prop.spoke.transportNetworkName`\">\n","comments":"","outputs":1,"x":2576.00821685791,"y":1492.3046661913395,"z":"b1d019b.6dbd8e8","wires":[["29701c33.546bc4","9d7af116.cbe09"]]},{"id":"29701c33.546bc4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2922.0077476501465,"y":1529.304740101099,"z":"b1d019b.6dbd8e8","wires":[["f21133c1.0bade"]]},{"id":"9d7af116.cbe09","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2916.008556365967,"y":1466.3046003878117,"z":"b1d019b.6dbd8e8","wires":[["35e3a287.99da5e"]]},{"id":"35e3a287.99da5e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3046.008743286133,"y":1466.3047529757023,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"a3874818.96b4a8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1891.0361328125,"y":970.8333088457584,"z":"b1d019b.6dbd8e8","wires":[["fafd1fed.9ce1b","252298c8.827288","de70a181.95e65","dbadbe13.1677b","8b5306cb.0a00b8"]]},{"id":"40faa7d6.f30958","type":"switchNode","name":"switch vpnId","xml":"<switch test=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpn-id'`\">\n","comments":"","outputs":1,"x":2109.005172729492,"y":729.6354338228703,"z":"b1d019b.6dbd8e8","wires":[["244fa8f2.0e98c8"]]},{"id":"244fa8f2.0e98c8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2253.005184173584,"y":729.6354748308659,"z":"b1d019b.6dbd8e8","wires":[["542e22e9.06eebc"]]},{"id":"542e22e9.06eebc","type":"set","name":"set prop.vpnId","xml":"<set>\n<parameter name='prop.vpnId' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n","comments":"","x":2411.0049057006836,"y":728.2354094088078,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3945c5e7.6c14ea","type":"set","name":"Set prop.hubTnpId","xml":"<set>\n<parameter name='prop.hubTnpId' value='$prop.hub.wanPortId' />\n\n","comments":"","x":2628.3407135009766,"y":1765.636424690485,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"32aaac62.305534","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayHubResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":3449.34015083313,"y":2597.9708580076694,"z":"b1d019b.6dbd8e8","wires":[["89fb14c8.94ed18","c79239ca.a0f328"]]},{"id":"c79239ca.a0f328","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3716.3400592803955,"y":2625.9708875715733,"z":"b1d019b.6dbd8e8","wires":[["3b45764d.017e4a"]]},{"id":"89fb14c8.94ed18","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3714.339738845825,"y":2581.97087803483,"z":"b1d019b.6dbd8e8","wires":[["a62325e4.8d0b68"]]},{"id":"d9e2a3b8.be3d7","type":"set","name":"Add prop.hub.route","xml":"<set>\n<parameter name='prop.route.id' value='`$prop.hubRouteId`' />\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.spoke.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\n\n\n","comments":"","x":3393.6735305786133,"y":2554.6373659670353,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b552a294.7e377","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayspokeResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":3468.6735305786133,"y":2696.637831121683,"z":"b1d019b.6dbd8e8","wires":[["a12e36eb.943458","ededbddd.7250a"]]},{"id":"ededbddd.7250a","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3720.673677444458,"y":2725.6381277143955,"z":"b1d019b.6dbd8e8","wires":[["29ad144c.f2690c"]]},{"id":"a12e36eb.943458","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3718.6733570098877,"y":2681.6381181776524,"z":"b1d019b.6dbd8e8","wires":[["8c851f6f.caa55"]]},{"id":"92a20fbe.e0e62","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing sdwan spoke route underlay rest api\" />\n","comments":"","x":4008.6742248535156,"y":2675.6383101046085,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2be5604d.8b517","type":"switchNode","name":"switch ActivateSDWANDeviceInstance","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":3115.535987854004,"y":1291.833693176508,"z":"b1d019b.6dbd8e8","wires":[["46f77d85.1bbce4"]]},{"id":"75db0ba8.f32084","type":"switchNode","name":"switch tmp.devicevidx ","xml":"<switch test=\"`$tmp.devicevidx`\">\n\n","comments":"","outputs":1,"x":2583.5355377197266,"y":1384.4999252855778,"z":"b1d019b.6dbd8e8","wires":[["294637bf.dcbd08"]]},{"id":"294637bf.dcbd08","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2749.9639739990234,"y":1384.0714584887028,"z":"b1d019b.6dbd8e8","wires":[["a4ca51de.1aa11"]]},{"id":"a4ca51de.1aa11","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id (device) not found in service-data\" />\n","comments":"","x":2890.392906188965,"y":1386.2144333422184,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"46f77d85.1bbce4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3343.535675048828,"y":1289.8336941301823,"z":"b1d019b.6dbd8e8","wires":[["b2e4dc18.108ae"]]},{"id":"b2e4dc18.108ae","type":"set","name":"set tmp.devicevidx ","xml":"<set>\n<parameter name='tmp.devicevidx' value='`$arvidx`' />\n\n","comments":"","x":3498.535358428955,"y":1289.833693176508,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"34da5cb3.ec0254","type":"switchNode","name":"switch ActivateSiteInstance","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":3078.5360584259033,"y":1325.8337570726871,"z":"b1d019b.6dbd8e8","wires":[["1e8bb4ff.b8f57b"]]},{"id":"c3aa018f.4dc1a","type":"switchNode","name":"switch tmp.sitevidx ","xml":"<switch test=\"`$tmp.sitevidx`\">\n\n","comments":"","outputs":1,"x":2582.5354080200195,"y":1422.4998032152653,"z":"b1d019b.6dbd8e8","wires":[["1f12a8eb.1a8507"]]},{"id":"1f12a8eb.1a8507","type":"outcome","name":"NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":2742.963872909546,"y":1422.0713230669498,"z":"b1d019b.6dbd8e8","wires":[["b92b68d7.8e4328"]]},{"id":"b92b68d7.8e4328","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id (site) not found in service-data\" />\n","comments":"","x":2891.392827987671,"y":1424.214329391718,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"1e8bb4ff.b8f57b","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3266.535623550415,"y":1325.8339230120182,"z":"b1d019b.6dbd8e8","wires":[["4cf0c35.9e60c3c"]]},{"id":"4cf0c35.9e60c3c","type":"set","name":"set tmp.sitevidx ","xml":"<set>\n<parameter name='tmp.sitevidx' value='`$arvidx`' />\n\n","comments":"","x":3421.535306930542,"y":1325.833922058344,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"6de714ed.d3061c","type":"for","name":"for loop deviceidx - Get wan port ID from servicedata","xml":"<for index=\"deviceidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2715.5372161865234,"y":1807.8342405855656,"z":"b1d019b.6dbd8e8","wires":[["3adcf839.875688"]]},{"id":"e169850b.ca2b98","type":"switchNode","name":"switch deviceId","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`\">\n","comments":"","outputs":1,"x":3200.5384674072266,"y":1738.8350941240788,"z":"b1d019b.6dbd8e8","wires":[["7f1b4a03.77b0c4"]]},{"id":"7f1b4a03.77b0c4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3351.5388412475586,"y":1735.8353382647038,"z":"b1d019b.6dbd8e8","wires":[["8b5c9421.71a558"]]},{"id":"8b5c9421.71a558","type":"set","name":"set prop.hub.deviceId","xml":"<set>\n<parameter name='prop.hub.deviceId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].value`' />\n","comments":"","x":3526.539089202881,"y":1735.4358631670475,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8506f90c.f30458","type":"for","name":"for loop siteidx - Get site ID from servicedata","xml":"<for index=\"siteidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2682.0370330810547,"y":1869.8342100679874,"z":"b1d019b.6dbd8e8","wires":[["ff9f298a.cca7f8"]]},{"id":"8d61be2.a51494","type":"comment","name":"Add route src->dst, dst->src","info":"","comments":"","x":3017.672622680664,"y":1886.6360289156437,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e5d1673d.e9dbe8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2127.338134765625,"y":1247.9687458574772,"z":"b1d019b.6dbd8e8","wires":[["3730c8a.de81d38","f4c45443.bb3768","3d7d87cf.2688a8","928e3eb0.849cd","e69efead.6b9ed","2aa6f09e.c6474"]]},{"id":"3d7d87cf.2688a8","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2382.337890625,"y":1384.3021198809147,"z":"b1d019b.6dbd8e8","wires":[["75db0ba8.f32084","c3aa018f.4dc1a","2f97be15.e601c2"]]},{"id":"f21133c1.0bade","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2402.3389282226562,"y":1756.6356417238712,"z":"b1d019b.6dbd8e8","wires":[["3945c5e7.6c14ea","6de714ed.d3061c","8506f90c.f30458","23a8e35f.4687ac","eb5f2e.bb7a50d"]]},{"id":"7877847f.fa07bc","type":"set","name":"Add prop.spoke.route","xml":"<set>\n<parameter name='prop.route.id' value='`$prop.spokeRouteId`' />\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.hub.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\n\n\n\n\n","comments":"","x":3403.537546157837,"y":2665.3345922529697,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3f81fe79.041ff2","type":"returnSuccess","name":"return success","xml":"<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n","comments":"","x":352.3382110595703,"y":1122.3343378603458,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"52b0eddb.8791b4","type":"execute","name":"generate connection attachment AR url ","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n    <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar.allotted-resource-id`\"/>\n","comments":"","outputs":1,"x":1401.6711120605469,"y":184.3018356859684,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"532b1f7d.9c604","type":"execute","name":"execute RestApiCallNode - get-resource connection-attachment-allotted-resource","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n","comments":"","outputs":1,"x":1528.671142578125,"y":232.30182614922523,"z":"b1d019b.6dbd8e8","wires":[["61804941.42b278","17977b69.262195"]]},{"id":"1eb0dd45.2d88f3","type":"execute","name":"execute RestApiCallNode - get parent service data","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-parent-connection`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-psd\" />\n\n","comments":"","outputs":1,"x":1753.0052947998047,"y":566.3021399080753,"z":"b1d019b.6dbd8e8","wires":[["936de3e0.c6a2e","56dafc4a.8aaae4"]]},{"id":"4ecf397b.0a23f8","type":"execute","name":"generate connection attachment parent url ","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-parent-connection\"/>\n    <parameter name=\"target\" value=\"{service-instance-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.parent-service-instance-id`\"/>\n","comments":"","outputs":1,"x":1730.0049438476562,"y":512.3020674288273,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"43c6b758.a87968","type":"comment","name":"full mesh do nothing","info":"","comments":"","x":1564.671745300293,"y":723.3021055757999,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"717df1f.c979e1","type":"comment","name":"hub-spoke","info":"","comments":"","x":2565.6711463928223,"y":820.3019954264164,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"252298c8.827288","type":"execute","name":"generate connection attachment AR url ","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n    <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar.provided-allotted-resource-id`\"/>\n","comments":"","outputs":1,"x":2238.0042991638184,"y":971.3019906580448,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"de70a181.95e65","type":"execute","name":"execute RestApiCallNode - get-resource connection-attachment-allotted-resource","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-providedAr\" />\n\n","comments":"","outputs":1,"x":2369.004379272461,"y":1010.9686204493046,"z":"b1d019b.6dbd8e8","wires":[["9f0875d3.47e2b8","807962c4.90f77"]]},{"id":"e69efead.6b9ed","type":"execute","name":"generate service data url","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n    <parameter name=\"target\" value=\"{service-instance-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar-service-instance-id`\"/>\n","comments":"","outputs":1,"x":2419.508274078369,"y":1212.3058907091618,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"2aa6f09e.c6474","type":"execute","name":"execute RestApiCallNode - get service data of allotted resource","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-arsd\" />\n\n","comments":"","outputs":1,"x":2535.5084075927734,"y":1249.3057819902897,"z":"b1d019b.6dbd8e8","wires":[["6d9b82e0.ee0e5c","1f5ff987.3fd166"]]},{"id":"5d1cf617.14b6b8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2299.5039710998535,"y":1134.8018547594547,"z":"b1d019b.6dbd8e8","wires":[["e5d1673d.e9dbe8"]]},{"id":"dcf9daa3.e54cc8","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2305.504219055176,"y":1091.801946312189,"z":"b1d019b.6dbd8e8","wires":[["9271766e.fe0c48"]]},{"id":"5b3adfc2.d795f","type":"for","name":"for loop roleidx - Get role from allotted resource","xml":"<for index=\"roleidx\" start=\"0\" end=\"`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2880.5047760009766,"y":239.3017717897892,"z":"b1d019b.6dbd8e8","wires":[["a590c534.c72538"]]},{"id":"a590c534.c72538","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3139.5050888061523,"y":238.30208745598793,"z":"b1d019b.6dbd8e8","wires":[["24fabbc8.4ee6a4"]]},{"id":"24fabbc8.4ee6a4","type":"switchNode","name":"switch Role","xml":"<switch test=\"`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].name == 'role'`\">\n","comments":"","outputs":1,"x":3288.505100250244,"y":239.30192437767982,"z":"b1d019b.6dbd8e8","wires":[["13c03783.386d28"]]},{"id":"f7ff32b9.16d69","type":"set","name":"set prop.spoke.role","xml":"<set>\n<parameter name='prop.spoke.role' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].value`' />\n","comments":"","x":3593.505661010742,"y":236.90183225274086,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"13c03783.386d28","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3424.00492477417,"y":236.30176416039467,"z":"b1d019b.6dbd8e8","wires":[["f7ff32b9.16d69"]]},{"id":"30347a07.26c8f6","type":"switchNode","name":"switch spoke","xml":"<switch test=\"`$prop.spoke.role == 'spoke'`\">\n","comments":"","outputs":1,"x":1316.004280090332,"y":383.30169931054115,"z":"b1d019b.6dbd8e8","wires":[["2d380018.3e87c"]]},{"id":"2d380018.3e87c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1457.004035949707,"y":384.3017365038395,"z":"b1d019b.6dbd8e8","wires":[["1b9dfff3.6a8e9"]]},{"id":"356b426.2684ebe","type":"for","name":"for i.. service-data.vnfs.vnf_length[]","xml":"<for index='i' start='0' end='`$service-data.vnfs.vnf_length`' >\n","comments":"","outputs":1,"x":1729.5045623779297,"y":438.3017317354679,"z":"b1d019b.6dbd8e8","wires":[["bfdedc49.050ca"]]},{"id":"bfdedc49.050ca","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2063.170753479004,"y":382.3016621172428,"z":"b1d019b.6dbd8e8","wires":[["fd950685.06ac48","2d8b9375.2ddaac","257f4a9c.1ed446"]]},{"id":"fd950685.06ac48","type":"switchNode","name":"switch ActivateSDWANPortInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2334.1707916259766,"y":328.3025485575199,"z":"b1d019b.6dbd8e8","wires":[["fc67008d.091db"]]},{"id":"fc67008d.091db","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2547.170555114746,"y":329.30255141854286,"z":"b1d019b.6dbd8e8","wires":[["1a445db7.1fd752"]]},{"id":"1a445db7.1fd752","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2696.0042991638184,"y":331.3017407953739,"z":"b1d019b.6dbd8e8","wires":[["3c007d2e.edc602"]]},{"id":"3c007d2e.edc602","type":"for","name":"for loop widx - Get wan port ID from servicedata","xml":"<for index=\"widx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2969.004249572754,"y":329.66895881295204,"z":"b1d019b.6dbd8e8","wires":[["f1345e2.c9f7ea"]]},{"id":"f1345e2.c9f7ea","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3238.0051765441895,"y":328.6692048609257,"z":"b1d019b.6dbd8e8","wires":[["ba5679ba.3ede18","3e5320cd.89f1e","efdc38fc.1f5628","8e38557b.879d28"]]},{"id":"ba5679ba.3ede18","type":"switchNode","name":"switch transportNetworkName","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'transportNetworkName'`\">\n","comments":"","outputs":1,"x":3481.0062103271484,"y":283.66977801918983,"z":"b1d019b.6dbd8e8","wires":[["8f69b44d.c2f088"]]},{"id":"8f69b44d.c2f088","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3681.0059852600098,"y":283.6699401438236,"z":"b1d019b.6dbd8e8","wires":[["a5483223.dc4b1"]]},{"id":"a5483223.dc4b1","type":"set","name":"set prop.spoke.transportNetworkName","xml":"<set>\n<parameter name='prop.spoke.transportNetworkName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3908.006721496582,"y":285.27052226662636,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"1b9dfff3.6a8e9","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1209.9733276367188,"y":694.270647674799,"z":"b1d019b.6dbd8e8","wires":[["356b426.2684ebe","4ecf397b.0a23f8","1eb0dd45.2d88f3","a13ee754.9515f8","dd934675.d4e888","de9858f.b81a8a8","88c5e553.ee7048","2e975a9d.1a4246"]]},{"id":"2d8b9375.2ddaac","type":"switchNode","name":"switch ActivateSDWANDeviceInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2326.5042266845703,"y":402.30175319314003,"z":"b1d019b.6dbd8e8","wires":[["74821dd.148afe4"]]},{"id":"74821dd.148afe4","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2545.5039768218994,"y":403.30173793435097,"z":"b1d019b.6dbd8e8","wires":[["c6b3d98e.b714c8"]]},{"id":"c6b3d98e.b714c8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2696.3379669189453,"y":409.30092921853065,"z":"b1d019b.6dbd8e8","wires":[["57f2bdad.e02274"]]},{"id":"57f2bdad.e02274","type":"for","name":"for loop didx - Get device ID from servicedata","xml":"<for index=\"didx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2955.338218688965,"y":411.6682244837284,"z":"b1d019b.6dbd8e8","wires":[["ca5f7c6e.be6de"]]},{"id":"ca5f7c6e.be6de","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3241.338726043701,"y":444.6684094965458,"z":"b1d019b.6dbd8e8","wires":[["a11b64a3.1c2778"]]},{"id":"a11b64a3.1c2778","type":"switchNode","name":"switch deviceId","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'deviceId'`\">\n","comments":"","outputs":1,"x":3424.3396377563477,"y":444.6690198481083,"z":"b1d019b.6dbd8e8","wires":[["b3a0e9d7.649ff8"]]},{"id":"b3a0e9d7.649ff8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3624.339412689209,"y":444.6691819727421,"z":"b1d019b.6dbd8e8","wires":[["a6327912.f3f9d8"]]},{"id":"a6327912.f3f9d8","type":"set","name":"set prop.spoke.deviceId","xml":"<set>\n<parameter name='prop.spoke.deviceId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`' />\n","comments":"","x":3819.3400955200195,"y":441.2697631418705,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"257f4a9c.1ed446","type":"switchNode","name":"switch ActivateSiteInstance","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n    \n    \n\n","comments":"","outputs":1,"x":2305.5043411254883,"y":463.30178466439247,"z":"b1d019b.6dbd8e8","wires":[["9ba2d06.8f6be3"]]},{"id":"9ba2d06.8f6be3","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2539.503978729248,"y":464.30172458291054,"z":"b1d019b.6dbd8e8","wires":[["a15d8c7c.78012"]]},{"id":"a15d8c7c.78012","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2691.3379669189453,"y":486.3009606897831,"z":"b1d019b.6dbd8e8","wires":[["44322235.a2372c","d545295b.570bb8"]]},{"id":"44322235.a2372c","type":"for","name":"for loop widx - Get wan site ID from servicedata","xml":"<for index=\"sidx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2972.3377990722656,"y":485.66816344857216,"z":"b1d019b.6dbd8e8","wires":[["e3395281.b0fe4"]]},{"id":"e3395281.b0fe4","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3241.338726043701,"y":484.6684094965458,"z":"b1d019b.6dbd8e8","wires":[["2466c56a.c4304a","fe259139.fb262","9b298a8b.b4f888"]]},{"id":"2466c56a.c4304a","type":"switchNode","name":"switch siteId","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`\">\n","comments":"","outputs":1,"x":3430.33992767334,"y":534.6690813601017,"z":"b1d019b.6dbd8e8","wires":[["8bd2628f.d7e06"]]},{"id":"8bd2628f.d7e06","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3630.3394050598145,"y":522.6691958010197,"z":"b1d019b.6dbd8e8","wires":[["4379d5c4.4bf5fc"]]},{"id":"4379d5c4.4bf5fc","type":"set","name":"set prop.spoke.siteId","xml":"<set>\n<parameter name='prop.spoke.siteId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n","comments":"","x":3823.340358734131,"y":529.2698260843754,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"3e5320cd.89f1e","type":"switchNode","name":"switch wanPortId","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'wanPortId'`\">\n","comments":"","outputs":1,"x":3454.50390625,"y":320.3018342554569,"z":"b1d019b.6dbd8e8","wires":[["42e60a6a.aa3574"]]},{"id":"42e60a6a.aa3574","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3684.5039100646973,"y":320.30194583535194,"z":"b1d019b.6dbd8e8","wires":[["ae0a5d97.a78e5"]]},{"id":"ae0a5d97.a78e5","type":"set","name":"set prop.spoke.wanPortId","xml":"<set>\n<parameter name='prop.spoke.wanPortId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3911.5046463012695,"y":321.9025279581547,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"efdc38fc.1f5628","type":"switchNode","name":"switch providerIpAddress","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'providerIpAddress'`\">\n","comments":"","outputs":1,"x":3472.504066467285,"y":364.30178466439247,"z":"b1d019b.6dbd8e8","wires":[["ac0b6cb5.77b59"]]},{"id":"ac0b6cb5.77b59","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3672.5038414001465,"y":364.30194678902626,"z":"b1d019b.6dbd8e8","wires":[["f9d16c81.a3a79"]]},{"id":"f9d16c81.a3a79","type":"set","name":"set prop.spoke.providerIpAddress","xml":"<set>\n<parameter name='prop.spoke.providerIpAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3899.5045776367188,"y":365.902528911829,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8e38557b.879d28","type":"switchNode","name":"switch ipAddress","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'ipAddress'`\">\n","comments":"","outputs":1,"x":3452.503894805908,"y":403.3018209040165,"z":"b1d019b.6dbd8e8","wires":[["3e49c027.9158a"]]},{"id":"3e49c027.9158a","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3676.5037231445312,"y":403.3019382059574,"z":"b1d019b.6dbd8e8","wires":[["63fb7b99.9c4f54"]]},{"id":"63fb7b99.9c4f54","type":"set","name":"set prop.spoke.ipAddress","xml":"<set>\n<parameter name='prop.spoke.ipAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n","comments":"","x":3903.5044593811035,"y":404.90252032876015,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"95ab5318.2e5c4","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1020.0038070678711,"y":262.50004068017006,"z":"b1d019b.6dbd8e8","wires":[["8881f8e.5bc9208","52b0eddb.8791b4","532b1f7d.9c604","30347a07.26c8f6"]]},{"id":"6dbd8249.403ccc","type":"comment","name":"get spoke device,site,wanport info","info":"","comments":"","x":1776.97265625,"y":385.9687458574772,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"6c52be5d.b4d02","type":"comment","name":"Add routes only on activation of spoke Attach site","info":"","comments":"","x":1437.5038223266602,"y":329.0000597536564,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ac54d054.7cd81","type":"comment","name":"Loop for all the hub allotted resources, get respective service data and get vnfs info","info":"","comments":"","x":2193.50390625,"y":824.5000559389591,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ff9f298a.cca7f8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2957.5037384033203,"y":1845.000134140253,"z":"b1d019b.6dbd8e8","wires":[["d59362d2.ef947","b082a709.11f708"]]},{"id":"3adcf839.875688","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3024.5037384033203,"y":1741.000010162592,"z":"b1d019b.6dbd8e8","wires":[["e169850b.ca2b98"]]},{"id":"d59362d2.ef947","type":"switchNode","name":"switch siteId","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`\">\n","comments":"","outputs":1,"x":3134.503547668457,"y":1816.9998003542423,"z":"b1d019b.6dbd8e8","wires":[["6377b71d.78eda8"]]},{"id":"6377b71d.78eda8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3285.503917694092,"y":1815.999983459711,"z":"b1d019b.6dbd8e8","wires":[["d846e28e.6f3b8"]]},{"id":"d846e28e.6f3b8","type":"set","name":"set prop.hub.siteId","xml":"<set>\n<parameter name='prop.hub.siteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n","comments":"","x":3457.5039253234863,"y":1813.6005522310734,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"23a8e35f.4687ac","type":"switchNode","name":"switch request-action","xml":"<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":2611.0036544799805,"y":2169.000444084406,"z":"b1d019b.6dbd8e8","wires":[["98e33ddb.b0dca","c2b4abbd.4bca28"]]},{"id":"98e33ddb.b0dca","type":"outcome","name":"ActivateSDWANAttachmentInstance","xml":"<outcome value='ActivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":2881.0310592651367,"y":1980.0314766466618,"z":"b1d019b.6dbd8e8","wires":[["6bb4758a.3f2dbc"]]},{"id":"d343e9eb.f9d438","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayHubResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":3469.504180908203,"y":1950.0004482269287,"z":"b1d019b.6dbd8e8","wires":[["6e0b715b.cb6d1","1b5945c5.1fa10a"]]},{"id":"1b5945c5.1fa10a","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3716.504009246826,"y":1929.000280380249,"z":"b1d019b.6dbd8e8","wires":[["2019f4f3.e1c6cc"]]},{"id":"6e0b715b.cb6d1","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3714.503688812256,"y":1885.0002708435059,"z":"b1d019b.6dbd8e8","wires":[["76b9bae0.83f2b4"]]},{"id":"df42caf7.594ce8","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing sdwan hub route underlay rest api\" />\n","comments":"","x":4002.505043029785,"y":1884.0006313323975,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"543ffebe.107f8","type":"set","name":"Add prop.hub.route","xml":"<set>\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.spoke.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\n\n\n","comments":"","x":3404.8377838134766,"y":1920.6669883728027,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2e8b8d76.b2d882","type":"execute","name":"execute RestApiCallNode underlay route","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayspokeResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":3486.838050842285,"y":2114.667499214411,"z":"b1d019b.6dbd8e8","wires":[["9396f713.11f4f8","348aaf89.0950a"]]},{"id":"348aaf89.0950a","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":3731.8382873535156,"y":2140.667496204376,"z":"b1d019b.6dbd8e8","wires":[["928f88f0.d6ee18"]]},{"id":"9396f713.11f4f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":3729.8379669189453,"y":2096.667486667633,"z":"b1d019b.6dbd8e8","wires":[["58d448af.a07fd8"]]},{"id":"38cd6644.9bd7ea","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing sdwan spoke route underlay rest api\" />\n","comments":"","x":4019.8393936157227,"y":2089.6679944992065,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b2b73fd8.a499a","type":"set","name":"Add prop.spoke.route","xml":"<set>\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.hub.wanPortId`' />                                                \n<parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\n\n\n","comments":"","x":3427.7019233703613,"y":2077.3642114698887,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f670e4e2.ed4a18","type":"set","name":"set  prop.underlay.routeIds","xml":"<set>\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubSiteId' value='`$prop.hub.siteId`' />\n<!--parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeSiteId' value='`$prop.spoke.siteId`' /-->\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubRouteId' value='`$underlayHubResp.success[0].id`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeRouteId' value='`$underlayspokeResp.success[0].id`' />\n\n\n\n","comments":"","x":3437.669448852539,"y":2237.0309874117374,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"6bb4758a.3f2dbc","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3117.003578186035,"y":1977.4999100267887,"z":"b1d019b.6dbd8e8","wires":[["543ffebe.107f8","b2b73fd8.a499a","f670e4e2.ed4a18","2e8b8d76.b2d882","d343e9eb.f9d438","154b4cb.99625b3","497ef4.1532d10c","7ece27e0.0e9908","aeaf4169.ad4e1","7b6ea599.d556bc"]]},{"id":"cda2bd2c.f7f2b","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3149.0036811828613,"y":2619.500260025263,"z":"b1d019b.6dbd8e8","wires":[["d9e2a3b8.be3d7","7877847f.fa07bc","32aaac62.305534","b552a294.7e377","4d9ba6d6.4948a8","5011194.82bcce8","aa5933c2.13ab"]]},{"id":"c2b4abbd.4bca28","type":"outcome","name":"DeactivateSDWANAttachmentInstance","xml":"<outcome value='DeactivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":2897.5037384033203,"y":2613.500071197748,"z":"b1d019b.6dbd8e8","wires":[["cda2bd2c.f7f2b"]]},{"id":"497ef4.1532d10c","type":"set","name":"Add sites to list and update length","xml":"<set>\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteName' value='`$prop.hub.siteName`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteName' value='`$prop.spoke.siteName`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteId' value='`$prop.spoke.siteId`' />\n\n\n\n\n\n\n\n\n\n\n\n\n\n","comments":"","x":3442.0357360839844,"y":2362.0318676531315,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"536b45e5.f1ae4c","type":"comment","name":"save hubsiteIds and spoke siteIds for provision","info":"","comments":"","x":3474.0361099243164,"y":2318.0317417681217,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"fe259139.fb262","type":"switchNode","name":"switch name","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'name'`\">\n","comments":"","outputs":1,"x":3431.034912109375,"y":484.03124871850014,"z":"b1d019b.6dbd8e8","wires":[["1eff9aea.08d565"]]},{"id":"1eff9aea.08d565","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3631.0346870422363,"y":484.0314108431339,"z":"b1d019b.6dbd8e8","wires":[["498b6b56.a99af4"]]},{"id":"498b6b56.a99af4","type":"set","name":"set prop.spoke.siteName","xml":"<set>\n<parameter name='prop.spoke.siteName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n","comments":"","x":3819.0354919433594,"y":482.6320244371891,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b082a709.11f708","type":"switchNode","name":"switch name","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'name'`\">\n","comments":"","outputs":1,"x":3133.0349349975586,"y":1783.5311075747013,"z":"b1d019b.6dbd8e8","wires":[["66b911d8.08a74"]]},{"id":"66b911d8.08a74","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3284.0353050231934,"y":1782.53129068017,"z":"b1d019b.6dbd8e8","wires":[["e9fd7b0e.9d3c98"]]},{"id":"e9fd7b0e.9d3c98","type":"set","name":"set prop.hub.siteName","xml":"<set>\n<parameter name='prop.hub.siteName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n","comments":"","x":3456.035312652588,"y":1780.1318594515324,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f5abf897.1c94a8","type":"set","name":"set prop.provision.siteIds_length=0","xml":"<set>\n<parameter name='prop.provision.siteIds_length' value='0' />\n\n\n\n","comments":"","x":456.03517150878906,"y":370.0312534868717,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"487dcb6d.a39b04","type":"execute","name":"execute RestApiCallNode site provision urls","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-site-provision.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites/provision-urls'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"provisionUrlRsp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />","comments":"","outputs":1,"x":796.0352783203125,"y":786.031494140625,"z":"b1d019b.6dbd8e8","wires":[["ffc902c4.10ca6","e8f294ed.ea5b38"]]},{"id":"e8f294ed.ea5b38","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1051.0354766845703,"y":821.0315399169922,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"ffc902c4.10ca6","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1047.0352783203125,"y":748.0314774513245,"z":"b1d019b.6dbd8e8","wires":[["f3276258.b0845"]]},{"id":"f3276258.b0845","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing provision url rest api\" />\n","comments":"","x":1218.0357704162598,"y":779.0314909517765,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e484905a.ff144","type":"for","name":"for providx..prop.provision.siteIds[]","xml":"<for index='providx' start='0' end='`$prop.provision.siteIds_length`' >\n","comments":"","outputs":1,"x":449.0352020263672,"y":574.031293541193,"z":"b1d019b.6dbd8e8","wires":[["632e756e.6e9b1c"]]},{"id":"632e756e.6e9b1c","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":473.0352439880371,"y":784.0312668383121,"z":"b1d019b.6dbd8e8","wires":[["2e3f9820.f1c8a8","487dcb6d.a39b04","b564c84.911a938"]]},{"id":"2e3f9820.f1c8a8","type":"set","name":"set prop.spoke.hubSiteId, spokeSiteId","xml":"<set>\n<parameter name='prop.provision.hubSitename' value='`$prop.provision.siteIds[$providx].hubSiteName`' />\n<parameter name='prop.provision.spokeSitename' value='`$prop.provision.siteIds[$providx].spokeSiteName`' />\n<parameter name='prop.provision.hubspokesite[0]' value='`$prop.provision.siteIds[$providx].hubSiteId`' />\n<parameter name='prop.provision.hubspokesite[1]' value='`$prop.provision.siteIds[$providx].spokeSiteId`' />\n<parameter name='prop.provision.hubspokesite_length' value='2' />\n","comments":"","x":779.0379333496094,"y":736.6330394744873,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"b564c84.911a938","type":"record","name":"record provision url response to the file","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"`'/opt/opendaylight/current/data/log/' + 'HUB-' + $prop.provision.hubSitename + '-SPOKE-' + $prop.provision.spokeSitename + '-provisionUrl'`\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value='`$provisionUrlRsp.success[0].url`'/>\n\n","comments":"","outputs":1,"x":785.0353393554688,"y":835.0314025878906,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"35d495b.f10696a","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2522.035388946533,"y":1051.0313250124454,"z":"b1d019b.6dbd8e8","wires":[["2ab4ecb3.a0e7b4"]]},{"id":"684cbe0.d0ae544","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":2002.0350646972656,"y":614.0313078463078,"z":"b1d019b.6dbd8e8","wires":[["9bdd2027.61dcf"]]},{"id":"8db55ac9.a24998","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1946.0352325439453,"y":705.0312162935734,"z":"b1d019b.6dbd8e8","wires":[["62066499.8552ec","40faa7d6.f30958"]]},{"id":"154b4cb.99625b3","type":"set","name":"set prop.underlay.routeIds_length++","xml":"<set>\n<parameter name='prop.underlay.routeIds_length' value='`$prop.underlay.routeIds_length + 1`' />\n\n\n\n\n","comments":"","x":3467.0050659179688,"y":2273.250064522028,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"7ece27e0.0e9908","type":"set","name":"Update prop.provision.siteIds_length","xml":"<set>\n<parameter name='prop.provision.siteIds_length' value='`$prop.provision.siteIds_length + 1`' />\n\n\n\n\n\n\n\n\n\n\n\n\n","comments":"","x":3450.5048065185547,"y":2397.2501598894596,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"d545295b.570bb8","type":"set","name":"set prop.spoke.siteidx","xml":"<set>\n<parameter name='prop.spoke.siteidx' value='`$i`' />\n\n","comments":"","x":2890.7540969848633,"y":450.00002732872963,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"f0e8f4fb.c20608","type":"set","name":"set  underlay route ids to service data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value=\"underlayRouteIds\" />\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$tmp.routeString`' />\n\n\n","comments":"","x":1913.0045471191406,"y":1937.0003973543644,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e2e0c9ba.1ae298","type":"set","name":"set prop.underlay.routeIds_length=0","xml":"<set>\n<parameter name='prop.underlay.routeIds_length' value='0' />\n\n\n\n","comments":"","x":461.0000305175781,"y":321.99611154198647,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"4d9ba6d6.4948a8","type":"for","name":"for loop uidx - Get route Id from prop.underlay.routeIds","xml":"<for index=\"uidx\" start=\"0\" end=\"`$prop.underlay.routeIds_length`\">\n    \n    \n","comments":"","outputs":1,"x":3504.6669387817383,"y":2492.3294989168644,"z":"b1d019b.6dbd8e8","wires":[["b779a699.2b9d28"]]},{"id":"b779a699.2b9d28","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3796.3336334228516,"y":2492.3294989168644,"z":"b1d019b.6dbd8e8","wires":[["a219586f.d987c8"]]},{"id":"a219586f.d987c8","type":"switchNode","name":"switch prop.hub.siteId","xml":"<switch test=\"`$prop.underlay.routeIds[$uidx].hubSiteId == $prop.hub.siteId`\">\n","comments":"","outputs":1,"x":3985.3336486816406,"y":2492.3296619951725,"z":"b1d019b.6dbd8e8","wires":[["55260cd6.1fda94"]]},{"id":"55260cd6.1fda94","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4156.333084106445,"y":2492.329661041498,"z":"b1d019b.6dbd8e8","wires":[["7c71da62.bde474"]]},{"id":"7c71da62.bde474","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":4310.333084106445,"y":2496.3296686708927,"z":"b1d019b.6dbd8e8","wires":[["ddeb2690.5c2138"]]},{"id":"ddeb2690.5c2138","type":"set","name":"set prop.hubRouteId prop.spokeRouteId","xml":"<set>\n<parameter name='prop.hubRouteId' value='`$prop.underlay.routeIds[$uidx].hubRouteId`' />\n<parameter name='prop.spokeRouteId' value='`$prop.underlay.routeIds[$uidx].spokeRouteId`' />\n","comments":"","x":4396.33309173584,"y":2568.32967248559,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"9b298a8b.b4f888","type":"switchNode","name":"switch underlayRouteIds","xml":"<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'underlayRouteIds'`\">\n","comments":"","outputs":1,"x":3436,"y":588.6627184450626,"z":"b1d019b.6dbd8e8","wires":[["3be394fa.ba925c"]]},{"id":"3be394fa.ba925c","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3635.9994773864746,"y":576.6628328859806,"z":"b1d019b.6dbd8e8","wires":[["9920e23b.cd7d6"]]},{"id":"b59167a6.831738","type":"set","name":"set prop.underlay.routeIds","xml":"<set>\n<parameter name='prop.underlay.routeIdsString' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n","comments":"","x":4007.000877380371,"y":576.2635428011417,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2e975a9d.1a4246","type":"switchNode","name":"switch request-action","xml":"<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n","comments":"","outputs":1,"x":1123.0002899169922,"y":2028.329627662897,"z":"b1d019b.6dbd8e8","wires":[["50fd57d3.4e6908","75c971c8.2ade9"]]},{"id":"50fd57d3.4e6908","type":"outcome","name":"ActivateSDWANAttachmentInstance","xml":"<outcome value='ActivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":1387.0003356933594,"y":1983.3296248018742,"z":"b1d019b.6dbd8e8","wires":[["392209cf.5e8ed6"]]},{"id":"392209cf.5e8ed6","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1628.9728469848633,"y":1979.7983757555485,"z":"b1d019b.6dbd8e8","wires":[["f0e8f4fb.c20608","c79bd758.d1a228","c32378d4.836d48","ec775956.c66808"]]},{"id":"c8905137.4ae61","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1632.9728355407715,"y":2063.7985445559025,"z":"b1d019b.6dbd8e8","wires":[["b63c926.b7d007"]]},{"id":"75c971c8.2ade9","type":"outcome","name":"DeactivateSDWANAttachmentInstance","xml":"<outcome value='DeactivateSDWANAttachmentInstance'>","comments":"","outputs":1,"x":1384.4729766845703,"y":2065.7983814775944,"z":"b1d019b.6dbd8e8","wires":[["c8905137.4ae61"]]},{"id":"b63c926.b7d007","type":"set","name":"set input parameter length -1","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length - 1`' />\n\n\n\n\n","comments":"","x":1861.6665344238281,"y":2062.32963052392,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"ada095aa.2b5138","type":"comment","name":"Get route routes IDs","info":"","comments":"","x":3404.3334045410156,"y":2453.6627356112003,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"c79bd758.d1a228","type":"set","name":"set  underlay route ids to service data","xml":"<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\n\n\n\n\n","comments":"","x":1902.333480834961,"y":2011.6626717150211,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"c32378d4.836d48","type":"for","name":"for jidx paramidx - Get topology from servicedata","xml":"<for index=\"jidx\" start=\"0\" end=\"`$prop.underlay.routeIds_length`\">\n    \n    \n","comments":"","outputs":1,"x":1991.3334045410156,"y":1558.329443603754,"z":"b1d019b.6dbd8e8","wires":[["59aabb37.7454e4"]]},{"id":"81edad0c.4f5ac","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat1\"/>\n    <parameter name=\"target\" value='`$prop.underlay.routeIds[$jidx].hubRouteId`'/>\n\n\n","comments":"","outputs":1,"x":2175.333740234375,"y":1691.996646553278,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"7fab8278.4c656c","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$prop.underlay.routeIds[$jidx].hubSiteId`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat\"/>\n    <parameter name=\"target\" value=\",\"/>\n\n\n","comments":"","outputs":1,"x":2185.3337326049805,"y":1644.662984520197,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"59aabb37.7454e4","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":1898.333423614502,"y":1743.662773758173,"z":"b1d019b.6dbd8e8","wires":[["7fab8278.4c656c","81edad0c.4f5ac","bd7613d0.c6069","cafff242.d3dff","2fe3b3bd.2bc2ac","6f5dac0d.df1414"]]},{"id":"bd7613d0.c6069","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat1`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat2\"/>\n    <parameter name=\"target\" value=\",\"/>\n\n\n","comments":"","outputs":1,"x":2182.3334426879883,"y":1731.6628777086735,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"cafff242.d3dff","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat2`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat3\"/>\n    <parameter name=\"target\" value='`$prop.underlay.routeIds[$jidx].spokeRouteId`'/>\n\n\n","comments":"","outputs":1,"x":2182.3334426879883,"y":1767.6628777086735,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"2fe3b3bd.2bc2ac","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat3`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat4\"/>\n    <parameter name=\"target\" value=\" | \"/>\n\n\n","comments":"","outputs":1,"x":2175.3334426879883,"y":1807.996251732111,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"6f5dac0d.df1414","type":"execute","name":"execute concat","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.routeString`'/>\n    <parameter name=\"outputPath\" value=\"tmp.routeString\"/>\n    <parameter name=\"target\" value='`$tmp.concat4`'/>\n\n\n","comments":"","outputs":1,"x":2178.333381652832,"y":1862.6627909243107,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"ec775956.c66808","type":"set","name":"Set tmp.routeString","xml":"<set>\n<parameter name='tmp.routeString' value=\"\" />\n\n","comments":"","x":1895.3334045410156,"y":1499.6627747118473,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"9920e23b.cd7d6","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3784.0002250671387,"y":622.9961306154728,"z":"b1d019b.6dbd8e8","wires":[["b59167a6.831738","c00c7b4.2e5c088"]]},{"id":"c00c7b4.2e5c088","type":"execute","name":"execute split |","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.underlay.routeIdsString`'/>\n<parameter name=\"regex\" value=\" | \"/>\n<parameter name=\"ctx_memory_result_key\" value=\"prop.underlay.routeIdsValue\"/>\n","comments":"","outputs":1,"x":3962.0002365112305,"y":642.9961306154728,"z":"b1d019b.6dbd8e8","wires":[["d71d5ee6.5fb61","71f30ffd.74297"]]},{"id":"71f30ffd.74297","type":"failure","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4139.0002517700195,"y":623.9961296617985,"z":"b1d019b.6dbd8e8","wires":[["5a3e2b9e.9c82d4"]]},{"id":"d71d5ee6.5fb61","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4128.0002517700195,"y":671.9961315691471,"z":"b1d019b.6dbd8e8","wires":[["e2b81ef4.58103"]]},{"id":"3ae500a3.3e9bf","type":"set","name":"set ipAddress prefixLength","xml":"<set>\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubSiteId' value='`$prop.underlay.routeIdsValues[0]`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubRouteId' value='`$prop.underlay.routeIdsValues[1]`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeRouteId' value='`$prop.underlay.routeIdsValues[2]`' />","comments":"","x":5325.001117706299,"y":557.9963718950748,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"e2b81ef4.58103","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":4258.000255584717,"y":671.9961315691471,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"5a3e2b9e.9c82d4","type":"for","name":"for loop ridx ","xml":"<for index=\"ridx\" start=\"0\" end=\"`$prop.underlay.routeIdsValue_length`\">\n    \n    \n","comments":"","outputs":1,"x":4284.999938964844,"y":621.9961296617985,"z":"b1d019b.6dbd8e8","wires":[["51bc75fb.70c9ec"]]},{"id":"51bc75fb.70c9ec","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":4463.332950592041,"y":618.9961306154728,"z":"b1d019b.6dbd8e8","wires":[["96fd714e.32a33"]]},{"id":"96fd714e.32a33","type":"execute","name":"execute split ,","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.underlay.routeIdsValue[$ridx]`'/>\n<parameter name=\"regex\" value=\",\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"prop.underlay.routeIdsValues\"/>\n","comments":"","outputs":1,"x":4638.332962036133,"y":617.9961287081242,"z":"b1d019b.6dbd8e8","wires":[["1c090ebd.4b1411","d83771e1.cb93f"]]},{"id":"1c090ebd.4b1411","type":"failure","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":4795.33296585083,"y":594.9961363375187,"z":"b1d019b.6dbd8e8","wires":[["669de5ac.6729ac"]]},{"id":"d83771e1.cb93f","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4784.33296585083,"y":642.9961382448673,"z":"b1d019b.6dbd8e8","wires":[["cb663456.f36218"]]},{"id":"cb663456.f36218","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":4914.332969665527,"y":642.9961382448673,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"c59be3a3.5f1ff","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":5117.665496826172,"y":573.9962903559208,"z":"b1d019b.6dbd8e8","wires":[["3ae500a3.3e9bf","52bf6eab.78af3"]]},{"id":"52bf6eab.78af3","type":"set","name":"set ipAddress prefixLength","xml":"<set>\n<parameter name='prop.underlay.routeIds_length' value='`$prop.underlay.routeIds_length + 1`' />\n","comments":"","x":5317.333156585693,"y":599.9961678087711,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"669de5ac.6729ac","type":"switchNode","name":"switch prop.underlay.routeIdsValues_length","xml":"<switch test='`$prop.underlay.routeIdsValues_length`'>\n","comments":"","outputs":1,"x":4993.667121887207,"y":475.9961611330509,"z":"b1d019b.6dbd8e8","wires":[["43831c53.32aa44","286a0e51.c7df42"]]},{"id":"43831c53.32aa44","type":"outcome","name":"3","xml":"<outcome value='3'>\n","comments":"","outputs":1,"x":5228.636054992676,"y":512.9648882448673,"z":"b1d019b.6dbd8e8","wires":[["c59be3a3.5f1ff"]]},{"id":"286a0e51.c7df42","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":5245.666980743408,"y":394.9961020052433,"z":"b1d019b.6dbd8e8","wires":[["b1a5d346.3c838"]]},{"id":"b1a5d346.3c838","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":5406.66650390625,"y":434.99609246850014,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"9edc0016.5374a","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n    \n","comments":"","x":2886.006446838379,"y":1008.3028489649296,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"36139e8.434ce62","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2872.0059547424316,"y":956.969269901514,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"aeaf4169.ad4e1","type":"set","name":"hardcode hub route","xml":"<set>\n<parameter name='prop.hub.ipAddress' value=\"10.2.0.2\" />\n<parameter name='prop.hub.providerIpAddress' value=\"10.2.0.0/16\" />\n\n\n","comments":"","x":3406.0079498291016,"y":1889.0040550231934,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"7b6ea599.d556bc","type":"set","name":"hardcode spoke route","xml":"<set>\n<parameter name='prop.spoke.ipAddress' value=\"10.3.0.1\" />\n<parameter name='prop.spoke.providerIpAddress' value=\"10.3.0.0/16\" />","comments":"","x":3421.008316040039,"y":2046.0039640963078,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"5011194.82bcce8","type":"set","name":"hardcode hub route","xml":"<set>\n<parameter name='prop.hub.ipAddress' value=\"10.2.0.2\" />\n<parameter name='prop.hub.providerIpAddress' value=\"10.2.0.0/16\" />\n\n\n","comments":"","x":3437.3374786376953,"y":2522.000064522028,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"aa5933c2.13ab","type":"set","name":"hardcode spoke route","xml":"<set>\n<parameter name='prop.spoke.ipAddress' value=\"10.3.0.1\" />\n<parameter name='prop.spoke.providerIpAddress' value=\"10.3.0.0/16\" />","comments":"","x":3462.337158203125,"y":2633.9999987185,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"2c880b10.265824","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3473.0080757141113,"y":1253.5040480196476,"z":"b1d019b.6dbd8e8","wires":[["c82b1262.885e1","43b2a05a.a7d9b"]]},{"id":"27cac422.cfe53c","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3803.2580280303955,"y":1421.0040365755558,"z":"b1d019b.6dbd8e8","wires":[["4095ea96.600eb4"]]},{"id":"4095ea96.600eb4","type":"switchNode","name":"switch transportNetworkName==prop.spoke.transportNetworkName","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value == $prop.spoke.transportNetworkName`\">\n","comments":"","outputs":1,"x":4136.008050918579,"y":1423.0043121874332,"z":"b1d019b.6dbd8e8","wires":[["62cc8a78.a53c54"]]},{"id":"62cc8a78.a53c54","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":4003.0094957351685,"y":1519.0042206346989,"z":"b1d019b.6dbd8e8","wires":[["79266ace.3e0f24"]]},{"id":"79266ace.3e0f24","type":"block","name":"block atmoic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":4158.759503364563,"y":1511.0042206346989,"z":"b1d019b.6dbd8e8","wires":[["b05226c4.bd3a28","eaeb7669.551da8"]]},{"id":"eaeb7669.551da8","type":"set","name":"set tmp.wanportvidx ","xml":"<set>\n<parameter name='tmp.wanportvidx' value='`$arvidx`' />\n\n","comments":"","x":4336.2604722976685,"y":1487.004341751337,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"eb5f2e.bb7a50d","type":"for","name":"for loop wanportvidx - Get wan port ID from servicedata","xml":"<for index=\"wportidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n","comments":"","outputs":1,"x":2744.5081939697266,"y":1699.0043436586857,"z":"b1d019b.6dbd8e8","wires":[["94ca8906.8e1df8"]]},{"id":"94ca8906.8e1df8","type":"block","name":"block atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":3047.5095977783203,"y":1657.004679352045,"z":"b1d019b.6dbd8e8","wires":[["de2e10d.04cb7f","c3406431.579fb8","5a48c14b.c2614"]]},{"id":"de2e10d.04cb7f","type":"switchNode","name":"switch wanPortId","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'wanPortId'`\">\n","comments":"","outputs":1,"x":3246.8432846069336,"y":1614.0048920214176,"z":"b1d019b.6dbd8e8","wires":[["31fd8292.a950ce"]]},{"id":"31fd8292.a950ce","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3407.8436126708984,"y":1615.0049721300602,"z":"b1d019b.6dbd8e8","wires":[["d6943196.7494d"]]},{"id":"d6943196.7494d","type":"set","name":"set prop.hub.wanPortId","xml":"<set>\n<parameter name='prop.hub.wanPortId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":3597.8440742492676,"y":1614.6052481234074,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"c3406431.579fb8","type":"switchNode","name":"switch providerIpAddress","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'providerIpAddress'`\">\n","comments":"","outputs":1,"x":3268.371768951416,"y":1651.2011968195438,"z":"b1d019b.6dbd8e8","wires":[["db88a61d.083358"]]},{"id":"db88a61d.083358","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3444.3727531433105,"y":1651.2013193666935,"z":"b1d019b.6dbd8e8","wires":[["5328c878.a15168"]]},{"id":"5328c878.a15168","type":"set","name":"set prop.hub.providerIpAddress","xml":"<set>\n<parameter name='prop.hub.providerIpAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":3646.372791290283,"y":1651.8012396395206,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"5a48c14b.c2614","type":"switchNode","name":"switch ipAddress","xml":"<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'ipAddress'`\">\n","comments":"","outputs":1,"x":3240.871850967407,"y":1688.7012821733952,"z":"b1d019b.6dbd8e8","wires":[["1b2197ee.121938"]]},{"id":"1b2197ee.121938","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":3444.872791290283,"y":1688.7012340128422,"z":"b1d019b.6dbd8e8","wires":[["fe46a76e.a6fa58"]]},{"id":"fe46a76e.a6fa58","type":"set","name":"set prop.hub.ipAddress","xml":"<set>\n<parameter name='prop.hub.ipAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n","comments":"","x":3639.8727951049805,"y":1688.3012095987797,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"76b9bae0.83f2b4","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3847.258213043213,"y":1882.2540187835693,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"2019f4f3.e1c6cc","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3846.258029937744,"y":1928.253957748413,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"58d448af.a07fd8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3865.258399963379,"y":2090.254084587097,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"928f88f0.d6ee18","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3866.2581577301025,"y":2137.2540855407715,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"a62325e4.8d0b68","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3864.2582054138184,"y":2580.0039698183537,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"3b45764d.017e4a","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3865.257963180542,"y":2627.003970772028,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"8336cdde.f9fe3","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing sdwan hub route underlay rest api\" />\n","comments":"","x":4017.340606689453,"y":2581.9710108339787,"z":"b1d019b.6dbd8e8","wires":[]},{"id":"8c851f6f.caa55","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3864.2578125,"y":2671.0039049685,"z":"b1d019b.6dbd8e8","wires":[[]]},{"id":"29ad144c.f2690c","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":3865.2575702667236,"y":2718.0039059221745,"z":"b1d019b.6dbd8e8","wires":[[]]}]
\ No newline at end of file
+[
+  {
+    "id": "df1ca662.8747b8",
+    "type": "dgstart",
+    "name": "DGSTART",
+    "outputs": 1,
+    "x": 92,
+    "y": 26,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "f03eb016.75be2"
+      ]
+    ]
+  },
+  {
+    "id": "f03eb016.75be2",
+    "type": "service-logic",
+    "name": "GENERIC-RESOURCE-API ${project.version}",
+    "module": "GENERIC-RESOURCE-API",
+    "version": "${project.version}",
+    "comments": "",
+    "xml": "<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}'>",
+    "outputs": 1,
+    "x": 208.2856903076172,
+    "y": 77.23810768127441,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "d1c55e79.a107d"
+      ]
+    ]
+  },
+  {
+    "id": "d1c55e79.a107d",
+    "type": "method",
+    "name": "method sdwan-wanport-vnf-topology-operation-underlay",
+    "xml": "<method rpc='sdwan-wanport-vnf-topology-operation-underlay' mode='sync'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 211.42861938476562,
+    "y": 162.00003147125244,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "39b0cbc5.a6e634"
+      ]
+    ]
+  },
+  {
+    "id": "39b0cbc5.a6e634",
+    "type": "block",
+    "name": "block : atomic",
+    "xml": "<block atomic=\"true\">",
+    "atomic": "true",
+    "outputs": 1,
+    "x": 143.66668701171875,
+    "y": 270.66673278808594,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "6e5ac20d.e60c4c",
+        "b99b3963.4b1368",
+        "962ad5c3.0da1a8",
+        "da982ae7.c19088",
+        "546d6174.f994f"
+      ]
+    ]
+  },
+  {
+    "id": "6e5ac20d.e60c4c",
+    "type": "for",
+    "name": "for cidx..service-data.consumed-allotted-resources.consumed-allotted-resource[]",
+    "xml": "<for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 578.000431060791,
+    "y": 409.6668539047241,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "ad0a3663.ab8598"
+      ]
+    ]
+  },
+  {
+    "id": "2acab811.c13ee8",
+    "type": "set",
+    "name": "set prop.ar.allotted-resource-id",
+    "xml": "<set>\n<parameter name='prop.ar.allotted-resource-id' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id`' />\n",
+    "comments": "",
+    "x": 1368.0013427734375,
+    "y": 98.96877861022949,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "4102e103.78e0d",
+    "type": "comment",
+    "name": "Query MDSAL for AR",
+    "info": "",
+    "comments": "",
+    "x": 1693.3340148925781,
+    "y": 122.96864795684814,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "2988c3dc.9f08bc",
+    "type": "comment",
+    "name": "Query MDSAL to get parent service based on service instance id from AR",
+    "info": "",
+    "comments": "",
+    "x": 2163.334873199463,
+    "y": 141.96862697601318,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "43ba54c6.bea31c",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1942.66841506958,
+    "y": 177.63526725769043,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "90fef119.efb27"
+      ]
+    ]
+  },
+  {
+    "id": "90fef119.efb27",
+    "type": "block",
+    "name": "block: atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2097.668254852295,
+    "y": 177.13510036468506,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "3f50e700.ebbfb8"
+      ]
+    ]
+  },
+  {
+    "id": "22fe4487.ea79bc",
+    "type": "other",
+    "name": "outcome 1",
+    "xml": "<outcome value='1'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2421.3587913513184,
+    "y": 173.75424098968506,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "eb3089e9.bab518"
+      ]
+    ]
+  },
+  {
+    "id": "202db162.ce306e",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: Connection attachement resource not found\" />\n    \n",
+    "comments": "",
+    "x": 2567.1275672912598,
+    "y": 213.20122909545898,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "b9e47095.da1a3",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1935.5201416015625,
+    "y": 224.70127391815186,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1559b306.93fa9d"
+      ]
+    ]
+  },
+  {
+    "id": "1559b306.93fa9d",
+    "type": "block",
+    "name": "block: atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2085.5199851989746,
+    "y": 225.36782932281494,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "6807513b.840e7"
+      ]
+    ]
+  },
+  {
+    "id": "d76066f5.ec2ac8",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2409.6867446899414,
+    "y": 211.03460121154785,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "202db162.ce306e"
+      ]
+    ]
+  },
+  {
+    "id": "3f50e700.ebbfb8",
+    "type": "switchNode",
+    "name": "switch cr length",
+    "xml": "<switch test='`$mdsal-ar.connection-attachment-allotted-resource_length`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2261.668430328369,
+    "y": 177.6352834701538,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "22fe4487.ea79bc",
+        "d76066f5.ec2ac8"
+      ]
+    ]
+  },
+  {
+    "id": "1ecae18f.8c5d6e",
+    "type": "set",
+    "name": "set parent-service-instance-id",
+    "xml": "<set>\n<parameter name='prop.parent-service-instance-id' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.parent-service-instance-id`' />\n\n",
+    "comments": "",
+    "x": 2817.0020294189453,
+    "y": 174.63526439666748,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "eb3089e9.bab518",
+    "type": "block",
+    "name": "block: atomic",
+    "xml": "<block atomic='true'>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2571.4778213500977,
+    "y": 173.80180072784424,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1ecae18f.8c5d6e",
+        "c22c6bf7.654618"
+      ]
+    ]
+  },
+  {
+    "id": "6807513b.840e7",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: Connection attachement resource not found\" />\n    \n",
+    "comments": "",
+    "x": 2253.001438140869,
+    "y": 223.63520526885986,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "bc09ac7e.2dfa1",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2040.303554534912,
+    "y": 495.7709312438965,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "4a6d5f3.c343ea"
+      ]
+    ]
+  },
+  {
+    "id": "f0b156c6.5db3a8",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2032.1553573608398,
+    "y": 530.8370161056519,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "22ca566e.18afda"
+      ]
+    ]
+  },
+  {
+    "id": "22ca566e.18afda",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n    \n",
+    "comments": "",
+    "x": 2178.304130554199,
+    "y": 531.1045122146606,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "4a6d5f3.c343ea",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2160.3038024902344,
+    "y": 495.771014213562,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "c9fcea4f.295c68",
+    "type": "for",
+    "name": "for pnidx.. mdsal-psd.networks.network_length[]",
+    "xml": "<for index='pnidx' start='0' end='`$mdsal-psd.service-data.networks.network_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1723.6683502197266,
+    "y": 595.3028893470764,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "d063fbaf.bf9cb8"
+      ]
+    ]
+  },
+  {
+    "id": "4b3c3b19.b12c44",
+    "type": "switchNode",
+    "name": "switch ActivateSDWANConnectivityInstance",
+    "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$pnidx].network-data.request-information.request-action == 'ActivateSDWANConnectivityInstance'`\">\n    \n    \n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2253.3349838256836,
+    "y": 564.3028907775879,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "353c03be.8a3dec"
+      ]
+    ]
+  },
+  {
+    "id": "353c03be.8a3dec",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2505.334518432617,
+    "y": 565.3028283119202,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "8948df3b.5b4e8"
+      ]
+    ]
+  },
+  {
+    "id": "8948df3b.5b4e8",
+    "type": "set",
+    "name": "set tmp.pnidx ",
+    "xml": "<set>\n<parameter name='tmp.pnidx' value='`$pnidx`' />\n\n",
+    "comments": "",
+    "x": 2661.3342056274414,
+    "y": 565.3028283119202,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "f17464be.205b38",
+    "type": "for",
+    "name": "for loop paramidx - Get topology from servicedata",
+    "xml": "<for index=\"paramidx\" start=\"0\" end=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1655.3351593017578,
+    "y": 680.3025188446045,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "a24202ba.c8c7c"
+      ]
+    ]
+  },
+  {
+    "id": "1134832c.af388d",
+    "type": "switchNode",
+    "name": "switch topology",
+    "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'topology'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2107.335250854492,
+    "y": 659.3024244308472,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "b4638122.81f25"
+      ]
+    ]
+  },
+  {
+    "id": "b4638122.81f25",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2258.335262298584,
+    "y": 657.3024663925171,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "6ab1ecb6.c4b6a4"
+      ]
+    ]
+  },
+  {
+    "id": "6ab1ecb6.c4b6a4",
+    "type": "set",
+    "name": "set topology",
+    "xml": "<set>\n<parameter name='prop.topology' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n",
+    "comments": "",
+    "x": 2399.334991455078,
+    "y": 656.9024000167847,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "427fd71a.a641b8",
+    "type": "switchNode",
+    "name": "switch tmp.pnidx ",
+    "xml": "<switch test=\"`$tmp.pnidx`\">\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1626.334976196289,
+    "y": 639.9690914154053,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "3b308668.883fda"
+      ]
+    ]
+  },
+  {
+    "id": "3b308668.883fda",
+    "type": "outcome",
+    "name": "NULL",
+    "xml": "<outcome value=''>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1781.7636489868164,
+    "y": 638.5404710769653,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1025ab31.d734f5"
+      ]
+    ]
+  },
+  {
+    "id": "1025ab31.d734f5",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id not found in service-data\" />\n",
+    "comments": "",
+    "x": 1922.1922721862793,
+    "y": 639.6835603713989,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "3aec24fb.014f5c",
+    "type": "switchNode",
+    "name": "switch topology hub-spoke",
+    "xml": "<switch test=\"`$prop.topology == 'hub-spoke'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1534.3348426818848,
+    "y": 742.3023405075073,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "11a1e34f.7c4fdd",
+        "32341b46.a26b84"
+      ]
+    ]
+  },
+  {
+    "id": "11a1e34f.7c4fdd",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1724.334529876709,
+    "y": 767.3028259277344,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "26c0cc7e.899014"
+      ]
+    ]
+  },
+  {
+    "id": "32341b46.a26b84",
+    "type": "outcomeTrue",
+    "name": "false",
+    "xml": "<outcome value='false'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1718.3354568481445,
+    "y": 728.3024883270264,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "92373ae3.dba458"
+      ]
+    ]
+  },
+  {
+    "id": "92373ae3.dba458",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1854.3354606628418,
+    "y": 728.3024272918701,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "26c0cc7e.899014",
+    "type": "block",
+    "name": "block: atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1729.66748046875,
+    "y": 835.3020601272583,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "a5cfaff.0a25c5"
+      ]
+    ]
+  },
+  {
+    "id": "a5cfaff.0a25c5",
+    "type": "for",
+    "name": "for ppidx.. mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[]",
+    "xml": "<for index='ppidx' start='0' end='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2137.000732421875,
+    "y": 835.6356782913208,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "528bb6e8.287b28"
+      ]
+    ]
+  },
+  {
+    "id": "45c7f2c8.9bbc9c",
+    "type": "set",
+    "name": "set prop.ar.provided-allotted-resource-id",
+    "xml": "<set>\n<parameter name='prop.ar.provided-allotted-resource-id' value='`$mdsal-psd.service-data.provided-allotted-resources.provided-allotted-resource[$ppidx].allotted-resource-id`' />\n\n",
+    "comments": "",
+    "x": 2228.0018463134766,
+    "y": 913.6359763145447,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "d3076636.df66e8",
+    "type": "for",
+    "name": "for loop aridx - Get role from allotted resource",
+    "xml": "<for index=\"aridx\" start=\"0\" end=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2246.0025482177734,
+    "y": 1024.302767753601,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "94a7fcab.3f18"
+      ]
+    ]
+  },
+  {
+    "id": "e9ad6cc9.abb1",
+    "type": "switchNode",
+    "name": "switch Role",
+    "xml": "<switch test=\"`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].name == 'Role'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2655.002658843994,
+    "y": 1027.3028545379639,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "356c0745.261588"
+      ]
+    ]
+  },
+  {
+    "id": "356c0745.261588",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2796.0029907226562,
+    "y": 1026.3028535842896,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "2ecc17c9.bbea08"
+      ]
+    ]
+  },
+  {
+    "id": "2ecc17c9.bbea08",
+    "type": "set",
+    "name": "set prop.role",
+    "xml": "<set>\n<parameter name='prop.role' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$aridx].value`' />\n",
+    "comments": "",
+    "x": 2937.0030250549316,
+    "y": 1027.9027452468872,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "7d6e3904.ff8ae8",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2732.0020446777344,
+    "y": 930.969269990921,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "92d1a6eb.dd91a8"
+      ]
+    ]
+  },
+  {
+    "id": "b0148b51.89ec18",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2728.8537673950195,
+    "y": 985.0353531837463,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "c6ccd14a.96548"
+      ]
+    ]
+  },
+  {
+    "id": "59d6c0f4.defd7",
+    "type": "switchNode",
+    "name": "switch role hub",
+    "xml": "<switch test=\"`$prop.role == hub`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2112.3351821899414,
+    "y": 1089.6358079910278,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "d2d633b9.72ffd",
+        "10c92564.7d8f7b"
+      ]
+    ]
+  },
+  {
+    "id": "a9370615.1e0a18",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2428.3345680236816,
+    "y": 1065.6354112625122,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "f944f364.78c47",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2838.3042030334473,
+    "y": 1161.1045179367065,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "b250bb74.e941e8"
+      ]
+    ]
+  },
+  {
+    "id": "e08d96d8.e1bd48",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2840.155773162842,
+    "y": 1221.170599937439,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "d9301d98.96024"
+      ]
+    ]
+  },
+  {
+    "id": "d9301d98.96024",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: SDWAN service-data not found\" />\n    \n",
+    "comments": "",
+    "x": 2984.304546356201,
+    "y": 1183.4380140304565,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "b250bb74.e941e8",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2968.3042221069336,
+    "y": 1150.1046781539917,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "31ca4096.fa657",
+    "type": "set",
+    "name": "set prop.ar-service-instance-id",
+    "xml": "<set>\n<parameter name='prop.ar-service-instance-id' value='`$mdsal-providedAr.connection-attachment-allotted-resource[0].allotted-resource-data.connection-attachment-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\n",
+    "comments": "",
+    "x": 2440.3356018066406,
+    "y": 1149.6360107660294,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "3250db4e.aae6c4",
+    "type": "for",
+    "name": "for arvidx.. mdsal-arsd.service-data.vnfs.vnf_length[]",
+    "xml": "<for index='arvidx' start='0' end='`$mdsal-arsd.service-data.vnfs.vnf_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2484.0020751953125,
+    "y": 1271.6358003616333,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "5be088b1.9bd9d8"
+      ]
+    ]
+  },
+  {
+    "id": "5be088b1.9bd9d8",
+    "type": "block",
+    "name": "block atmoic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2830.6683959960938,
+    "y": 1261.6357765197754,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "b0a1b0f0.1cd88",
+        "64161d13.320da4",
+        "a305e869.75b198"
+      ]
+    ]
+  },
+  {
+    "id": "b0a1b0f0.1cd88",
+    "type": "switchNode",
+    "name": "switch ActivateSDWANPortInstance",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n    \n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3092.668504714966,
+    "y": 1232.6367359161377,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "f4aa7045.eb114"
+      ]
+    ]
+  },
+  {
+    "id": "494b8c51.d5a454",
+    "type": "switchNode",
+    "name": "switch tmp.wanportvidx ",
+    "xml": "<switch test=\"`$tmp.wanportvidx`\">\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2565.668212890625,
+    "y": 1316.3024454116821,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "a2447b78.519d38"
+      ]
+    ]
+  },
+  {
+    "id": "273881de.ee082e",
+    "type": "for",
+    "name": "for loop wportidx - Get wan port ID from servicedata",
+    "xml": "<for index=\"wportidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3747.6689834594727,
+    "y": 1225.6369161605835,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "b8659698.4fa9a8"
+      ]
+    ]
+  },
+  {
+    "id": "a2447b78.519d38",
+    "type": "outcome",
+    "name": "NULL",
+    "xml": "<outcome value=''>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2737.096935272217,
+    "y": 1319.8741512298584,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "f6e26890.4d8a38"
+      ]
+    ]
+  },
+  {
+    "id": "f6e26890.4d8a38",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id (port) not found in service-data\" />\n",
+    "comments": "",
+    "x": 2881.525650024414,
+    "y": 1322.0174312591553,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "f4aa7045.eb114",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3320.66819190979,
+    "y": 1230.636736869812,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "ab1ef1f9.e54ea"
+      ]
+    ]
+  },
+  {
+    "id": "b8659698.4fa9a8",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3699.6701984405518,
+    "y": 1309.6374425888062,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "79f89faa.fb19f"
+      ]
+    ]
+  },
+  {
+    "id": "79f89faa.fb19f",
+    "type": "switchNode",
+    "name": "switch transportNetworkName",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'transportNetworkName'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3917.6711139678955,
+    "y": 1307.6379308700562,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "863adb79.9947c8"
+      ]
+    ]
+  },
+  {
+    "id": "564bf8e9.5ea9e8",
+    "type": "set",
+    "name": "set tmp.portvidx ",
+    "xml": "<set>\n<parameter name='tmp.portvidx' value='`$arvidx`' />\n\n",
+    "comments": "",
+    "x": 3644.667995452881,
+    "y": 1183.6369037628174,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "863adb79.9947c8",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 4114.671541213989,
+    "y": 1306.6380996704102,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "896da4ec.a5e9f8"
+      ]
+    ]
+  },
+  {
+    "id": "662f75a8.5b0d6c",
+    "type": "set",
+    "name": "set prop.hub.transportNetworkName",
+    "xml": "<set>\n<parameter name='prop.hub.transportNetworkName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n",
+    "comments": "",
+    "x": 4371.6733751297,
+    "y": 1506.2391166687012,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "372c4b67.d587a4",
+    "type": "switchNode",
+    "name": "switch  prop.hub.transportNetworkName==prop.spoke.transportNetworkName",
+    "xml": "<switch test=\"`$prop.hub.transportNetworkName == $prop.spoke.transportNetworkName`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2564.00431060791,
+    "y": 1466.3046674728394,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "ad67f3dd.ea7da",
+        "f32a34f9.fa2a88"
+      ]
+    ]
+  },
+  {
+    "id": "ad67f3dd.ea7da",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2910.0038414001465,
+    "y": 1503.3047413825989,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "6ddb13cd.d02b7c"
+      ]
+    ]
+  },
+  {
+    "id": "f32a34f9.fa2a88",
+    "type": "outcomeTrue",
+    "name": "false",
+    "xml": "<outcome value='false'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2904.004650115967,
+    "y": 1440.3046016693115,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "93fee3b6.b53b4"
+      ]
+    ]
+  },
+  {
+    "id": "93fee3b6.b53b4",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3034.004837036133,
+    "y": 1440.3047542572021,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "528bb6e8.287b28",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1879.0322265625,
+    "y": 944.8333101272583,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "45c7f2c8.9bbc9c",
+        "9540984f.e97fb8",
+        "b384d688.b2dd28",
+        "59d6c0f4.defd7",
+        "d3076636.df66e8"
+      ]
+    ]
+  },
+  {
+    "id": "e393fec8.f9974",
+    "type": "switchNode",
+    "name": "switch vpnId",
+    "xml": "<switch test=\"`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].name == 'vpn-id'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2097.001266479492,
+    "y": 703.6354351043701,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "d6a90986.8eb118"
+      ]
+    ]
+  },
+  {
+    "id": "d6a90986.8eb118",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2241.001277923584,
+    "y": 703.6354761123657,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "c1f6fc9b.d909f"
+      ]
+    ]
+  },
+  {
+    "id": "c1f6fc9b.d909f",
+    "type": "set",
+    "name": "set prop.vpnId",
+    "xml": "<set>\n<parameter name='prop.vpnId' value='`$mdsal-psd.service-data.networks.network[$tmp.pnidx].network-data.network-request-input.network-input-parameters.param[$paramidx].value`' />\n",
+    "comments": "",
+    "x": 2399.0009994506836,
+    "y": 702.2354106903076,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "56fbb125.4613b",
+    "type": "set",
+    "name": "Set prop.hubTnpId",
+    "xml": "<set>\n<parameter name='prop.hubTnpId' value='$prop.hub.wanPortId' />\n\n",
+    "comments": "",
+    "x": 2616.3368072509766,
+    "y": 1739.6364259719849,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "7c9721cc.23414",
+    "type": "execute",
+    "name": "execute RestApiCallNode underlay route",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayHubResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 3437.33624458313,
+    "y": 2571.9708592891693,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "f29c10b7.ab96c",
+        "d1ca729c.637d"
+      ]
+    ]
+  },
+  {
+    "id": "d1ca729c.637d",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3704.3361530303955,
+    "y": 2599.970888853073,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "4079a316.d4531c"
+      ]
+    ]
+  },
+  {
+    "id": "f29c10b7.ab96c",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3702.335832595825,
+    "y": 2555.97087931633,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "7b4a5da7.783c64"
+      ]
+    ]
+  },
+  {
+    "id": "31f4dc9.4459824",
+    "type": "set",
+    "name": "Add prop.hub.route",
+    "xml": "<set>\n<parameter name='prop.route.id' value='`$prop.hubRouteId`' />\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.spoke.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\n\n\n",
+    "comments": "",
+    "x": 3381.6696243286133,
+    "y": 2528.637367248535,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "bd1192a1.70e0b",
+    "type": "execute",
+    "name": "execute RestApiCallNode underlay route",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static/action/batch-delete'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayspokeResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 3456.6696243286133,
+    "y": 2670.637832403183,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1372bf53.f8d271",
+        "7d49f976.fe2c38"
+      ]
+    ]
+  },
+  {
+    "id": "7d49f976.fe2c38",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3708.669771194458,
+    "y": 2699.6381289958954,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "a38da1c5.3c2df"
+      ]
+    ]
+  },
+  {
+    "id": "1372bf53.f8d271",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3706.6694507598877,
+    "y": 2655.638119459152,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "ae6e8595.d05358"
+      ]
+    ]
+  },
+  {
+    "id": "1618d5.6f61e72c",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing sdwan spoke route underlay rest api\" />\n",
+    "comments": "",
+    "x": 3996.6703186035156,
+    "y": 2649.6383113861084,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "64161d13.320da4",
+    "type": "switchNode",
+    "name": "switch ActivateSDWANDeviceInstance",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n    \n    \n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3103.532081604004,
+    "y": 1265.8336944580078,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "9f32e086.83793"
+      ]
+    ]
+  },
+  {
+    "id": "c2ac42b9.22b8d",
+    "type": "switchNode",
+    "name": "switch tmp.devicevidx ",
+    "xml": "<switch test=\"`$tmp.devicevidx`\">\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2571.5316314697266,
+    "y": 1358.4999265670776,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "e36692fe.8d819"
+      ]
+    ]
+  },
+  {
+    "id": "e36692fe.8d819",
+    "type": "outcome",
+    "name": "NULL",
+    "xml": "<outcome value=''>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2737.9600677490234,
+    "y": 1358.0714597702026,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "3d811052.fd24c"
+      ]
+    ]
+  },
+  {
+    "id": "3d811052.fd24c",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id (device) not found in service-data\" />\n",
+    "comments": "",
+    "x": 2878.388999938965,
+    "y": 1360.2144346237183,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "9f32e086.83793",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3331.531768798828,
+    "y": 1263.8336954116821,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "869ea93a.54ef48"
+      ]
+    ]
+  },
+  {
+    "id": "869ea93a.54ef48",
+    "type": "set",
+    "name": "set tmp.devicevidx ",
+    "xml": "<set>\n<parameter name='tmp.devicevidx' value='`$arvidx`' />\n\n",
+    "comments": "",
+    "x": 3486.531452178955,
+    "y": 1263.8336944580078,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "a305e869.75b198",
+    "type": "switchNode",
+    "name": "switch ActivateSiteInstance",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$arvidx].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n    \n    \n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3066.5321521759033,
+    "y": 1299.833758354187,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "ab60af44.1fc14"
+      ]
+    ]
+  },
+  {
+    "id": "aae2a2df.f7cc",
+    "type": "switchNode",
+    "name": "switch tmp.sitevidx ",
+    "xml": "<switch test=\"`$tmp.sitevidx`\">\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2570.5315017700195,
+    "y": 1396.4998044967651,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "834ee4ef.5fe588"
+      ]
+    ]
+  },
+  {
+    "id": "834ee4ef.5fe588",
+    "type": "outcome",
+    "name": "NULL",
+    "xml": "<outcome value=''>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2730.959966659546,
+    "y": 1396.0713243484497,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "4979a718.8325b8"
+      ]
+    ]
+  },
+  {
+    "id": "4979a718.8325b8",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"vnf-topology-operation-input.vnf-request-input.vnf-id (site) not found in service-data\" />\n",
+    "comments": "",
+    "x": 2879.388921737671,
+    "y": 1398.2143306732178,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "ab60af44.1fc14",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3254.531717300415,
+    "y": 1299.833924293518,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1aaf3b5d.3c7645"
+      ]
+    ]
+  },
+  {
+    "id": "1aaf3b5d.3c7645",
+    "type": "set",
+    "name": "set tmp.sitevidx ",
+    "xml": "<set>\n<parameter name='tmp.sitevidx' value='`$arvidx`' />\n\n",
+    "comments": "",
+    "x": 3409.531400680542,
+    "y": 1299.8339233398438,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "409305d5.93be5c",
+    "type": "for",
+    "name": "for loop deviceidx - Get wan port ID from servicedata",
+    "xml": "<for index=\"deviceidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2703.5333099365234,
+    "y": 1781.8342418670654,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "f3da0084.2ed3d"
+      ]
+    ]
+  },
+  {
+    "id": "490623bf.f5be2c",
+    "type": "switchNode",
+    "name": "switch deviceId",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].name == 'deviceId'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3188.5345611572266,
+    "y": 1712.8350954055786,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "fe8795f9.d93fb8"
+      ]
+    ]
+  },
+  {
+    "id": "fe8795f9.d93fb8",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3339.5349349975586,
+    "y": 1709.8353395462036,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "9a7de836.6030f8"
+      ]
+    ]
+  },
+  {
+    "id": "9a7de836.6030f8",
+    "type": "set",
+    "name": "set prop.hub.deviceId",
+    "xml": "<set>\n<parameter name='prop.hub.deviceId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.devicevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$deviceidx].value`' />\n",
+    "comments": "",
+    "x": 3514.535182952881,
+    "y": 1709.4358644485474,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "e6c5f470.5c1408",
+    "type": "for",
+    "name": "for loop siteidx - Get site ID from servicedata",
+    "xml": "<for index=\"siteidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2670.0331268310547,
+    "y": 1843.8342113494873,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "ee5b33c3.334cb"
+      ]
+    ]
+  },
+  {
+    "id": "f647b09c.a81c",
+    "type": "comment",
+    "name": "Add route src->dst, dst->src",
+    "info": "",
+    "comments": "",
+    "x": 3005.668716430664,
+    "y": 1860.6360301971436,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "2ed283b9.4ced6c",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2115.334228515625,
+    "y": 1221.968747138977,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "3250db4e.aae6c4",
+        "372c4b67.d587a4",
+        "8238d072.258df",
+        "31ca4096.fa657",
+        "a06e1b02.e2dcb8",
+        "5f595aa8.cf14c4"
+      ]
+    ]
+  },
+  {
+    "id": "8238d072.258df",
+    "type": "block",
+    "name": "block atmoic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2370.333984375,
+    "y": 1358.3021211624146,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "c2ac42b9.22b8d",
+        "aae2a2df.f7cc",
+        "494b8c51.d5a454"
+      ]
+    ]
+  },
+  {
+    "id": "6ddb13cd.d02b7c",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2390.3350219726562,
+    "y": 1730.635643005371,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "56fbb125.4613b",
+        "409305d5.93be5c",
+        "e6c5f470.5c1408",
+        "74f0a419.baab7c",
+        "f5ec2256.55a71"
+      ]
+    ]
+  },
+  {
+    "id": "53da0cfd.4e5c84",
+    "type": "set",
+    "name": "Add prop.spoke.route",
+    "xml": "<set>\n<parameter name='prop.route.id' value='`$prop.spokeRouteId`' />\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.hub.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\n\n\n\n\n",
+    "comments": "",
+    "x": 3391.533639907837,
+    "y": 2639.3345935344696,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "b99b3963.4b1368",
+    "type": "returnSuccess",
+    "name": "return success",
+    "xml": "<return status='success'>\n<parameter name=\"ack-final-indicator\" value=\"Y\" />\n<parameter name=\"error-code\" value=\"200\" />\n<parameter name=\"error-message\" value=\"`$error-message`\" />\n",
+    "comments": "",
+    "x": 340.3343048095703,
+    "y": 1096.3343391418457,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "9692ac6c.5b398",
+    "type": "execute",
+    "name": "generate connection attachment AR url ",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n    <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar.allotted-resource-id`\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1389.6672058105469,
+    "y": 158.30183696746826,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "a88c4be0.5a96c8",
+    "type": "execute",
+    "name": "execute RestApiCallNode - get-resource connection-attachment-allotted-resource",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1516.667236328125,
+    "y": 206.3018274307251,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "43ba54c6.bea31c",
+        "b9e47095.da1a3"
+      ]
+    ]
+  },
+  {
+    "id": "fa697270.9a4c6",
+    "type": "execute",
+    "name": "execute RestApiCallNode - get parent service data",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-parent-connection`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-psd\" />\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1741.0013885498047,
+    "y": 540.3021411895752,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "bc09ac7e.2dfa1",
+        "f0b156c6.5db3a8"
+      ]
+    ]
+  },
+  {
+    "id": "9c710564.f70308",
+    "type": "execute",
+    "name": "generate connection attachment parent url ",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-parent-connection\"/>\n    <parameter name=\"target\" value=\"{service-instance-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.parent-service-instance-id`\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1718.0010375976562,
+    "y": 486.30206871032715,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "b113d667.018288",
+    "type": "comment",
+    "name": "full mesh do nothing",
+    "info": "",
+    "comments": "",
+    "x": 1552.667839050293,
+    "y": 697.3021068572998,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "9c493d3a.013fd",
+    "type": "comment",
+    "name": "hub-spoke",
+    "info": "",
+    "comments": "",
+    "x": 2553.6672401428223,
+    "y": 794.3019967079163,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "9540984f.e97fb8",
+    "type": "execute",
+    "name": "generate connection attachment AR url ",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"`$prop.restapi.connection-attachment-allottedresource`\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n    <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar.provided-allotted-resource-id`\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2226.0003929138184,
+    "y": 945.3019919395447,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "b384d688.b2dd28",
+    "type": "execute",
+    "name": "execute RestApiCallNode - get-resource connection-attachment-allotted-resource",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-providedAr\" />\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2357.000473022461,
+    "y": 984.9686217308044,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "7d6e3904.ff8ae8",
+        "b0148b51.89ec18"
+      ]
+    ]
+  },
+  {
+    "id": "a06e1b02.e2dcb8",
+    "type": "execute",
+    "name": "generate service data url",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n    <parameter name=\"source\" value=\"/restconf/config/GENERIC-RESOURCE-API:services/service/{service-instance-id}/service-data\"/>\n    <parameter name=\"outputPath\" value=\"tmp.ar-url-connection\"/>\n    <parameter name=\"target\" value=\"{service-instance-id}\"/>\n    <parameter name=\"replacement\" value=\"`$prop.ar-service-instance-id`\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2407.504367828369,
+    "y": 1186.3058919906616,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "5f595aa8.cf14c4",
+    "type": "execute",
+    "name": "execute RestApiCallNode - get service data of allotted resource",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n    <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url-connection`' />\n    <parameter name='restapiUser' value='`$prop.controller.user`' />\n    <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\n    <parameter name='format' value='json' />\n    <parameter name='httpMethod' value='GET' />\n    <parameter name=\"responsePrefix\" value=\"mdsal-arsd\" />\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2523.5045013427734,
+    "y": 1223.3057832717896,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "f944f364.78c47",
+        "e08d96d8.e1bd48"
+      ]
+    ]
+  },
+  {
+    "id": "10c92564.7d8f7b",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2287.5000648498535,
+    "y": 1108.8018560409546,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "2ed283b9.4ced6c"
+      ]
+    ]
+  },
+  {
+    "id": "d2d633b9.72ffd",
+    "type": "outcomeFalse",
+    "name": "false",
+    "xml": "<outcome value='false'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2293.500312805176,
+    "y": 1065.801947593689,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "a9370615.1e0a18"
+      ]
+    ]
+  },
+  {
+    "id": "c22c6bf7.654618",
+    "type": "for",
+    "name": "for loop roleidx - Get role from allotted resource",
+    "xml": "<for index=\"roleidx\" start=\"0\" end=\"`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2868.5008697509766,
+    "y": 213.30177307128906,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1e62939f.a940cc"
+      ]
+    ]
+  },
+  {
+    "id": "1e62939f.a940cc",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3127.5011825561523,
+    "y": 212.3020887374878,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "6368cbef.0c0714"
+      ]
+    ]
+  },
+  {
+    "id": "6368cbef.0c0714",
+    "type": "switchNode",
+    "name": "switch Role",
+    "xml": "<switch test=\"`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].name == 'role'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3276.501194000244,
+    "y": 213.3019256591797,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "602b9a1d.1f8fa4"
+      ]
+    ]
+  },
+  {
+    "id": "9865389f.19f678",
+    "type": "set",
+    "name": "set prop.spoke.role",
+    "xml": "<set>\n<parameter name='prop.spoke.role' value='`$mdsal-ar.connection-attachment-allotted-resource[0].allotted-resource-data.allotted-resource-operation-information.connection-attachment-request-input.param[$roleidx].value`' />\n",
+    "comments": "",
+    "x": 3581.501754760742,
+    "y": 210.90183353424072,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "602b9a1d.1f8fa4",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3412.00101852417,
+    "y": 210.30176544189453,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "9865389f.19f678"
+      ]
+    ]
+  },
+  {
+    "id": "c78c1bff.286648",
+    "type": "switchNode",
+    "name": "switch spoke",
+    "xml": "<switch test=\"`$prop.spoke.role == 'spoke'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1304.000373840332,
+    "y": 357.301700592041,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "45674b4e.4d0684"
+      ]
+    ]
+  },
+  {
+    "id": "45674b4e.4d0684",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1445.000129699707,
+    "y": 358.30173778533936,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "44bfeb73.8a2794"
+      ]
+    ]
+  },
+  {
+    "id": "c6974a98.f8b038",
+    "type": "for",
+    "name": "for i.. service-data.vnfs.vnf_length[]",
+    "xml": "<for index='i' start='0' end='`$service-data.vnfs.vnf_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1717.5006561279297,
+    "y": 412.3017330169678,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "74ae021f.4e878c"
+      ]
+    ]
+  },
+  {
+    "id": "74ae021f.4e878c",
+    "type": "block",
+    "name": "block atmoic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2051.166847229004,
+    "y": 356.3016633987427,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "e5568bc9.6c4a18",
+        "10bef5c5.4c95ea",
+        "d2557f72.d615e"
+      ]
+    ]
+  },
+  {
+    "id": "e5568bc9.6c4a18",
+    "type": "switchNode",
+    "name": "switch ActivateSDWANPortInstance",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANPortInstance'`\">\n    \n    \n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2322.1668853759766,
+    "y": 302.3025498390198,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "730af204.11fefc"
+      ]
+    ]
+  },
+  {
+    "id": "730af204.11fefc",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2535.166648864746,
+    "y": 303.3025527000427,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "90e7c80d.95a148"
+      ]
+    ]
+  },
+  {
+    "id": "90e7c80d.95a148",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2684.0003929138184,
+    "y": 305.3017420768738,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "993b2158.a7204"
+      ]
+    ]
+  },
+  {
+    "id": "993b2158.a7204",
+    "type": "for",
+    "name": "for loop widx - Get wan port ID from servicedata",
+    "xml": "<for index=\"widx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2957.000343322754,
+    "y": 303.6689600944519,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "a8fb6ac2.404148"
+      ]
+    ]
+  },
+  {
+    "id": "a8fb6ac2.404148",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3226.0012702941895,
+    "y": 302.66920614242554,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "f56203d5.44648",
+        "844331fb.21709",
+        "c8a276bd.330448",
+        "878dc9b3.754498"
+      ]
+    ]
+  },
+  {
+    "id": "f56203d5.44648",
+    "type": "switchNode",
+    "name": "switch transportNetworkName",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'transportNetworkName'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3469.0023040771484,
+    "y": 257.6697793006897,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "c1622f74.5acec"
+      ]
+    ]
+  },
+  {
+    "id": "c1622f74.5acec",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3669.0020790100098,
+    "y": 257.6699414253235,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "484c0f29.65918"
+      ]
+    ]
+  },
+  {
+    "id": "484c0f29.65918",
+    "type": "set",
+    "name": "set prop.spoke.transportNetworkName",
+    "xml": "<set>\n<parameter name='prop.spoke.transportNetworkName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n",
+    "comments": "",
+    "x": 3896.002815246582,
+    "y": 259.2705235481262,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "44bfeb73.8a2794",
+    "type": "block",
+    "name": "block: atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1197.9694213867188,
+    "y": 668.2706489562988,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "c6974a98.f8b038",
+        "9c710564.f70308",
+        "fa697270.9a4c6",
+        "c9fcea4f.295c68",
+        "f17464be.205b38",
+        "3aec24fb.014f5c",
+        "427fd71a.a641b8",
+        "3da7a5e7.865d8a"
+      ]
+    ]
+  },
+  {
+    "id": "10bef5c5.4c95ea",
+    "type": "switchNode",
+    "name": "switch ActivateSDWANDeviceInstance",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSDWANDeviceInstance'`\">\n    \n    \n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2314.5003204345703,
+    "y": 376.3017544746399,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "3b1b3b34.55a514"
+      ]
+    ]
+  },
+  {
+    "id": "3b1b3b34.55a514",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2533.5000705718994,
+    "y": 377.30173921585083,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "371f6a10.c50d56"
+      ]
+    ]
+  },
+  {
+    "id": "371f6a10.c50d56",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2684.3340606689453,
+    "y": 383.3009305000305,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "53996c8e.9b7f34"
+      ]
+    ]
+  },
+  {
+    "id": "53996c8e.9b7f34",
+    "type": "for",
+    "name": "for loop didx - Get device ID from servicedata",
+    "xml": "<for index=\"didx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2943.334312438965,
+    "y": 385.66822576522827,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "f263db9e.f44158"
+      ]
+    ]
+  },
+  {
+    "id": "f263db9e.f44158",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3229.334819793701,
+    "y": 418.66841077804565,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "5249df60.eaa65"
+      ]
+    ]
+  },
+  {
+    "id": "5249df60.eaa65",
+    "type": "switchNode",
+    "name": "switch deviceId",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].name == 'deviceId'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3412.3357315063477,
+    "y": 418.66902112960815,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "78ddeb0.2bf8314"
+      ]
+    ]
+  },
+  {
+    "id": "78ddeb0.2bf8314",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3612.335506439209,
+    "y": 418.66918325424194,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "842e3e5c.4cad"
+      ]
+    ]
+  },
+  {
+    "id": "842e3e5c.4cad",
+    "type": "set",
+    "name": "set prop.spoke.deviceId",
+    "xml": "<set>\n<parameter name='prop.spoke.deviceId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$didx].value`' />\n",
+    "comments": "",
+    "x": 3807.3361892700195,
+    "y": 415.26976442337036,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "d2557f72.d615e",
+    "type": "switchNode",
+    "name": "switch ActivateSiteInstance",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.request-information.request-action == 'ActivateSiteInstance'`\">\n    \n    \n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2293.5004348754883,
+    "y": 437.30178594589233,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1c713318.89265d"
+      ]
+    ]
+  },
+  {
+    "id": "1c713318.89265d",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2527.500072479248,
+    "y": 438.3017258644104,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "ed702e21.07c0b"
+      ]
+    ]
+  },
+  {
+    "id": "ed702e21.07c0b",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2679.3340606689453,
+    "y": 460.30096197128296,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "8ec1a47c.55b508",
+        "68bdc58a.c36e2c"
+      ]
+    ]
+  },
+  {
+    "id": "8ec1a47c.55b508",
+    "type": "for",
+    "name": "for loop widx - Get wan site ID from servicedata",
+    "xml": "<for index=\"sidx\" start=\"0\" end=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2960.3338928222656,
+    "y": 459.668164730072,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "edd6a6a1.36e3f8"
+      ]
+    ]
+  },
+  {
+    "id": "edd6a6a1.36e3f8",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3229.334819793701,
+    "y": 458.66841077804565,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "12472c4.5235bd4",
+        "96a23bd5.060968",
+        "af471c20.d9cb7"
+      ]
+    ]
+  },
+  {
+    "id": "12472c4.5235bd4",
+    "type": "switchNode",
+    "name": "switch siteId",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'siteId'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3418.33602142334,
+    "y": 508.66908264160156,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "3940a3b0.f06d3c"
+      ]
+    ]
+  },
+  {
+    "id": "3940a3b0.f06d3c",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3618.3354988098145,
+    "y": 496.66919708251953,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "bc674b05.78b928"
+      ]
+    ]
+  },
+  {
+    "id": "bc674b05.78b928",
+    "type": "set",
+    "name": "set prop.spoke.siteId",
+    "xml": "<set>\n<parameter name='prop.spoke.siteId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n",
+    "comments": "",
+    "x": 3811.336452484131,
+    "y": 503.26982736587524,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "844331fb.21709",
+    "type": "switchNode",
+    "name": "switch wanPortId",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'wanPortId'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3442.5,
+    "y": 294.3018355369568,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "6b71a698.d33fe8"
+      ]
+    ]
+  },
+  {
+    "id": "6b71a698.d33fe8",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3672.5000038146973,
+    "y": 294.3019471168518,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "92bbf4e4.47a9a8"
+      ]
+    ]
+  },
+  {
+    "id": "92bbf4e4.47a9a8",
+    "type": "set",
+    "name": "set prop.spoke.wanPortId",
+    "xml": "<set>\n<parameter name='prop.spoke.wanPortId' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n",
+    "comments": "",
+    "x": 3899.5007400512695,
+    "y": 295.90252923965454,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "c8a276bd.330448",
+    "type": "switchNode",
+    "name": "switch providerIpAddress",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'providerIpAddress'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3460.500160217285,
+    "y": 338.30178594589233,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "adb74c6c.ec9a"
+      ]
+    ]
+  },
+  {
+    "id": "adb74c6c.ec9a",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3660.4999351501465,
+    "y": 338.3019480705261,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1ca4e423.ffe23c"
+      ]
+    ]
+  },
+  {
+    "id": "1ca4e423.ffe23c",
+    "type": "set",
+    "name": "set prop.spoke.providerIpAddress",
+    "xml": "<set>\n<parameter name='prop.spoke.providerIpAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n",
+    "comments": "",
+    "x": 3887.5006713867188,
+    "y": 339.90253019332886,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "878dc9b3.754498",
+    "type": "switchNode",
+    "name": "switch ipAddress",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].name == 'ipAddress'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3440.499988555908,
+    "y": 377.30182218551636,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "728cf41e.771a8c"
+      ]
+    ]
+  },
+  {
+    "id": "728cf41e.771a8c",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3664.4998168945312,
+    "y": 377.3019394874573,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "dd2dd25f.6f587"
+      ]
+    ]
+  },
+  {
+    "id": "dd2dd25f.6f587",
+    "type": "set",
+    "name": "set prop.spoke.ipAddress",
+    "xml": "<set>\n<parameter name='prop.spoke.ipAddress' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$widx].value`' />\n",
+    "comments": "",
+    "x": 3891.5005531311035,
+    "y": 378.90252161026,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "ad0a3663.ab8598",
+    "type": "block",
+    "name": "block: atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1007.9999008178711,
+    "y": 236.50004196166992,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "2acab811.c13ee8",
+        "9692ac6c.5b398",
+        "a88c4be0.5a96c8",
+        "c78c1bff.286648"
+      ]
+    ]
+  },
+  {
+    "id": "688f910f.1fade",
+    "type": "comment",
+    "name": "get spoke device,site,wanport info",
+    "info": "",
+    "comments": "",
+    "x": 1764.96875,
+    "y": 359.96874713897705,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "74cacf6d.c151",
+    "type": "comment",
+    "name": "Add routes only on activation of spoke Attach site",
+    "info": "",
+    "comments": "",
+    "x": 1425.4999160766602,
+    "y": 303.00006103515625,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "3d6571cf.a0a37e",
+    "type": "comment",
+    "name": "Loop for all the hub allotted resources, get respective service data and get vnfs info",
+    "info": "",
+    "comments": "",
+    "x": 2181.5,
+    "y": 798.500057220459,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "ee5b33c3.334cb",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2945.4998321533203,
+    "y": 1819.000135421753,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "c17add8f.67a28",
+        "229bba7c.508e96"
+      ]
+    ]
+  },
+  {
+    "id": "f3da0084.2ed3d",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3012.4998321533203,
+    "y": 1715.0000114440918,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "490623bf.f5be2c"
+      ]
+    ]
+  },
+  {
+    "id": "c17add8f.67a28",
+    "type": "switchNode",
+    "name": "switch siteId",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'siteId'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3122.499641418457,
+    "y": 1790.9998016357422,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "dbd1bbe9.db4a58"
+      ]
+    ]
+  },
+  {
+    "id": "dbd1bbe9.db4a58",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3273.500011444092,
+    "y": 1789.999984741211,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "5c117986.38cf28"
+      ]
+    ]
+  },
+  {
+    "id": "5c117986.38cf28",
+    "type": "set",
+    "name": "set prop.hub.siteId",
+    "xml": "<set>\n<parameter name='prop.hub.siteId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n",
+    "comments": "",
+    "x": 3445.5000190734863,
+    "y": 1787.6005535125732,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "74f0a419.baab7c",
+    "type": "switchNode",
+    "name": "switch request-action",
+    "xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2598.9997482299805,
+    "y": 2143.0004453659058,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "8a79d931.696778",
+        "c7717ba5.717ea8"
+      ]
+    ]
+  },
+  {
+    "id": "8a79d931.696778",
+    "type": "outcome",
+    "name": "ActivateSDWANAttachmentInstance",
+    "xml": "<outcome value='ActivateSDWANAttachmentInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 2869.0271530151367,
+    "y": 1954.0314779281616,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "c591ad14.b9dd7"
+      ]
+    ]
+  },
+  {
+    "id": "a7156e9f.23a1b",
+    "type": "execute",
+    "name": "execute RestApiCallNode underlay route",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayHubResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 3457.500099182129,
+    "y": 1883.0003824234009,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "3761bb2b.afc314",
+        "4ebe8079.3f11c"
+      ]
+    ]
+  },
+  {
+    "id": "4ebe8079.3f11c",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3704.499927520752,
+    "y": 1862.0002145767212,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "78300110.b43b4"
+      ]
+    ]
+  },
+  {
+    "id": "3761bb2b.afc314",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3702.4996070861816,
+    "y": 1818.000205039978,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "722e84e9.8ab54c"
+      ]
+    ]
+  },
+  {
+    "id": "e4f1543b.8ca618",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing sdwan hub route underlay rest api\" />\n",
+    "comments": "",
+    "x": 3980.500762939453,
+    "y": 1796.0005054473877,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "54f01fb1.eab0c",
+    "type": "set",
+    "name": "Add prop.hub.route",
+    "xml": "<set>\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.hub.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.hub.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.spoke.wanPortId`' />\n<parameter name='prop.route.ipAddress' value='`$prop.hub.ipAddress`' />\n\n\n",
+    "comments": "",
+    "x": 3392.8337020874023,
+    "y": 1853.666922569275,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "b0e30676.c2a618",
+    "type": "execute",
+    "name": "execute RestApiCallNode underlay route",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-underlay.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/routing-protocol/static'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"underlayspokeResp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 3474.834144592285,
+    "y": 2088.6675004959106,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "ad299c2d.b630e",
+        "51decbd4.61a7c4"
+      ]
+    ]
+  },
+  {
+    "id": "51decbd4.61a7c4",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3726.83424949646,
+    "y": 2076.667459964752,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "b3f4e792.e33638"
+      ]
+    ]
+  },
+  {
+    "id": "ad299c2d.b630e",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3724.8339290618896,
+    "y": 2032.667450428009,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "e6f4e702.6d5b68"
+      ]
+    ]
+  },
+  {
+    "id": "c9cf02e0.97d29",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing sdwan spoke route underlay rest api\" />\n",
+    "comments": "",
+    "x": 3879.8350524902344,
+    "y": 1982.6677513122559,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "2726f205.443f6e",
+    "type": "set",
+    "name": "Add prop.spoke.route",
+    "xml": "<set>\n<parameter name='prop.route.vpnId' value='`$prop.vpnId`' />\n<parameter name='prop.route.siteId' value='`$prop.spoke.siteId`' />\n<parameter name='prop.route.deviceId' value='`$prop.spoke.deviceId`' />\n<parameter name='prop.route.providerIpAddress' value='`$prop.spoke.providerIpAddress`' />\n<parameter name='prop.route.wanportId' value='`$prop.hub.wanPortId`' />                                                \n<parameter name='prop.route.ipAddress' value='`$prop.spoke.ipAddress`' />\n\n\n",
+    "comments": "",
+    "x": 3415.6980171203613,
+    "y": 2051.3642127513885,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "72173b95.fc02b4",
+    "type": "set",
+    "name": "set  prop.underlay.routeIds",
+    "xml": "<set>\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubSiteId' value='`$prop.hub.siteId`' />\n<!--parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeSiteId' value='`$prop.spoke.siteId`' /-->\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubRouteId' value='`$underlayHubResp.success[0].id`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeRouteId' value='`$underlayspokeResp.success[0].id`' />\n\n\n\n",
+    "comments": "",
+    "x": 3425.665542602539,
+    "y": 2211.0309886932373,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "c591ad14.b9dd7",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3104.999671936035,
+    "y": 1951.4999113082886,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "54f01fb1.eab0c",
+        "2726f205.443f6e",
+        "72173b95.fc02b4",
+        "b0e30676.c2a618",
+        "a7156e9f.23a1b",
+        "541b6902.dd6b58",
+        "77b69608.7345f8",
+        "75459c33.78c964",
+        "d5a685ee.a4f698",
+        "f073f95f.7848a8"
+      ]
+    ]
+  },
+  {
+    "id": "58ea94fe.88fe4c",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3136.9997749328613,
+    "y": 2593.5002613067627,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "31f4dc9.4459824",
+        "53da0cfd.4e5c84",
+        "7c9721cc.23414",
+        "bd1192a1.70e0b",
+        "de488f87.4a5ee",
+        "cc49685f.b2d5d8",
+        "7b57d512.398e6c"
+      ]
+    ]
+  },
+  {
+    "id": "c7717ba5.717ea8",
+    "type": "outcome",
+    "name": "DeactivateSDWANAttachmentInstance",
+    "xml": "<outcome value='DeactivateSDWANAttachmentInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 2885.4998321533203,
+    "y": 2587.500072479248,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "58ea94fe.88fe4c"
+      ]
+    ]
+  },
+  {
+    "id": "77b69608.7345f8",
+    "type": "set",
+    "name": "Add sites to list and update length",
+    "xml": "<set>\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteName' value='`$prop.hub.siteName`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].hubSiteId' value='`$prop.hub.siteId`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteName' value='`$prop.spoke.siteName`' />\n<parameter name='prop.provision.siteIds[$prop.provision.siteIds_length].spokeSiteId' value='`$prop.spoke.siteId`' />\n\n\n\n\n\n\n\n\n\n\n\n\n\n",
+    "comments": "",
+    "x": 3430.0318298339844,
+    "y": 2336.0318689346313,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "fd537752.3855d8",
+    "type": "comment",
+    "name": "save hubsiteIds and spoke siteIds for provision",
+    "info": "",
+    "comments": "",
+    "x": 3462.0322036743164,
+    "y": 2292.0317430496216,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "96a23bd5.060968",
+    "type": "switchNode",
+    "name": "switch name",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'name'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3419.031005859375,
+    "y": 458.03125,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "7dad2dd.add95d4"
+      ]
+    ]
+  },
+  {
+    "id": "7dad2dd.add95d4",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3619.0307807922363,
+    "y": 458.0314121246338,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "deeabd26.1be7b"
+      ]
+    ]
+  },
+  {
+    "id": "deeabd26.1be7b",
+    "type": "set",
+    "name": "set prop.spoke.siteName",
+    "xml": "<set>\n<parameter name='prop.spoke.siteName' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n",
+    "comments": "",
+    "x": 3807.0315856933594,
+    "y": 456.63202571868896,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "229bba7c.508e96",
+    "type": "switchNode",
+    "name": "switch name",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].name == 'name'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3121.0310287475586,
+    "y": 1757.5311088562012,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "980f0d4f.cfeac"
+      ]
+    ]
+  },
+  {
+    "id": "980f0d4f.cfeac",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3272.0313987731934,
+    "y": 1756.53129196167,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "bc242aa.e7cd1d8"
+      ]
+    ]
+  },
+  {
+    "id": "bc242aa.e7cd1d8",
+    "type": "set",
+    "name": "set prop.hub.siteName",
+    "xml": "<set>\n<parameter name='prop.hub.siteName' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.sitevidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$siteidx].value`' />\n",
+    "comments": "",
+    "x": 3444.031406402588,
+    "y": 1754.1318607330322,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "962ad5c3.0da1a8",
+    "type": "set",
+    "name": "set prop.provision.siteIds_length=0",
+    "xml": "<set>\n<parameter name='prop.provision.siteIds_length' value='0' />\n\n\n\n",
+    "comments": "",
+    "x": 444.03126525878906,
+    "y": 344.0312547683716,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "ba15291d.217778",
+    "type": "execute",
+    "name": "execute RestApiCallNode site provision urls",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n<parameter name=\"templateFileName\" value=\"`$prop.restapi.templateDir + '/sdwan-site-provision.json'`\" />\n<parameter name=\"restapiUrl\" value=\"`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/campus/v1/sdwan/net/sites/provision-urls'`\" />\n<parameter name=\"restapiUser\" value=\"`$prop.sdncRestApi.thirdpartySdnc.user`\" />\n<parameter name=\"restapiPassword\" value=\"`$prop.sdncRestApi.thirdpartySdnc.password`\" />\n<parameter name=\"format\" value=\"json\"/>\n<parameter name=\"httpMethod\" value=\"post\"/>\n<parameter name=\"responsePrefix\" value=\"provisionUrlRsp\"/>\n<parameter name=\"trustStoreFileName\" value=\"/opt/onap/sdnc/data/stores/truststore.onap.client.jks\"/>\n<parameter name=\"trustStorePassword\" value=\"adminadmin\"/>\n<parameter name=\"keyStoreFileName\" value=\"/opt/onap/sdnc/data/stores/sdnc.p12\"/>\n<parameter name=\"keyStorePassword\" value=\"adminadmin\"/>\n<parameter name='customHttpHeaders' value=\"`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`\" />",
+    "comments": "",
+    "outputs": 1,
+    "x": 796.0312957763672,
+    "y": 776.0314712524414,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "863c45b0.87f298",
+        "e8831f50.130f7"
+      ]
+    ]
+  },
+  {
+    "id": "e8831f50.130f7",
+    "type": "success",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1060.0315551757812,
+    "y": 798.0315160751343,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "863c45b0.87f298",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1061.0313415527344,
+    "y": 755.0314540863037,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "f11e1d9d.f9f63"
+      ]
+    ]
+  },
+  {
+    "id": "f11e1d9d.f9f63",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing provision url rest api\" />\n",
+    "comments": "",
+    "x": 1206.0318641662598,
+    "y": 753.0314922332764,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "da982ae7.c19088",
+    "type": "for",
+    "name": "for providx..prop.provision.siteIds[]",
+    "xml": "<for index='providx' start='0' end='`$prop.provision.siteIds_length`' >\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 437.0312957763672,
+    "y": 548.0312948226929,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "2d873e7f.4b1bc2"
+      ]
+    ]
+  },
+  {
+    "id": "2d873e7f.4b1bc2",
+    "type": "block",
+    "name": "block atmoic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 461.0313377380371,
+    "y": 758.031268119812,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "50fee5f7.6d296c",
+        "ba15291d.217778",
+        "89a54eb6.e2142"
+      ]
+    ]
+  },
+  {
+    "id": "50fee5f7.6d296c",
+    "type": "set",
+    "name": "set prop.spoke.hubSiteId, spokeSiteId",
+    "xml": "<set>\n<parameter name='prop.provision.hubSitename' value='`$prop.provision.siteIds[$providx].hubSiteName`' />\n<parameter name='prop.provision.spokeSitename' value='`$prop.provision.siteIds[$providx].spokeSiteName`' />\n<parameter name='prop.provision.hubspokesite[0]' value='`$prop.provision.siteIds[$providx].hubSiteId`' />\n<parameter name='prop.provision.hubspokesite[1]' value='`$prop.provision.siteIds[$providx].spokeSiteId`' />\n<parameter name='prop.provision.hubspokesite_length' value='2' />\n",
+    "comments": "",
+    "x": 772.0339965820312,
+    "y": 634.6329832077026,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "89a54eb6.e2142",
+    "type": "record",
+    "name": "record provision url response to the file",
+    "xml": "<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.FileRecorder\">\n<parameter name=\"file\" value=\"`'/opt/opendaylight/current/data/log/' + 'HUB-' + $prop.provision.hubSitename + '-SPOKE-' + $prop.provision.spokeSitename + '-provisionUrl'`\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value='`$provisionUrlRsp.success[0].url`'/>\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 768.0313720703125,
+    "y": 870.0313358306885,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "94a7fcab.3f18",
+    "type": "block",
+    "name": "block atmoic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2510.031482696533,
+    "y": 1025.0313262939453,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "e9ad6cc9.abb1"
+      ]
+    ]
+  },
+  {
+    "id": "d063fbaf.bf9cb8",
+    "type": "block",
+    "name": "block atmoic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1990.0311584472656,
+    "y": 588.0313091278076,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "4b3c3b19.b12c44"
+      ]
+    ]
+  },
+  {
+    "id": "a24202ba.c8c7c",
+    "type": "block",
+    "name": "block atmoic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1934.0313262939453,
+    "y": 679.0312175750732,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1134832c.af388d",
+        "e393fec8.f9974"
+      ]
+    ]
+  },
+  {
+    "id": "541b6902.dd6b58",
+    "type": "set",
+    "name": "set prop.underlay.routeIds_length++",
+    "xml": "<set>\n<parameter name='prop.underlay.routeIds_length' value='`$prop.underlay.routeIds_length + 1`' />\n\n\n\n\n",
+    "comments": "",
+    "x": 3455.0011596679688,
+    "y": 2247.250065803528,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "75459c33.78c964",
+    "type": "set",
+    "name": "Update prop.provision.siteIds_length",
+    "xml": "<set>\n<parameter name='prop.provision.siteIds_length' value='`$prop.provision.siteIds_length + 1`' />\n\n\n\n\n\n\n\n\n\n\n\n\n",
+    "comments": "",
+    "x": 3438.5009002685547,
+    "y": 2371.2501611709595,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "68bdc58a.c36e2c",
+    "type": "set",
+    "name": "set prop.spoke.siteidx",
+    "xml": "<set>\n<parameter name='prop.spoke.siteidx' value='`$i`' />\n\n",
+    "comments": "",
+    "x": 2878.7501907348633,
+    "y": 424.0000286102295,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "8706bf22.e777d",
+    "type": "set",
+    "name": "set  underlay route ids to service data",
+    "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].name' value=\"underlayRouteIds\" />\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length].value' value='`$tmp.routeString`' />\n\n\n",
+    "comments": "",
+    "x": 1901.0006408691406,
+    "y": 1911.0003986358643,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "546d6174.f994f",
+    "type": "set",
+    "name": "set prop.underlay.routeIds_length=0",
+    "xml": "<set>\n<parameter name='prop.underlay.routeIds_length' value='0' />\n\n\n\n",
+    "comments": "",
+    "x": 448.9961242675781,
+    "y": 295.9961128234863,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "de488f87.4a5ee",
+    "type": "for",
+    "name": "for loop uidx - Get route Id from prop.underlay.routeIds",
+    "xml": "<for index=\"uidx\" start=\"0\" end=\"`$prop.underlay.routeIds_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3492.6630325317383,
+    "y": 2466.3295001983643,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "b94dca1b.799658"
+      ]
+    ]
+  },
+  {
+    "id": "b94dca1b.799658",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3784.3297271728516,
+    "y": 2466.3295001983643,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "f30a5bcf.2eba98"
+      ]
+    ]
+  },
+  {
+    "id": "f30a5bcf.2eba98",
+    "type": "switchNode",
+    "name": "switch prop.hub.siteId",
+    "xml": "<switch test=\"`$prop.underlay.routeIds[$uidx].hubSiteId == $prop.hub.siteId`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3973.3297424316406,
+    "y": 2466.3296632766724,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "9e731b50.667688"
+      ]
+    ]
+  },
+  {
+    "id": "9e731b50.667688",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 4144.329177856445,
+    "y": 2466.329662322998,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "34e4e4e1.bf23ec"
+      ]
+    ]
+  },
+  {
+    "id": "34e4e4e1.bf23ec",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 4298.329177856445,
+    "y": 2470.3296699523926,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "7f01b9d0.ef7bc8"
+      ]
+    ]
+  },
+  {
+    "id": "7f01b9d0.ef7bc8",
+    "type": "set",
+    "name": "set prop.hubRouteId prop.spokeRouteId",
+    "xml": "<set>\n<parameter name='prop.hubRouteId' value='`$prop.underlay.routeIds[$uidx].hubRouteId`' />\n<parameter name='prop.spokeRouteId' value='`$prop.underlay.routeIds[$uidx].spokeRouteId`' />\n",
+    "comments": "",
+    "x": 4384.32918548584,
+    "y": 2542.32967376709,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "af471c20.d9cb7",
+    "type": "switchNode",
+    "name": "switch underlayRouteIds",
+    "xml": "<switch test=\"`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].name == 'underlayRouteIds'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3423.99609375,
+    "y": 562.6627197265625,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "3c3b3752.f46c08"
+      ]
+    ]
+  },
+  {
+    "id": "3c3b3752.f46c08",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3623.9955711364746,
+    "y": 550.6628341674805,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "981ac32e.958e4"
+      ]
+    ]
+  },
+  {
+    "id": "a4a704fd.090458",
+    "type": "set",
+    "name": "set prop.underlay.routeIds",
+    "xml": "<set>\n<parameter name='prop.underlay.routeIdsString' value='`$service-data.vnfs.vnf[$i].vnf-data.vnf-request-input.vnf-input-parameters.param[$sidx].value`' />\n",
+    "comments": "",
+    "x": 3994.996971130371,
+    "y": 550.2635440826416,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "3da7a5e7.865d8a",
+    "type": "switchNode",
+    "name": "switch request-action",
+    "xml": "<switch test='`$connection-attachment-topology-operation-input.request-information.request-action`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1110.9963836669922,
+    "y": 2002.329628944397,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1f1cb6fc.4dc6b9",
+        "a206c36a.2d39f"
+      ]
+    ]
+  },
+  {
+    "id": "1f1cb6fc.4dc6b9",
+    "type": "outcome",
+    "name": "ActivateSDWANAttachmentInstance",
+    "xml": "<outcome value='ActivateSDWANAttachmentInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1374.9964294433594,
+    "y": 1957.329626083374,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "3f4012bd.4d4d2e"
+      ]
+    ]
+  },
+  {
+    "id": "3f4012bd.4d4d2e",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1616.9689407348633,
+    "y": 1953.7983770370483,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "8706bf22.e777d",
+        "cb472a7b.dc7d38",
+        "879af91.a400b08",
+        "93dcb194.e6988"
+      ]
+    ]
+  },
+  {
+    "id": "1834840f.e68edc",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1620.9689292907715,
+    "y": 2037.7985458374023,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "92497dd5.46538"
+      ]
+    ]
+  },
+  {
+    "id": "a206c36a.2d39f",
+    "type": "outcome",
+    "name": "DeactivateSDWANAttachmentInstance",
+    "xml": "<outcome value='DeactivateSDWANAttachmentInstance'>",
+    "comments": "",
+    "outputs": 1,
+    "x": 1372.4690704345703,
+    "y": 2039.7983827590942,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1834840f.e68edc"
+      ]
+    ]
+  },
+  {
+    "id": "92497dd5.46538",
+    "type": "set",
+    "name": "set input parameter length -1",
+    "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length - 1`' />\n\n\n\n\n",
+    "comments": "",
+    "x": 1849.6626281738281,
+    "y": 2036.32963180542,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "9af7165e.2d5758",
+    "type": "comment",
+    "name": "Get route routes IDs",
+    "info": "",
+    "comments": "",
+    "x": 3392.3294982910156,
+    "y": 2427.6627368927,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "cb472a7b.dc7d38",
+    "type": "set",
+    "name": "set  underlay route ids to service data",
+    "xml": "<set>\n<parameter name='service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length' value='`$service-data.vnfs.vnf[$prop.spoke.siteidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length + 1`' />\n\n\n\n\n",
+    "comments": "",
+    "x": 1890.329574584961,
+    "y": 1985.662672996521,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "879af91.a400b08",
+    "type": "for",
+    "name": "for jidx paramidx - Get topology from servicedata",
+    "xml": "<for index=\"jidx\" start=\"0\" end=\"`$prop.underlay.routeIds_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 1979.3294982910156,
+    "y": 1532.329444885254,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "cdfd8790.f983d8"
+      ]
+    ]
+  },
+  {
+    "id": "3e5fe1f4.4771be",
+    "type": "execute",
+    "name": "execute concat",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat1\"/>\n    <parameter name=\"target\" value='`$prop.underlay.routeIds[$jidx].hubRouteId`'/>\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2163.329833984375,
+    "y": 1665.9966478347778,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "328df7f4.d9d5f8",
+    "type": "execute",
+    "name": "execute concat",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$prop.underlay.routeIds[$jidx].hubSiteId`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat\"/>\n    <parameter name=\"target\" value=\",\"/>\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2173.3298263549805,
+    "y": 1618.6629858016968,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "cdfd8790.f983d8",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 1886.329517364502,
+    "y": 1717.6627750396729,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "328df7f4.d9d5f8",
+        "3e5fe1f4.4771be",
+        "413e65c4.2ce4ac",
+        "ce595947.f7b1e8",
+        "41c2276f.7ab7c8",
+        "a2941eac.dd47a"
+      ]
+    ]
+  },
+  {
+    "id": "413e65c4.2ce4ac",
+    "type": "execute",
+    "name": "execute concat",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat1`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat2\"/>\n    <parameter name=\"target\" value=\",\"/>\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2170.3295364379883,
+    "y": 1705.6628789901733,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "ce595947.f7b1e8",
+    "type": "execute",
+    "name": "execute concat",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat2`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat3\"/>\n    <parameter name=\"target\" value='`$prop.underlay.routeIds[$jidx].spokeRouteId`'/>\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2170.3295364379883,
+    "y": 1741.6628789901733,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "41c2276f.7ab7c8",
+    "type": "execute",
+    "name": "execute concat",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.concat3`'/>\n    <parameter name=\"outputPath\" value=\"tmp.concat4\"/>\n    <parameter name=\"target\" value=\" | \"/>\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2163.3295364379883,
+    "y": 1781.9962530136108,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "a2941eac.dd47a",
+    "type": "execute",
+    "name": "execute concat",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='concat' >\n    <parameter name=\"source\" value='`$tmp.routeString`'/>\n    <parameter name=\"outputPath\" value=\"tmp.routeString\"/>\n    <parameter name=\"target\" value='`$tmp.concat4`'/>\n\n\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2166.329475402832,
+    "y": 1836.6627922058105,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "93dcb194.e6988",
+    "type": "set",
+    "name": "Set tmp.routeString",
+    "xml": "<set>\n<parameter name='tmp.routeString' value=\"\" />\n\n",
+    "comments": "",
+    "x": 1883.3294982910156,
+    "y": 1473.6627759933472,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "981ac32e.958e4",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3771.9963188171387,
+    "y": 596.9961318969727,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "a4a704fd.090458",
+        "474a807.5a3348"
+      ]
+    ]
+  },
+  {
+    "id": "474a807.5a3348",
+    "type": "execute",
+    "name": "execute split |",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.underlay.routeIdsString`'/>\n<parameter name=\"regex\" value=\" | \"/>\n<parameter name=\"ctx_memory_result_key\" value=\"prop.underlay.routeIdsValue\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3949.9963302612305,
+    "y": 616.9961318969727,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "5c929964.4b8ce8",
+        "acedb986.795fa8"
+      ]
+    ]
+  },
+  {
+    "id": "acedb986.795fa8",
+    "type": "failure",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 4126.9963455200195,
+    "y": 597.9961309432983,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "96ac3ef1.0da81"
+      ]
+    ]
+  },
+  {
+    "id": "5c929964.4b8ce8",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 4115.9963455200195,
+    "y": 645.996132850647,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "90fc0aec.112218"
+      ]
+    ]
+  },
+  {
+    "id": "62992e2c.a242f",
+    "type": "set",
+    "name": "set ipAddress prefixLength",
+    "xml": "<set>\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubSiteId' value='`$prop.underlay.routeIdsValues[0]`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].hubRouteId' value='`$prop.underlay.routeIdsValues[1]`' />\n<parameter name='prop.underlay.routeIds[$prop.underlay.routeIds_length].spokeRouteId' value='`$prop.underlay.routeIdsValues[2]`' />",
+    "comments": "",
+    "x": 5312.997211456299,
+    "y": 531.9963731765747,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "90fc0aec.112218",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 4245.996349334717,
+    "y": 645.996132850647,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "96ac3ef1.0da81",
+    "type": "for",
+    "name": "for loop ridx ",
+    "xml": "<for index=\"ridx\" start=\"0\" end=\"`$prop.underlay.routeIdsValue_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 4272.996032714844,
+    "y": 595.9961309432983,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "94fe12e4.b3272"
+      ]
+    ]
+  },
+  {
+    "id": "94fe12e4.b3272",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 4451.329044342041,
+    "y": 592.9961318969727,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "bc1b307a.e9066"
+      ]
+    ]
+  },
+  {
+    "id": "bc1b307a.e9066",
+    "type": "execute",
+    "name": "execute split ,",
+    "xml": "<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='split' >\n<parameter name=\"original_string\" value='`$prop.underlay.routeIdsValue[$ridx]`'/>\n<parameter name=\"regex\" value=\",\"/>\n<parameter name=\"ctx_memory_result_key\" value=\"prop.underlay.routeIdsValues\"/>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 4626.329055786133,
+    "y": 591.996129989624,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "479c7699.d03df8",
+        "992b4620.1b2238"
+      ]
+    ]
+  },
+  {
+    "id": "479c7699.d03df8",
+    "type": "failure",
+    "name": "success",
+    "xml": "<outcome value='success'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 4783.32905960083,
+    "y": 568.9961376190186,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "bee08918.a3dfe8"
+      ]
+    ]
+  },
+  {
+    "id": "992b4620.1b2238",
+    "type": "failure",
+    "name": "failure",
+    "xml": "<outcome value='failure'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 4772.32905960083,
+    "y": 616.9961395263672,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "1506d77b.2e8159"
+      ]
+    ]
+  },
+  {
+    "id": "1506d77b.2e8159",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 4902.329063415527,
+    "y": 616.9961395263672,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "16eea4b9.2fb1ab",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 5105.661590576172,
+    "y": 547.9962916374207,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "62992e2c.a242f",
+        "2107fdbe.561112"
+      ]
+    ]
+  },
+  {
+    "id": "2107fdbe.561112",
+    "type": "set",
+    "name": "set ipAddress prefixLength",
+    "xml": "<set>\n<parameter name='prop.underlay.routeIds_length' value='`$prop.underlay.routeIds_length + 1`' />\n",
+    "comments": "",
+    "x": 5305.329250335693,
+    "y": 573.996169090271,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "bee08918.a3dfe8",
+    "type": "switchNode",
+    "name": "switch prop.underlay.routeIdsValues_length",
+    "xml": "<switch test='`$prop.underlay.routeIdsValues_length`'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 4981.663215637207,
+    "y": 449.9961624145508,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "17f5531.c69dcad",
+        "9cd3fd30.65304"
+      ]
+    ]
+  },
+  {
+    "id": "17f5531.c69dcad",
+    "type": "outcome",
+    "name": "3",
+    "xml": "<outcome value='3'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 5216.632148742676,
+    "y": 486.9648895263672,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "16eea4b9.2fb1ab"
+      ]
+    ]
+  },
+  {
+    "id": "9cd3fd30.65304",
+    "type": "other",
+    "name": "other",
+    "xml": "<outcome value='Other'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 5233.663074493408,
+    "y": 368.99610328674316,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "ae2b29d0.cafa18"
+      ]
+    ]
+  },
+  {
+    "id": "ae2b29d0.cafa18",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 5394.66259765625,
+    "y": 408.99609375,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "c6ccd14a.96548",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"404\" />\n    <parameter name=\"error-message\" value=\"Error: SOTN resource not found\" />\n    \n",
+    "comments": "",
+    "x": 2874.002540588379,
+    "y": 982.3028502464294,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "92d1a6eb.dd91a8",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 2860.0020484924316,
+    "y": 930.9692711830139,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "d5a685ee.a4f698",
+    "type": "set",
+    "name": "hardcode hub route",
+    "xml": "<set>\n<parameter name='prop.hub.ipAddress' value=\"10.2.0.2\" />\n<parameter name='prop.hub.providerIpAddress' value=\"10.2.0.0/16\" />\n\n\n",
+    "comments": "",
+    "x": 3394.0038681030273,
+    "y": 1822.0039892196655,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "f073f95f.7848a8",
+    "type": "set",
+    "name": "hardcode spoke route",
+    "xml": "<set>\n<parameter name='prop.spoke.ipAddress' value=\"10.3.0.1\" />\n<parameter name='prop.spoke.providerIpAddress' value=\"10.3.0.0/16\" />",
+    "comments": "",
+    "x": 3409.004409790039,
+    "y": 2020.0039653778076,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "cc49685f.b2d5d8",
+    "type": "set",
+    "name": "hardcode hub route",
+    "xml": "<set>\n<parameter name='prop.hub.ipAddress' value=\"10.2.0.2\" />\n<parameter name='prop.hub.providerIpAddress' value=\"10.2.0.0/16\" />\n\n\n",
+    "comments": "",
+    "x": 3425.3335723876953,
+    "y": 2496.000065803528,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "7b57d512.398e6c",
+    "type": "set",
+    "name": "hardcode spoke route",
+    "xml": "<set>\n<parameter name='prop.spoke.ipAddress' value=\"10.3.0.1\" />\n<parameter name='prop.spoke.providerIpAddress' value=\"10.3.0.0/16\" />",
+    "comments": "",
+    "x": 3450.333251953125,
+    "y": 2608,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "ab1ef1f9.e54ea",
+    "type": "block",
+    "name": "block atmoic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3461.0041694641113,
+    "y": 1227.5040493011475,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "564bf8e9.5ea9e8",
+        "273881de.ee082e"
+      ]
+    ]
+  },
+  {
+    "id": "896da4ec.a5e9f8",
+    "type": "block",
+    "name": "block atmoic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3791.2541217803955,
+    "y": 1395.0040378570557,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "9ec9fc87.5d09e"
+      ]
+    ]
+  },
+  {
+    "id": "9ec9fc87.5d09e",
+    "type": "switchNode",
+    "name": "switch transportNetworkName==prop.spoke.transportNetworkName",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.portvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value == $prop.spoke.transportNetworkName`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 4124.004144668579,
+    "y": 1397.004313468933,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "3f80722d.d94e9e"
+      ]
+    ]
+  },
+  {
+    "id": "3f80722d.d94e9e",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3991.0055894851685,
+    "y": 1493.0042219161987,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "473f2da5.df7aa4"
+      ]
+    ]
+  },
+  {
+    "id": "473f2da5.df7aa4",
+    "type": "block",
+    "name": "block atmoic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 4146.755597114563,
+    "y": 1485.0042219161987,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "662f75a8.5b0d6c",
+        "d2c57b63.a72078"
+      ]
+    ]
+  },
+  {
+    "id": "d2c57b63.a72078",
+    "type": "set",
+    "name": "set tmp.wanportvidx ",
+    "xml": "<set>\n<parameter name='tmp.wanportvidx' value='`$arvidx`' />\n\n",
+    "comments": "",
+    "x": 4324.2565660476685,
+    "y": 1461.004343032837,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "f5ec2256.55a71",
+    "type": "for",
+    "name": "for loop wanportvidx - Get wan port ID from servicedata",
+    "xml": "<for index=\"wportidx\" start=\"0\" end=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param_length`\">\n    \n    \n",
+    "comments": "",
+    "outputs": 1,
+    "x": 2732.5042877197266,
+    "y": 1673.0043449401855,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "a355c702.37b978"
+      ]
+    ]
+  },
+  {
+    "id": "a355c702.37b978",
+    "type": "block",
+    "name": "block atomic",
+    "xml": "<block atomic=\"true\">\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3035.5056915283203,
+    "y": 1631.004680633545,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "4841755.e7a768c",
+        "7ff6e951.a32b78",
+        "803020cc.5b481"
+      ]
+    ]
+  },
+  {
+    "id": "4841755.e7a768c",
+    "type": "switchNode",
+    "name": "switch wanPortId",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'wanPortId'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3234.8393783569336,
+    "y": 1588.0048933029175,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "2cb90465.e59cdc"
+      ]
+    ]
+  },
+  {
+    "id": "2cb90465.e59cdc",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3395.8397064208984,
+    "y": 1589.00497341156,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "406b564f.be2668"
+      ]
+    ]
+  },
+  {
+    "id": "406b564f.be2668",
+    "type": "set",
+    "name": "set prop.hub.wanPortId",
+    "xml": "<set>\n<parameter name='prop.hub.wanPortId' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n",
+    "comments": "",
+    "x": 3585.8401679992676,
+    "y": 1588.6052494049072,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "7ff6e951.a32b78",
+    "type": "switchNode",
+    "name": "switch providerIpAddress",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'providerIpAddress'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3256.367862701416,
+    "y": 1625.2011981010437,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "de4c4cc0.abc22"
+      ]
+    ]
+  },
+  {
+    "id": "de4c4cc0.abc22",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3432.3688468933105,
+    "y": 1625.2013206481934,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "409dc8c5.eeb998"
+      ]
+    ]
+  },
+  {
+    "id": "409dc8c5.eeb998",
+    "type": "set",
+    "name": "set prop.hub.providerIpAddress",
+    "xml": "<set>\n<parameter name='prop.hub.providerIpAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n",
+    "comments": "",
+    "x": 3634.368885040283,
+    "y": 1625.8012409210205,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "803020cc.5b481",
+    "type": "switchNode",
+    "name": "switch ipAddress",
+    "xml": "<switch test=\"`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].name == 'ipAddress'`\">\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3228.867944717407,
+    "y": 1662.701283454895,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "25fd164b.117a3a"
+      ]
+    ]
+  },
+  {
+    "id": "25fd164b.117a3a",
+    "type": "outcomeTrue",
+    "name": "true",
+    "xml": "<outcome value='true'>\n",
+    "comments": "",
+    "outputs": 1,
+    "x": 3432.868885040283,
+    "y": 1662.701235294342,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      [
+        "10522aa8.f003c5"
+      ]
+    ]
+  },
+  {
+    "id": "10522aa8.f003c5",
+    "type": "set",
+    "name": "set prop.hub.ipAddress",
+    "xml": "<set>\n<parameter name='prop.hub.ipAddress' value='`$mdsal-arsd.service-data.vnfs.vnf[$tmp.wanportvidx].vnf-data.vnf-request-input.vnf-input-parameters.param[$wportidx].value`' />\n",
+    "comments": "",
+    "x": 3627.8688888549805,
+    "y": 1662.3012108802795,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "722e84e9.8ab54c",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3837.254180908203,
+    "y": 1815.2539224624634,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "78300110.b43b4",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3849.25390625,
+    "y": 1859.25390625,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "e6f4e702.6d5b68",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3860.2543621063232,
+    "y": 2026.2540483474731,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "b3f4e792.e33638",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3861.254119873047,
+    "y": 2073.2540493011475,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "7b4a5da7.783c64",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3852.2542991638184,
+    "y": 2554.0039710998535,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "4079a316.d4531c",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3853.254056930542,
+    "y": 2601.003972053528,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "2a5c753b.10964a",
+    "type": "returnFailure",
+    "name": "return failure",
+    "xml": "<return status='failure'>\n\t<parameter name='ack-final' value='Y'/>\n\t<parameter name=\"error-code\" value=\"500\" />\n    <parameter name=\"error-message\" value=\"Error executing sdwan hub route underlay rest api\" />\n",
+    "comments": "",
+    "x": 4005.336700439453,
+    "y": 2555.9710121154785,
+    "z": "ea31d3f9.c58ce",
+    "wires": []
+  },
+  {
+    "id": "ae6e8595.d05358",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3852.25390625,
+    "y": 2645.00390625,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  },
+  {
+    "id": "a38da1c5.3c2df",
+    "type": "block",
+    "name": "block",
+    "xml": "<block>\n",
+    "atomic": "false",
+    "comments": "",
+    "outputs": 1,
+    "x": 3853.2536640167236,
+    "y": 2692.0039072036743,
+    "z": "ea31d3f9.c58ce",
+    "wires": [
+      []
+    ]
+  }
+]