summaryrefslogtreecommitdiffstats
path: root/platform-logic/generic-resource-api
diff options
context:
space:
mode:
authorDan Timoney <dtimoney@att.com>2017-11-01 15:31:08 -0400
committerDan Timoney <dtimoney@att.com>2017-11-01 15:31:08 -0400
commit9a1267e79c232b949f666cc130ebb9837f594090 (patch)
tree4a2445a07ae87d9b58c83ed55185725795c933de /platform-logic/generic-resource-api
parent817f1f33ddffb9ae86a77613439c50ff2059859f (diff)
Updates to tunnelxconn assignment
Update tunnelxconn assignment logic to assign IP address and VNI from local inventory Change-Id: I1aae9162d1eb7a61d641b620488d52abdfe32357 Issue-ID: SDNC-160 Signed-off-by: Dan Timoney <dtimoney@att.com> Former-commit-id: a7e7279c379e470c1cf7446099fbc11b66fd2ac8
Diffstat (limited to 'platform-logic/generic-resource-api')
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_manage-ipaddr-assignment.json1
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_manage-vni-assignment.json1
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-tunnelxconn-input.json2
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_manage-ipaddr-assignment.xml16
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_manage-vni-assignment.xml16
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.xml601
-rw-r--r--platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-tunnelxconn-input.xml6
8 files changed, 314 insertions, 331 deletions
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_manage-ipaddr-assignment.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_manage-ipaddr-assignment.json
new file mode 100644
index 00000000..6950920f
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_manage-ipaddr-assignment.json
@@ -0,0 +1 @@
+[{"id":"6c77e0ff.812608","type":"dgstart","name":"DGSTART","outputs":1,"x":115,"y":68,"z":"3d31b783.83364","wires":[["eeca2dac.71c38"]]},{"id":"eeca2dac.71c38","type":"service-logic","name":"GENERIC-RESOURCE-API ${project.version}","module":"GENERIC-RESOURCE-API","version":"${project.version}","comments":"Reserve/release VNI","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":298,"y":157,"z":"3d31b783.83364","wires":[["5622528.2d1752c"]]},{"id":"5622528.2d1752c","type":"method","name":"manage-ipaddr-assignment","xml":"<method rpc='manage-ipaddr-assignment' mode='sync'>\n","comments":"","outputs":1,"x":400,"y":229,"z":"3d31b783.83364","wires":[["928c2075.c1ea38"]]},{"id":"6b987445.22932c","type":"switchNode","name":"switch $tmp.manage-vni.action","xml":"<switch test='$tmp.manage-vni.action'>\n","comments":"","outputs":1,"x":874,"y":262,"z":"3d31b783.83364","wires":[["c7842702.edc6a8","bdab292c.3fb228"]]},{"id":"c7842702.edc6a8","type":"outcome","name":"reserve","xml":"<outcome value='reserve'>\n","comments":"","outputs":1,"x":1156,"y":261,"z":"3d31b783.83364","wires":[["fe238eec.5c8f68"]]},{"id":"fe238eec.5c8f68","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1328,"y":263,"z":"3d31b783.83364","wires":[["b640d0c8.5d0da8"]]},{"id":"b640d0c8.5d0da8","type":"get-resource","name":"get-resource IPADDR from IPV4_ADDRESS_POOL","xml":"<get-resource plugin='`$tmp.sql.plugin`' resource='VNI' key=\"SELECT min(ipv4_addr) from IPV4_ADDRESS_POOL where universe='VGW' and status='AVAILABLE'\" pfx=\"tmp.manage-ipaddr.results\" >\n","comments":"","outputs":1,"x":1609,"y":264,"z":"3d31b783.83364","wires":[["834dd8d3.47713"]]},{"id":"928c2075.c1ea38","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":632,"y":228,"z":"3d31b783.83364","wires":[["faee9c.6ff1d968","6b987445.22932c"]]},{"id":"faee9c.6ff1d968","type":"set","name":"set sql plugin name","xml":"<set>\n<parameter name='tmp.sql.plugin' value='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' />\n","comments":"","x":839,"y":187,"z":"3d31b783.83364","wires":[]},{"id":"834dd8d3.47713","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1881,"y":262,"z":"3d31b783.83364","wires":[["3137a256.defa4e"]]},{"id":"3137a256.defa4e","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2055,"y":266,"z":"3d31b783.83364","wires":[["c437677a.509078","c03409b6.2bb5d"]]},{"id":"c437677a.509078","type":"set","name":"set tmp.manage-ipaddr.ip","xml":"<set>\n<parameter name='tmp.manage-ipaddr.ip' value='`$tmp.manage-ipaddr.results.ipv4_addr`' />\n","comments":"","x":2253,"y":266,"z":"3d31b783.83364","wires":[]},{"id":"c03409b6.2bb5d","type":"save","name":"Mark ip address reserved","xml":"<save plugin='`$tmp.sql.plugin`' resource='IPADDR' key=\"UPDATE IPV4_ADDRESS_POOL set status='RESERVED' where universe='VGW' and ipv4_addr=$tmp.manage-ipaddr.ip\" force='false'>\n\n","comments":"","outputs":1,"x":2249,"y":322,"z":"3d31b783.83364","wires":[[]]},{"id":"bdab292c.3fb228","type":"outcome","name":"release","xml":"<outcome value='release'>\n","comments":"","outputs":1,"x":1154,"y":328,"z":"3d31b783.83364","wires":[["22501595.859f1a"]]},{"id":"22501595.859f1a","type":"save","name":"Mark ipaddress available","xml":"<save plugin='`$tmp.sql.plugin`' resource='IPADDR' key=\"UPDATE IPV4_ADDRESS_POOL set status='AVAILABLE' where universe='VGW' and ipv4_addr=$tmp.manage-ipaddr.ip\" force='false'>\n\n","comments":"","outputs":1,"x":1340,"y":331,"z":"3d31b783.83364","wires":[[]]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_manage-vni-assignment.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_manage-vni-assignment.json
new file mode 100644
index 00000000..f7d356a4
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_manage-vni-assignment.json
@@ -0,0 +1 @@
+[{"id":"afcb1bdd.0a5d5","type":"dgstart","name":"DGSTART","outputs":1,"x":157,"y":64,"z":"53860ef1.ddc3b8","wires":[["f5eef8dc.e02d38"]]},{"id":"f5eef8dc.e02d38","type":"service-logic","name":"GENERIC-RESOURCE-API ${project.version}","module":"GENERIC-RESOURCE-API","version":"${project.version}","comments":"Reserve/release VNI","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":340,"y":153,"z":"53860ef1.ddc3b8","wires":[["59290e08.4765c"]]},{"id":"59290e08.4765c","type":"method","name":"manage-vni-assignment","xml":"<method rpc='manage-vni-assignment' mode='sync'>\n","comments":"","outputs":1,"x":442,"y":225,"z":"53860ef1.ddc3b8","wires":[["82801607.2fe58"]]},{"id":"c6177ede.bbfd7","type":"switchNode","name":"switch $tmp.manage-vni.action","xml":"<switch test='$tmp.manage-vni.action'>\n","comments":"","outputs":1,"x":916,"y":258,"z":"53860ef1.ddc3b8","wires":[["652560e0.4b8448","962baf42.39bb9"]]},{"id":"652560e0.4b8448","type":"outcome","name":"reserve","xml":"<outcome value='reserve'>\n","comments":"","outputs":1,"x":1198,"y":257,"z":"53860ef1.ddc3b8","wires":[["525e1ab8.dd8ed4"]]},{"id":"525e1ab8.dd8ed4","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1370,"y":259,"z":"53860ef1.ddc3b8","wires":[["f1ee91fd.542a6"]]},{"id":"f1ee91fd.542a6","type":"get-resource","name":"get-resource VNI from VLAN_ID_POOL","xml":"<get-resource plugin='`$tmp.sql.plugin`' resource='VNI' key=\"SELECT min(vlan_id) from VLAN_ID_POOL where purpose='VNI' and status='AVAILABLE'\" pfx=\"tmp.manage-vni.results\" >\n","comments":"","outputs":1,"x":1651,"y":260,"z":"53860ef1.ddc3b8","wires":[["4142f9d2.e06a9"]]},{"id":"82801607.2fe58","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":674,"y":224,"z":"53860ef1.ddc3b8","wires":[["93060fb5.07fc8","c6177ede.bbfd7"]]},{"id":"93060fb5.07fc8","type":"set","name":"set sql plugin name","xml":"<set>\n<parameter name='tmp.sql.plugin' value='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' />\n","comments":"","x":881,"y":183,"z":"53860ef1.ddc3b8","wires":[]},{"id":"4142f9d2.e06a9","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1923,"y":258,"z":"53860ef1.ddc3b8","wires":[["3ff7525.017c7ae"]]},{"id":"3ff7525.017c7ae","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2097,"y":262,"z":"53860ef1.ddc3b8","wires":[["30ea5141.b2ecee","ccc94438.589708"]]},{"id":"30ea5141.b2ecee","type":"set","name":"set tmp.manage-vni.vni","xml":"<set>\n<parameter name='tmp.manage-vni.vni' value='`$tmp.manage-vni.results.vlan-id`' />\n","comments":"","x":2295,"y":262,"z":"53860ef1.ddc3b8","wires":[]},{"id":"ccc94438.589708","type":"save","name":"Mark vni reserved","xml":"<save plugin='`$tmp.sql.plugin`' resource='VNI' key=\"UPDATE VLAN_ID_POOL set status='RESERVED' where purpose='VNI' and vlan_id=$tmp.manage-vni.vni\" force='false'>\n\n","comments":"","outputs":1,"x":2291,"y":318,"z":"53860ef1.ddc3b8","wires":[[]]},{"id":"962baf42.39bb9","type":"outcome","name":"release","xml":"<outcome value='release'>\n","comments":"","outputs":1,"x":1196,"y":324,"z":"53860ef1.ddc3b8","wires":[["3b51720c.663216"]]},{"id":"3b51720c.663216","type":"save","name":"Mark vni available","xml":"<save plugin='`$tmp.sql.plugin`' resource='VNI' key=\"UPDATE VLAN_ID_POOL set status='AVAILABLE' where purpose='VNI' and vlan_id=$tmp.manage-vni.vni\" force='false'>\n\n","comments":"","outputs":1,"x":1382,"y":327,"z":"53860ef1.ddc3b8","wires":[[]]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.json
index e2d967fe..81da9eb1 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.json
@@ -1 +1 @@
-[{"id":"86e50663.b6ee7","type":"dgstart","name":"DGSTART","outputs":1,"x":137,"y":88,"z":"c29cef13.e3d5d8","wires":[["2d24af1e.7fa2a8"]]},{"id":"2d24af1e.7fa2a8","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":233.23807907104492,"y":148.95239067077637,"z":"c29cef13.e3d5d8","wires":[["74e24875.3cfcf8"]]},{"id":"74e24875.3cfcf8","type":"method","name":"tunnelxconn-topology-operation-assign","xml":"<method rpc='tunnelxconn-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":279.15485763549805,"y":184.19044589996338,"z":"c29cef13.e3d5d8","wires":[["e072894a.7154d"]]},{"id":"e072894a.7154d","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":187.47619247436523,"y":327.5237879753113,"z":"c29cef13.e3d5d8","wires":[["e3d48cc9.bb58f8","36020bb.08daef4","2334bb07.ed3ebc","9391ddc8.bf5ea","2a1bf6fd.d6a2f2"]]},{"id":"17bdbcaa.47310b","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":1030.6666564941406,"y":2254.5477046966553,"z":"c29cef13.e3d5d8","wires":[]},{"id":"1451bf9b.af76b8","type":"set","name":"set output to api handler","xml":"<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='tunnelxconn-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $tunnelxconn-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n","comments":"","x":1067.7540550231934,"y":2133.432439804077,"z":"c29cef13.e3d5d8","wires":[]},{"id":"497553dc.51cd54","type":"set","name":"set allotted-resource-oper-status","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingCreate' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tunnelxconn-topology-operation-input.request-information.request-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-request-id`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\n","comments":"","x":1139.468376159668,"y":1550.6228160858154,"z":"c29cef13.e3d5d8","wires":[]},{"id":"36020bb.08daef4","type":"set","name":"set tmp.ar.self-link","xml":"<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/tunnelxconn-topology/'` \" />\n\n","comments":"","x":617.7380676269531,"y":219.33331298828125,"z":"c29cef13.e3d5d8","wires":[]},{"id":"e3d48cc9.bb58f8","type":"set","name":"set tmp.ar.allotted-resource-id,etc","xml":"<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n<parameter name='tmp.ar.parent-service-instance-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n\n\n","comments":"","x":670.997314453125,"y":181.59259033203125,"z":"c29cef13.e3d5d8","wires":[]},{"id":"7927a826.f8f1b","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":820.8148803710938,"y":367.26727294921875,"z":"c29cef13.e3d5d8","wires":[["60ea4bed.346d0c"]]},{"id":"d07cdc4.42333a","type":"execute","name":"execute RestApiCallNode - PUT AR by id","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.tx.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\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='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n","comments":"","outputs":1,"x":1160.8626251220703,"y":1775.1008231639862,"z":"c29cef13.e3d5d8","wires":[["aa00e07b.8ef6d8","b4bb7aeb.8c162","6f8d61a1.195bf8"]]},{"id":"aa00e07b.8ef6d8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1429.5040016174316,"y":1826.4322349056602,"z":"c29cef13.e3d5d8","wires":[["7e2a0a64.95737c"]]},{"id":"b4bb7aeb.8c162","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1420.504051208496,"y":1794.9322606548667,"z":"c29cef13.e3d5d8","wires":[["7e2a0a64.95737c"]]},{"id":"6f8d61a1.195bf8","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1424.2540893554688,"y":1765.289365530014,"z":"c29cef13.e3d5d8","wires":[["d7380552.a9c53"]]},{"id":"7e2a0a64.95737c","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 updating md-sal for tunnelxconn-allotted-resource\" />\n","comments":"","x":1590.2540893554688,"y":1795.6822844967246,"z":"c29cef13.e3d5d8","wires":[]},{"id":"407c544a.c6a19c","type":"set","name":"set oper-status","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tx-ar.allotted-resource-status.rpc-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\n\n","comments":"","x":1170.5294189453125,"y":468.05291748046875,"z":"c29cef13.e3d5d8","wires":[]},{"id":"f5ba2ddd.50b9d8","type":"comment","name":"Save consumed-allotted-resources to mdsal","info":"","comments":"","x":1238.2434692382812,"y":1149.7196044921875,"z":"c29cef13.e3d5d8","wires":[]},{"id":"a098c2bd.fe8618","type":"comment","name":"GET tunnelxconn-allotted-resource from mdsal","info":"","comments":"","x":543.8148193359375,"y":337.7672119140625,"z":"c29cef13.e3d5d8","wires":[]},{"id":"60ea4bed.346d0c","type":"returnFailure","name":"return failure - tunnelxconn already exists","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\" \n value=\"`'Existing tunnelxconn-allotted-resource with order status of ' + $mdsal-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`\" />\n","comments":"","x":1130.129150390625,"y":363.6243896484375,"z":"c29cef13.e3d5d8","wires":[]},{"id":"f495041c.cf2a78","type":"set","name":"set tx-ar-identifiers","xml":"<set>\n<parameter name='tx-ar-identifiers.consuming-service-instance-id' value=\"`$tunnelxconn-topology-operation-input.service-information.service-instance-id` \" />\n<parameter name='tx-ar-identifiers.parent-service-instance-id' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n<parameter name='tx-ar-identifiers.allotted-resource-type' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='tx-ar-identifiers.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n\n","comments":"","x":1180.38623046875,"y":561.6243896484375,"z":"c29cef13.e3d5d8","wires":[]},{"id":"c9dfb7d2.b3163","type":"comment","name":"Set allotted-resource-identifiers","info":"","comments":"","x":1207.338623046875,"y":520.338623046875,"z":"c29cef13.e3d5d8","wires":[]},{"id":"64aabef8.7a73d8","type":"set","name":"set identifiers in overal structure","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.' value=\"`$tx-ar-identifiers.`\" />\n\n\n","comments":"","x":1197.38623046875,"y":869.910400390625,"z":"c29cef13.e3d5d8","wires":[]},{"id":"c612b930.1cf6b8","type":"set","name":"set ecomp model information from input","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.' \nvalue=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.`\" />\n\n\n","comments":"","x":1225.957763671875,"y":604.9100952148438,"z":"c29cef13.e3d5d8","wires":[]},{"id":"e5f0b40c.f7347","type":"switchNode","name":"switch model-invariant-uuid is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid'>\n","comments":"","outputs":1,"x":1206.8148193359375,"y":644.195809841156,"z":"c29cef13.e3d5d8","wires":[["52bbafa3.847198"]]},{"id":"52bbafa3.847198","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1433.9576988220215,"y":645.6243271827698,"z":"c29cef13.e3d5d8","wires":[["756ec60f.a6522"]]},{"id":"756ec60f.a6522","type":"set","name":"set model-invariant-uuid","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-invariant-uuid' \nvalue=\"`$ar-model.invariant-uuid`\" />\n\n\n","comments":"","x":1635.38627243042,"y":645.0528798103333,"z":"c29cef13.e3d5d8","wires":[]},{"id":"320f47da.57618","type":"switchNode","name":"switch model-uuid is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid'>\n","comments":"","outputs":1,"x":1178.2434158325195,"y":678.4815106391907,"z":"c29cef13.e3d5d8","wires":[["1363b23a.2bac66"]]},{"id":"1363b23a.2bac66","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1379.6719818115234,"y":679.0529322624207,"z":"c29cef13.e3d5d8","wires":[["47e6ae6.894ccd"]]},{"id":"47e6ae6.894ccd","type":"set","name":"set model-uuid","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-uuid' \nvalue=\"`$ar-model.uuid`\" />\n\n\n","comments":"","x":1572.529140472412,"y":679.0528540611267,"z":"c29cef13.e3d5d8","wires":[]},{"id":"14102754.2f6c51","type":"switchNode","name":"switch model-version is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-version'>\n","comments":"","outputs":1,"x":1186.8148193359375,"y":711.3386378288269,"z":"c29cef13.e3d5d8","wires":[["9846f707.69b828"]]},{"id":"9846f707.69b828","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1436.8148002624512,"y":711.3386225700378,"z":"c29cef13.e3d5d8","wires":[["5486c366.6df384"]]},{"id":"5486c366.6df384","type":"set","name":"set model-version","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-version' \nvalue=\"`$ar-model.version`\" />\n\n\n","comments":"","x":1629.6719589233398,"y":711.3385443687439,"z":"c29cef13.e3d5d8","wires":[]},{"id":"38287bd7.9e2524","type":"switchNode","name":"switch ar-model.ecomp-generated-naming","xml":"<switch test='`$ar-model.ecomp-generated-naming`'>\n","comments":"","outputs":1,"x":1250.38623046875,"y":813.7672729492188,"z":"c29cef13.e3d5d8","wires":[["1630cff4.056008","fd40616c.d3ea4"]]},{"id":"1630cff4.056008","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":1536.3862915039062,"y":813.1958618164062,"z":"c29cef13.e3d5d8","wires":[["f4621f21.a2a11"]]},{"id":"f4621f21.a2a11","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">\n","atomic":"true","comments":"","outputs":1,"x":1690.1363525390625,"y":815.69580078125,"z":"c29cef13.e3d5d8","wires":[["5a678ab9.2fce1c"]]},{"id":"fd40616c.d3ea4","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1555.608642578125,"y":902.1958618164062,"z":"c29cef13.e3d5d8","wires":[["bf700f18.196ef"]]},{"id":"bf700f18.196ef","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 in allotted-resource-model data. Ecomp-generated-naming should be true\" />\n\n","comments":"","x":1738.608642578125,"y":907.1958618164062,"z":"c29cef13.e3d5d8","wires":[]},{"id":"5a678ab9.2fce1c","type":"switchNode","name":"switch ar-model.ecomp-generated-naming","xml":"<switch test='`$ar-model.naming-policy`'>\n","comments":"","outputs":1,"x":1826.38623046875,"y":864.767333984375,"z":"c29cef13.e3d5d8","wires":[["4e249f82.48136","97ec05b1.e90f88"]]},{"id":"4e249f82.48136","type":"other","name":"outcome oam_network_policy","xml":"<outcome value='oam_network_policy'>\n","comments":"","outputs":1,"x":2201.244140625,"y":868.3453369140625,"z":"c29cef13.e3d5d8","wires":[["c9390e58.bb68c8"]]},{"id":"97ec05b1.e90f88","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2115.671875,"y":945.1958618164062,"z":"c29cef13.e3d5d8","wires":[["c9390e58.bb68c8"]]},{"id":"88881b26.fb7d38","type":"set","name":"set ar_name","xml":"<set>\n<parameter name='tmp.ar-name' value='$TenantOAMNetworkRole_$LandingNetworkRole_SZ' />\n","comments":"","x":2507.100830078125,"y":903.7672729492188,"z":"c29cef13.e3d5d8","wires":[]},{"id":"76abfc9.97d1a84","type":"execute","name":"execute SliStringUtils - replace TenantOAMNetworkRole","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ar-name`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-name\"/>\n <parameter name=\"target\" value=\"$TenantOAMNetworkRole\"/>\n <parameter name=\"replacement\" value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.untrusted-network-role`\"/>\n\n","comments":"","outputs":1,"x":2651.2437858581543,"y":947.6244196891785,"z":"c29cef13.e3d5d8","wires":[[]]},{"id":"ed2c81e9.2e91e8","type":"execute","name":"execute SliStringUtils - replace LandingNetworkRole","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ar-name`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-name\"/>\n <parameter name=\"target\" value=\"$LandingNetworkRole\"/>\n <parameter name=\"replacement\" value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.trusted-network-role`\"/>\n\n","comments":"","outputs":1,"x":2638.243896484375,"y":987.7672729492188,"z":"c29cef13.e3d5d8","wires":[[]]},{"id":"c9390e58.bb68c8","type":"block","name":"block: atomic","xml":"<block atomic='true'>\n","atomic":"false","comments":"","outputs":1,"x":2315.5292015075684,"y":943.3387522697449,"z":"c29cef13.e3d5d8","wires":[["88881b26.fb7d38","76abfc9.97d1a84","ed2c81e9.2e91e8","f84cf9b0.7188f"]]},{"id":"f84cf9b0.7188f","type":"set","name":"set identifiers.allotted-resource-name","xml":"<set>\n<parameter name='tx-ar-identifiers.allotted-resource-name' value='`$tmp.ar-name`' />\n","comments":"","x":2596.1005859375,"y":1038.052978515625,"z":"c29cef13.e3d5d8","wires":[]},{"id":"e31cc878.3632a","type":"set","name":"set assignments in overall structure","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.' \nvalue=\"`$tx-ar-assignments.`\" />\n\n\n","comments":"","x":1205.8624572753906,"y":1074.6246919631958,"z":"c29cef13.e3d5d8","wires":[]},{"id":"b8eb597f.e4b52","type":"set","name":"Handle tx-ar-assignments","xml":"<set>\n<parameter name='tx-ar-assignments.vni' value='`$tmp.vni`'/>\n<parameter name='tx-ar-assignments.vgmux-bearer-ip' value='`$tmp.vgmux-bearer-ip`'/>\n<parameter name='tx-ar-assignments.vgmux-lan-ip' value='`$tmp.vgmux-lan-ip`'/>\n\n","comments":"","x":1189.529052734375,"y":1020.0530395507812,"z":"c29cef13.e3d5d8","wires":[]},{"id":"4376dbb6.6e16c4","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":2223.8155822753906,"y":1348.0411586761475,"z":"c29cef13.e3d5d8","wires":[["da3b0b74.a6e568"]]},{"id":"56f6507f.26de7","type":"switchNode","name":"switch service-data.consumed-allotted-resources_length","xml":"<switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>\n","comments":"","outputs":1,"x":1252.8148498535156,"y":1236.505145072937,"z":"c29cef13.e3d5d8","wires":[["ddb5a763.1df178","691ec547.ee1574"]]},{"id":"ddb5a763.1df178","type":"other","name":"outcome Null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1630.2077865600586,"y":1240.1124458312988,"z":"c29cef13.e3d5d8","wires":[["a44492ce.2e3908"]]},{"id":"691ec547.ee1574","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1628.9577865600586,"y":1330.1124477386475,"z":"c29cef13.e3d5d8","wires":[["41a2ddf2.4f55c4"]]},{"id":"da3b0b74.a6e568","type":"switchNode","name":"switch allotted-resource-id","xml":"<switch test=\"`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n","comments":"","outputs":1,"x":2658.4106826782227,"y":1349.85085105896,"z":"c29cef13.e3d5d8","wires":[["b4288564.1e2e2"]]},{"id":"b4288564.1e2e2","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2865.220375061035,"y":1353.064962387085,"z":"c29cef13.e3d5d8","wires":[["eded98a3.21f45"]]},{"id":"41a2ddf2.4f55c4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1786.834976196289,"y":1336.4885501861572,"z":"c29cef13.e3d5d8","wires":[["4376dbb6.6e16c4","91cf9c53.dae668"]]},{"id":"eded98a3.21f45","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3033.4817276000977,"y":1357.9222631454468,"z":"c29cef13.e3d5d8","wires":[["f2db02fc.3ac3f","2f227815.6875b"]]},{"id":"a44492ce.2e3908","type":"set","name":"set cidx","xml":"<set>\n<parameter name='tmp.cidx' value=\"`0`\" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value=\"1\" />\n\n\n","comments":"","x":1809.0647735595703,"y":1242.3266830444336,"z":"c29cef13.e3d5d8","wires":[]},{"id":"f2db02fc.3ac3f","type":"set","name":"set tmp.cidx and ctx.consumed-ar","xml":"<set>\n<parameter name='tmp.cidx' value='`$cidx`' />\n<parameter name='ctx.consumed-ar.' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].`' />\n<parameter name='tmp.found-cidx' value='true' />","comments":"","x":3279.3391876220703,"y":1352.4937419891357,"z":"c29cef13.e3d5d8","wires":[]},{"id":"d7198f32.c664e8","type":"set","name":"set consumed allotted resources","xml":"<set>\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value=\"`$tmp.ar.self-link` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />\n\n","comments":"","x":1165.6720123291016,"y":1400.826681137085,"z":"c29cef13.e3d5d8","wires":[]},{"id":"d7380552.a9c53","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1565.910057067871,"y":1761.4815347194672,"z":"c29cef13.e3d5d8","wires":[["2bf804d6.1b13ec"]]},{"id":"2814978b.152d58","type":"comment","name":"Add SZ AR to mdsal","info":"","comments":"","x":1090.148208618164,"y":1736.1957080364227,"z":"c29cef13.e3d5d8","wires":[]},{"id":"e95c0e8b.7b1248","type":"execute","name":"execute getTime","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\n <parameter name=\"outputPath\" value=\"tmp.current-time\" />\n\n","comments":"","outputs":1,"x":1106.4814224243164,"y":1474.671986579895,"z":"c29cef13.e3d5d8","wires":[[]]},{"id":"735e650c.0ff434","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":826.57666015625,"y":418.4814453125,"z":"c29cef13.e3d5d8","wires":[["a53bbad0.d05ee8"]]},{"id":"39921a42.ea205e","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":774.57666015625,"y":914.2908325195312,"z":"c29cef13.e3d5d8","wires":[["b5f1a66c.e80ff","f495041c.cf2a78","c612b930.1cf6b8","e5f0b40c.f7347","320f47da.57618","14102754.2f6c51","407c544a.c6a19c","38287bd7.9e2524","64aabef8.7a73d8","b8eb597f.e4b52","e31cc878.3632a","56f6507f.26de7","d7198f32.c664e8","e95c0e8b.7b1248","497553dc.51cd54","60a883f0.bcb034","d07cdc4.42333a","1451bf9b.af76b8","17bdbcaa.47310b","23924a89.1c85be","a9a8df25.360928"]]},{"id":"b5f1a66c.e80ff","type":"set","name":"set id","xml":"<set>\n<parameter name='tx-ar.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='tx-ar.allotted-resource-status.action' value=\"`$tunnelxconn-topology-operation-input.request-information.request-action` \" />\n<parameter name='tx-ar.allotted-resource-status.rpc-name' value=\"tunnelxconn-topology-operation\" />\n<parameter name='tx-ar.allotted-resource-status.rpc-action' value=\"`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value=\"`$tunnelxconn-topology-operation-input.request-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value=\"`$tunnelxconn-topology-operation-input.sdnc-request-header.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value=\"`$tunnelxconn-topology-operation-input.service-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.' value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.` \" />","comments":"","x":1145.2434387207031,"y":424.433837890625,"z":"c29cef13.e3d5d8","wires":[]},{"id":"60a883f0.bcb034","type":"update","name":"update AAI allotted-resource","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"allotted-resource\" \n\t\tkey=\"customer.global-customer-id = $service-data.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $service-data.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $service-data.service-information.service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\"\n pfx='pfx' local-only='false' force='false'>\n\t<parameter name=\"description\" value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type`\" />\n\t<parameter name=\"selflink\" value=\"`$tmp.ar.self-link`\" />\n\t<parameter name=\"model-invariant-id\" value=\"`$ar-model.invariant-uuid`\" />\n\t<parameter name=\"model-version-id\" value=\"`$ar-model.uuid`\" />\n\t<parameter name=\"operational-status\" value=\"null\" />\n","comments":"","outputs":1,"x":1127.0529327392578,"y":1642.5767517089844,"z":"c29cef13.e3d5d8","wires":[["df395b50.238bb8","eeb033b6.d141e"]]},{"id":"df395b50.238bb8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1382.814842224121,"y":1625.5292553901672,"z":"c29cef13.e3d5d8","wires":[["861087a0.153ab8"]]},{"id":"861087a0.153ab8","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=\"AAI failed\" />\n","comments":"","x":1549.338722229004,"y":1637.1483263969421,"z":"c29cef13.e3d5d8","wires":[]},{"id":"eeb033b6.d141e","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1389.9101295471191,"y":1658.2912230491638,"z":"c29cef13.e3d5d8","wires":[["861087a0.153ab8"]]},{"id":"91cf9c53.dae668","type":"switchNode","name":"switch tmp.found-cidx","xml":"<switch test='`$tmp.found-cidx`'>\n","comments":"","outputs":1,"x":2038.743423461914,"y":1594.2315921783447,"z":"c29cef13.e3d5d8","wires":[["80f9a157.bbe228"]]},{"id":"80f9a157.bbe228","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2228.743377685547,"y":1594.2315292358398,"z":"c29cef13.e3d5d8","wires":[["605822b2.0a83c4"]]},{"id":"605822b2.0a83c4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2394.743377685547,"y":1594.2315292358398,"z":"c29cef13.e3d5d8","wires":[["ca25698a.78028"]]},{"id":"ca25698a.78028","type":"set","name":"set tmp.cidx ","xml":"<set>\n<parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />\n","comments":"","x":2640.600706100464,"y":1594.8030033111572,"z":"c29cef13.e3d5d8","wires":[]},{"id":"2f227815.6875b","type":"break","name":"break","xml":"<break>\n","comments":"","x":3198.243408203125,"y":1397.731689453125,"z":"c29cef13.e3d5d8","wires":[]},{"id":"2bf804d6.1b13ec","type":"execute","name":"execute RestApiCallNode - Update parent provided service AR","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />\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='DELETE' />\n <parameter name=\"responsePrefix\" value=\"parent\" />\n\n","comments":"","outputs":1,"x":1916.9521980285645,"y":1761.1904199123383,"z":"c29cef13.e3d5d8","wires":[["193e2f60.7d9e81","8877f57e.888c98","a9bea253.65b4a"]]},{"id":"f021e3bb.033ca","type":"comment","name":"Rollback parent","info":"","comments":"","x":1760.9521255493164,"y":1730.8570504188538,"z":"c29cef13.e3d5d8","wires":[]},{"id":"193e2f60.7d9e81","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2288.2602462768555,"y":1821.8553862571716,"z":"c29cef13.e3d5d8","wires":[["5ec6265b.8cb5d8"]]},{"id":"8877f57e.888c98","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2279.26029586792,"y":1790.3554120063782,"z":"c29cef13.e3d5d8","wires":[["5ec6265b.8cb5d8"]]},{"id":"a9bea253.65b4a","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2283.0103340148926,"y":1760.7125168815255,"z":"c29cef13.e3d5d8","wires":[["5ec6265b.8cb5d8"]]},{"id":"5ec6265b.8cb5d8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2424.666301727295,"y":1756.9046860709786,"z":"c29cef13.e3d5d8","wires":[[]]},{"id":"54cbf738.cbd81","type":"comment","name":"Generate naming","info":"","comments":"","x":1181.3862762451172,"y":771.7672252655029,"z":"c29cef13.e3d5d8","wires":[]},{"id":"2334bb07.ed3ebc","type":"get-resource","name":"get-resource tunnelxconn-allotted-resource","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/$tunnelxconn-topology-operation-input.alloted-resource-information.allotted-resource-id' pfx='mdsal-ar' >\n","comments":"","outputs":1,"x":526,"y":372,"z":"c29cef13.e3d5d8","wires":[["7927a826.f8f1b","735e650c.0ff434"]]},{"id":"9391ddc8.bf5ea","type":"execute","name":"execute Properties","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":602,"y":261,"z":"c29cef13.e3d5d8","wires":[[]]},{"id":"a53bbad0.d05ee8","type":"get-resource","name":"get-resource parent service instance","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services/service/$tmp.ar.parent-service-instance-id' pfx='mdsal-parent-service-instance' >\n","comments":"","outputs":1,"x":639,"y":521,"z":"c29cef13.e3d5d8","wires":[["1c82d68a.81b5e1","e03911fc.6a3c8"]]},{"id":"1c82d68a.81b5e1","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":902,"y":515,"z":"c29cef13.e3d5d8","wires":[["39921a42.ea205e"]]},{"id":"e03911fc.6a3c8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":715,"y":616,"z":"c29cef13.e3d5d8","wires":[["fffb2361.a3a2b8"]]},{"id":"fffb2361.a3a2b8","type":"returnFailure","name":"return failure - tunnelxconn already exists","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\" \n value=\"`'No entry found for parent service instance id ' + $tmp.ar.parent-service-instance-id + '.'`\" />\n","comments":"","x":642,"y":677,"z":"c29cef13.e3d5d8","wires":[]},{"id":"23924a89.1c85be","type":"for","name":"for vf module parameters","xml":"<for index='curparm' start='0' end='`$parent-service-instance.service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameter.param_length`' >\n","comments":"","outputs":1,"x":1176,"y":967,"z":"c29cef13.e3d5d8","wires":[["ad9071a3.b4a0a8"]]},{"id":"ad9071a3.b4a0a8","type":"switchNode","name":"switch parameter name","xml":"<switch test='$parent-service-instance.service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameter.param[$curparm].name'>\n","comments":"","outputs":1,"x":1446,"y":966,"z":"c29cef13.e3d5d8","wires":[["f47ff540.ec451","7d2a4f55.aa0bd"]]},{"id":"f47ff540.ec451","type":"other","name":"vGMUX_Bearer_IP","xml":"<outcome value='vGMUX_Bearer_IP'>\n","comments":"","outputs":1,"x":1672,"y":970,"z":"c29cef13.e3d5d8","wires":[["e88342e.05cd1c"]]},{"id":"e88342e.05cd1c","type":"set","name":"set tmp.vgmux-bearer-ip","xml":"<set>\n<parameter name='tmp.vgmux-bearer-ip' value='`$parent-service-instance.service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameter.param[$curparm].value`'>\n`' />\n","comments":"","x":1915,"y":971,"z":"c29cef13.e3d5d8","wires":[]},{"id":"7d2a4f55.aa0bd","type":"other","name":"vGMUX_LAN_IP","xml":"<outcome value='vGMUX_LAN_IP'>\n","comments":"","outputs":1,"x":1674,"y":1030,"z":"c29cef13.e3d5d8","wires":[["7cfcb230.1feb74"]]},{"id":"7cfcb230.1feb74","type":"set","name":"set tmp.vgmux-lan-ip","xml":"<set>\n<parameter name='tmp.vgmux-lan-ip' value='`$parent-service-instance.service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameter.param[$curparm].value`'>\n`' />\n","comments":"","x":1917,"y":1031,"z":"c29cef13.e3d5d8","wires":[]},{"id":"a9a8df25.360928","type":"set","name":"set default assignments","xml":"<set>\n<parameter name='tmp.vni' value='123' />\n<parameter name='tmp.vgmux-bearer-ip' value='127.0.0.1' />\n<parameter name='tmp.vgmux-lan-ip' value='127.0.0.1' />","comments":"","x":1160,"y":916,"z":"c29cef13.e3d5d8","wires":[]},{"id":"2a1bf6fd.d6a2f2","type":"execute","name":"generate allotted-resource url","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.tx-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n","comments":"","outputs":1,"x":609,"y":301,"z":"c29cef13.e3d5d8","wires":[[]]}]
+[{"id":"e5a03d9a.1edde","type":"dgstart","name":"DGSTART","outputs":1,"x":168,"y":90,"z":"4627aafc.0cf754","wires":[["1a45e32c.7eec9d"]]},{"id":"1a45e32c.7eec9d","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":264.2380790710449,"y":150.95239067077637,"z":"4627aafc.0cf754","wires":[["8c562652.9938c"]]},{"id":"8c562652.9938c","type":"method","name":"tunnelxconn-topology-operation-assign","xml":"<method rpc='tunnelxconn-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":315.15485763549805,"y":186.19044589996338,"z":"4627aafc.0cf754","wires":[["127b33d3.348d44"]]},{"id":"127b33d3.348d44","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":218.47619247436523,"y":329.5237879753113,"z":"4627aafc.0cf754","wires":[["ed41c58b.0de058","40c517df.179a68","31364232.805fa6","9e41c4b2.1cbae8","f542b0.6e96f55"]]},{"id":"af6119f3.dfb79","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":1061.6666564941406,"y":2256.5477046966553,"z":"4627aafc.0cf754","wires":[]},{"id":"358d6fd4.61c","type":"set","name":"set output to api handler","xml":"<set>\n<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />\n<parameter name='tunnelxconn-object-path' value=\"`$tmp.ar.self-link`\"/>\n<parameter name='service-object-path' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $tunnelxconn-topology-operation-input.service-information.service-instance-id\n + '/service-data/service-topology/'`\"/>\n \n","comments":"","x":1098.7540550231934,"y":2135.432439804077,"z":"4627aafc.0cf754","wires":[]},{"id":"a3bcd19.c7f583","type":"set","name":"set allotted-resource-oper-status","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingCreate' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tunnelxconn-topology-operation-input.request-information.request-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-request-id`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />\n","comments":"","x":1170.468376159668,"y":1552.6228160858154,"z":"4627aafc.0cf754","wires":[]},{"id":"40c517df.179a68","type":"set","name":"set tmp.ar.self-link","xml":"<set>\n<parameter name='tmp.ar.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/'\n + $tmp.ar.allotted-resource-id\n + '/allotted-resource-data/tunnelxconn-topology/'` \" />\n\n","comments":"","x":664.738037109375,"y":197.33331298828125,"z":"4627aafc.0cf754","wires":[]},{"id":"ed41c58b.0de058","type":"set","name":"set tmp.ar.allotted-resource-id,etc","xml":"<set>\n<parameter name='tmp.ar.allotted-resource-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-id`' />\n<parameter name='tmp.ar.parent-service-instance-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />\n\n\n","comments":"","x":712.997314453125,"y":153.59259033203125,"z":"4627aafc.0cf754","wires":[]},{"id":"bb3b1063.64e5e","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":851.8148803710938,"y":369.26727294921875,"z":"4627aafc.0cf754","wires":[["18d55063.8f2ed8"]]},{"id":"b4db148.3666b68","type":"execute","name":"execute RestApiCallNode - PUT AR by id","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.tx.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\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='PUT' />\n <parameter name=\"responsePrefix\" value=\"mdsal-ar\" />\n\n","comments":"","outputs":1,"x":1191.8626251220703,"y":1777.1008231639862,"z":"4627aafc.0cf754","wires":[["849359cb.597c6","492cd67b.f3ce88","180f6e96.404e19"]]},{"id":"849359cb.597c6","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1460.5040016174316,"y":1828.4322349056602,"z":"4627aafc.0cf754","wires":[["ba0327fc.aba8b8"]]},{"id":"492cd67b.f3ce88","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1451.504051208496,"y":1796.9322606548667,"z":"4627aafc.0cf754","wires":[["ba0327fc.aba8b8"]]},{"id":"180f6e96.404e19","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1455.2540893554688,"y":1767.289365530014,"z":"4627aafc.0cf754","wires":[["d14af406.4287f"]]},{"id":"ba0327fc.aba8b8","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 updating md-sal for tunnelxconn-allotted-resource\" />\n","comments":"","x":1621.2540893554688,"y":1797.6822844967246,"z":"4627aafc.0cf754","wires":[]},{"id":"5be54f87.d14c2","type":"set","name":"set oper-status","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tx-ar.allotted-resource-status.rpc-action`' />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />\n\n","comments":"","x":1201.5294189453125,"y":470.05291748046875,"z":"4627aafc.0cf754","wires":[]},{"id":"a2ba5660.2c2fb8","type":"comment","name":"Save consumed-allotted-resources to mdsal","info":"","comments":"","x":1228.2435302734375,"y":1292.7196044921875,"z":"4627aafc.0cf754","wires":[]},{"id":"8b6a893a.d008b8","type":"comment","name":"GET tunnelxconn-allotted-resource from mdsal","info":"","comments":"","x":574.8148193359375,"y":339.7672119140625,"z":"4627aafc.0cf754","wires":[]},{"id":"18d55063.8f2ed8","type":"returnFailure","name":"return failure - tunnelxconn already exists","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\" \n value=\"`'Existing tunnelxconn-allotted-resource with order status of ' + $mdsal-ar.tunnelxconn-allotted-resource.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`\" />\n","comments":"","x":1161.129150390625,"y":364.6243896484375,"z":"4627aafc.0cf754","wires":[]},{"id":"f11c5b51.4f3278","type":"set","name":"set tx-ar-identifiers","xml":"<set>\n<parameter name='tx-ar-identifiers.consuming-service-instance-id' value=\"`$tunnelxconn-topology-operation-input.service-information.service-instance-id` \" />\n<parameter name='tx-ar-identifiers.parent-service-instance-id' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id` \" />\n<parameter name='tx-ar-identifiers.allotted-resource-type' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='tx-ar-identifiers.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n\n","comments":"","x":1211.38623046875,"y":563.6243896484375,"z":"4627aafc.0cf754","wires":[]},{"id":"a0f58fcb.d9b998","type":"comment","name":"Set allotted-resource-identifiers","info":"","comments":"","x":1238.338623046875,"y":522.338623046875,"z":"4627aafc.0cf754","wires":[]},{"id":"47fd678a.738f08","type":"set","name":"set identifiers in overall structure","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.' value=\"`$tx-ar-identifiers.`\" />\n\n\n","comments":"","x":1228.38623046875,"y":871.910400390625,"z":"4627aafc.0cf754","wires":[]},{"id":"3081a28c.9b5c36","type":"set","name":"set ecomp model information from input","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.' \nvalue=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.`\" />\n\n\n","comments":"","x":1256.957763671875,"y":606.9100952148438,"z":"4627aafc.0cf754","wires":[]},{"id":"c627ed39.e1aaf8","type":"switchNode","name":"switch model-invariant-uuid is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid'>\n","comments":"","outputs":1,"x":1237.8148193359375,"y":646.195809841156,"z":"4627aafc.0cf754","wires":[["37aaff9b.6ef948"]]},{"id":"37aaff9b.6ef948","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1464.9576988220215,"y":647.6243271827698,"z":"4627aafc.0cf754","wires":[["d4ace565.3a0d58"]]},{"id":"d4ace565.3a0d58","type":"set","name":"set model-invariant-uuid","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-invariant-uuid' \nvalue=\"`$ar-model.invariant-uuid`\" />\n\n\n","comments":"","x":1666.38627243042,"y":647.0528798103333,"z":"4627aafc.0cf754","wires":[]},{"id":"11faa499.f9d22b","type":"switchNode","name":"switch model-uuid is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid'>\n","comments":"","outputs":1,"x":1209.2434158325195,"y":680.4815106391907,"z":"4627aafc.0cf754","wires":[["d5fa1186.86df"]]},{"id":"d5fa1186.86df","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1410.6719818115234,"y":681.0529322624207,"z":"4627aafc.0cf754","wires":[["10be4dfe.844d32"]]},{"id":"10be4dfe.844d32","type":"set","name":"set model-uuid","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-uuid' \nvalue=\"`$ar-model.uuid`\" />\n\n\n","comments":"","x":1603.529140472412,"y":681.0528540611267,"z":"4627aafc.0cf754","wires":[]},{"id":"77e8e0e0.62c46","type":"switchNode","name":"switch model-version is null","xml":"<switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-version'>\n","comments":"","outputs":1,"x":1217.8148193359375,"y":713.3386378288269,"z":"4627aafc.0cf754","wires":[["2d586a06.2b22fe"]]},{"id":"2d586a06.2b22fe","type":"outcome","name":"outcome null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1467.8148002624512,"y":713.3386225700378,"z":"4627aafc.0cf754","wires":[["8505026a.4f24f8"]]},{"id":"8505026a.4f24f8","type":"set","name":"set model-version","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-version' \nvalue=\"`$ar-model.version`\" />\n\n\n","comments":"","x":1660.6719589233398,"y":713.3385443687439,"z":"4627aafc.0cf754","wires":[]},{"id":"520caffa.1e3b98","type":"switchNode","name":"switch ar-model.ecomp-generated-naming","xml":"<switch test='`$ar-model.ecomp-generated-naming`'>\n","comments":"","outputs":1,"x":1281.38623046875,"y":815.7672729492188,"z":"4627aafc.0cf754","wires":[["77882b56.1c8fc4","554f7f59.f93b78"]]},{"id":"77882b56.1c8fc4","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":1567.3862915039062,"y":815.1958618164062,"z":"4627aafc.0cf754","wires":[["6920c7dc.a2a58"]]},{"id":"6920c7dc.a2a58","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">\n","atomic":"true","comments":"","outputs":1,"x":1721.1363525390625,"y":817.69580078125,"z":"4627aafc.0cf754","wires":[["d8057468.473a48"]]},{"id":"554f7f59.f93b78","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1586.608642578125,"y":904.1958618164062,"z":"4627aafc.0cf754","wires":[["ac09c984.93c9a8"]]},{"id":"ac09c984.93c9a8","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 in allotted-resource-model data. Ecomp-generated-naming should be true\" />\n\n","comments":"","x":1769.608642578125,"y":909.1958618164062,"z":"4627aafc.0cf754","wires":[]},{"id":"d8057468.473a48","type":"switchNode","name":"switch ar-model.ecomp-generated-naming","xml":"<switch test='`$ar-model.naming-policy`'>\n","comments":"","outputs":1,"x":1857.38623046875,"y":866.767333984375,"z":"4627aafc.0cf754","wires":[["ea4f625c.daf458","dd389be2.410d38"]]},{"id":"ea4f625c.daf458","type":"other","name":"outcome oam_network_policy","xml":"<outcome value='oam_network_policy'>\n","comments":"","outputs":1,"x":2232.244140625,"y":870.3453369140625,"z":"4627aafc.0cf754","wires":[["6fa0da80.617c04"]]},{"id":"dd389be2.410d38","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2146.671875,"y":947.1958618164062,"z":"4627aafc.0cf754","wires":[["6fa0da80.617c04"]]},{"id":"d20fc560.51ea78","type":"set","name":"set ar_name","xml":"<set>\n<parameter name='tmp.ar-name' value='$TenantOAMNetworkRole_$LandingNetworkRole_SZ' />\n","comments":"","x":2538.100830078125,"y":905.7672729492188,"z":"4627aafc.0cf754","wires":[]},{"id":"e41782e3.e0f368","type":"execute","name":"execute SliStringUtils - replace TenantOAMNetworkRole","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ar-name`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-name\"/>\n <parameter name=\"target\" value=\"$TenantOAMNetworkRole\"/>\n <parameter name=\"replacement\" value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.untrusted-network-role`\"/>\n\n","comments":"","outputs":1,"x":2682.2437858581543,"y":949.6244196891785,"z":"4627aafc.0cf754","wires":[[]]},{"id":"e75f6e33.825248","type":"execute","name":"execute SliStringUtils - replace LandingNetworkRole","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.ar-name`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-name\"/>\n <parameter name=\"target\" value=\"$LandingNetworkRole\"/>\n <parameter name=\"replacement\" value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.trusted-network-role`\"/>\n\n","comments":"","outputs":1,"x":2669.243896484375,"y":989.7672729492188,"z":"4627aafc.0cf754","wires":[[]]},{"id":"6fa0da80.617c04","type":"block","name":"block: atomic","xml":"<block atomic='true'>\n","atomic":"false","comments":"","outputs":1,"x":2346.5292015075684,"y":945.3387522697449,"z":"4627aafc.0cf754","wires":[["d20fc560.51ea78","e41782e3.e0f368","e75f6e33.825248","8c24a151.c736c"]]},{"id":"8c24a151.c736c","type":"set","name":"set identifiers.allotted-resource-name","xml":"<set>\n<parameter name='tx-ar-identifiers.allotted-resource-name' value='`$tmp.ar-name`' />\n","comments":"","x":2627.1005859375,"y":1040.052978515625,"z":"4627aafc.0cf754","wires":[]},{"id":"e36ad273.011c6","type":"set","name":"set assignments in overall structure","xml":"<set>\n<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.' \nvalue=\"`$tx-ar-assignments.`\" />\n\n\n","comments":"","x":1213.8624267578125,"y":1238.6246337890625,"z":"4627aafc.0cf754","wires":[]},{"id":"ef696041.5b90d8","type":"set","name":"Handle tx-ar-assignments","xml":"<set>\n<parameter name='tx-ar-assignments.vni' value='`$tmp.manage-vni.vni`'/>\n<parameter name='tx-ar-assignments.vgmux-bearer-ip' value='`$tmp.vgmux-bearer-ip`'/>\n<parameter name='tx-ar-assignments.vgmux-lan-ip' value='`$tmp.vgmux-lan-ip`'/>\n<parameter name='tx-ar-assignments.vgw-private-ip-0' value='`$tmp.manage-ipaddr.ip`'/>\n\n","comments":"","x":1182.529052734375,"y":1194.052978515625,"z":"4627aafc.0cf754","wires":[]},{"id":"81c7c31a.0b9c08","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":2254.8155822753906,"y":1350.0411586761475,"z":"4627aafc.0cf754","wires":[["a8fdd019.115188"]]},{"id":"b4784ddb.aece58","type":"switchNode","name":"switch service-data.consumed-allotted-resources_length","xml":"<switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>\n","comments":"","outputs":1,"x":1260.8148193359375,"y":1343.505126953125,"z":"4627aafc.0cf754","wires":[["45dcd74.e909ba8","69f40501.d12704"]]},{"id":"45dcd74.e909ba8","type":"other","name":"outcome Null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":1661.207763671875,"y":1322.1124267578125,"z":"4627aafc.0cf754","wires":[["a82537c1.99c678"]]},{"id":"69f40501.d12704","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1653.957763671875,"y":1403.1124267578125,"z":"4627aafc.0cf754","wires":[["ec015624.23587"]]},{"id":"a8fdd019.115188","type":"switchNode","name":"switch allotted-resource-id","xml":"<switch test=\"`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`\">\n\n","comments":"","outputs":1,"x":2689.4106826782227,"y":1351.85085105896,"z":"4627aafc.0cf754","wires":[["9616a8f.73197d8"]]},{"id":"9616a8f.73197d8","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":2896.220375061035,"y":1355.064962387085,"z":"4627aafc.0cf754","wires":[["2403ce35.8da102"]]},{"id":"ec015624.23587","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1820.8349609375,"y":1397.488525390625,"z":"4627aafc.0cf754","wires":[["81c7c31a.0b9c08","e31fed63.529bb8"]]},{"id":"2403ce35.8da102","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3064.4817276000977,"y":1359.9222631454468,"z":"4627aafc.0cf754","wires":[["ed794a09.288b9"]]},{"id":"a82537c1.99c678","type":"set","name":"set cidx","xml":"<set>\n<parameter name='tmp.cidx' value=\"`0`\" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value=\"1\" />\n\n\n","comments":"","x":1846.0648193359375,"y":1325.32666015625,"z":"4627aafc.0cf754","wires":[]},{"id":"ed794a09.288b9","type":"set","name":"set tmp.cidx and ctx.consumed-ar","xml":"<set>\n<parameter name='tmp.cidx' value='`$cidx`' />\n<parameter name='ctx.consumed-ar.' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].`' />\n<parameter name='tmp.found-cidx' value='true' />","comments":"","x":3310.3391876220703,"y":1354.4937419891357,"z":"4627aafc.0cf754","wires":[]},{"id":"24131551.a54552","type":"set","name":"set consumed allotted resources","xml":"<set>\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value=\"`$tmp.ar.self-link` \" />\n<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />\n\n","comments":"","x":1196.6720123291016,"y":1402.826681137085,"z":"4627aafc.0cf754","wires":[]},{"id":"d14af406.4287f","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":1596.910057067871,"y":1763.4815347194672,"z":"4627aafc.0cf754","wires":[["3f3ebeb1.b63712"]]},{"id":"468bfff8.9cedd","type":"comment","name":"Add SZ AR to mdsal","info":"","comments":"","x":1121.148208618164,"y":1738.1957080364227,"z":"4627aafc.0cf754","wires":[]},{"id":"790cd2d4.165b2c","type":"execute","name":"execute getTime","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >\n <parameter name=\"outputPath\" value=\"tmp.current-time\" />\n\n","comments":"","outputs":1,"x":1137.4814224243164,"y":1476.671986579895,"z":"4627aafc.0cf754","wires":[[]]},{"id":"c56eedac.e7ffe8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":857.57666015625,"y":420.4814453125,"z":"4627aafc.0cf754","wires":[["342ab637.9d2c12"]]},{"id":"4de43800.b85998","type":"block","name":"block: atomic","xml":"<block atomic=\"true\">\n","atomic":"false","comments":"","outputs":1,"x":805.57666015625,"y":916.2908325195312,"z":"4627aafc.0cf754","wires":[["24131551.a54552","790cd2d4.165b2c","a3bcd19.c7f583","b4db148.3666b68","358d6fd4.61c","af6119f3.dfb79","f425ba40.7115f8","5be54f87.d14c2","f11c5b51.4f3278","3081a28c.9b5c36","c627ed39.e1aaf8","11faa499.f9d22b","77e8e0e0.62c46","520caffa.1e3b98","47fd678a.738f08","cebf3b05.8ecc9","75aa99cd.2bc41","9dbd9cc2.7689e","ef696041.5b90d8","e36ad273.011c6","b4784ddb.aece58","cd0dd524.fb0c78","1433ef16.581949","2d580163.5c930e"]]},{"id":"f425ba40.7115f8","type":"set","name":"set id","xml":"<set>\n<parameter name='tx-ar.allotted-resource-id' value=\"`$tmp.ar.allotted-resource-id` \" />\n<parameter name='tx-ar.allotted-resource-status.action' value=\"`$tunnelxconn-topology-operation-input.request-information.request-action` \" />\n<parameter name='tx-ar.allotted-resource-status.rpc-name' value=\"tunnelxconn-topology-operation\" />\n<parameter name='tx-ar.allotted-resource-status.rpc-action' value=\"`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value=\"`$tunnelxconn-topology-operation-input.request-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value=\"`$tunnelxconn-topology-operation-input.sdnc-request-header.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value=\"`$tunnelxconn-topology-operation-input.service-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.` \" />\n<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.' value=\"`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.` \" />","comments":"","x":1176.2434387207031,"y":426.433837890625,"z":"4627aafc.0cf754","wires":[]},{"id":"2d580163.5c930e","type":"update","name":"update AAI allotted-resource","xml":"<update plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"allotted-resource\" \n\t\tkey=\"customer.global-customer-id = $service-data.service-information.global-customer-id AND\n\t\t\tservice-subscription.service-type = $service-data.service-information.subscription-service-type AND\n\t\t\tservice-instance.service-instance-id = $service-data.service-information.service-instance-id AND\n\t\t\tallotted-resource.id = $tmp.ar.allotted-resource-id\"\n pfx='pfx' local-only='false' force='false'>\n\t<parameter name=\"description\" value=\"`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type`\" />\n\t<parameter name=\"selflink\" value=\"`$tmp.ar.self-link`\" />\n\t<parameter name=\"model-invariant-id\" value=\"`$ar-model.invariant-uuid`\" />\n\t<parameter name=\"model-version-id\" value=\"`$ar-model.uuid`\" />\n\t<parameter name=\"operational-status\" value=\"null\" />\n","comments":"","outputs":1,"x":1146.052978515625,"y":1626.5767822265625,"z":"4627aafc.0cf754","wires":[["abe0caa5.373ae8","b2e9c1e.d54a94"]]},{"id":"abe0caa5.373ae8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1413.814842224121,"y":1627.5292553901672,"z":"4627aafc.0cf754","wires":[["43ff6c37.a7022c"]]},{"id":"43ff6c37.a7022c","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=\"AAI failed\" />\n","comments":"","x":1580.338722229004,"y":1639.1483263969421,"z":"4627aafc.0cf754","wires":[]},{"id":"b2e9c1e.d54a94","type":"failure","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1420.9101295471191,"y":1660.2912230491638,"z":"4627aafc.0cf754","wires":[["43ff6c37.a7022c"]]},{"id":"e31fed63.529bb8","type":"switchNode","name":"switch tmp.found-cidx","xml":"<switch test='`$tmp.found-cidx`'>\n","comments":"","outputs":1,"x":2069.743423461914,"y":1596.2315921783447,"z":"4627aafc.0cf754","wires":[["e9a982b1.ef58e"]]},{"id":"e9a982b1.ef58e","type":"outcomeTrue","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":2259.743377685547,"y":1596.2315292358398,"z":"4627aafc.0cf754","wires":[["157da3f3.93a6e4"]]},{"id":"157da3f3.93a6e4","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2425.743377685547,"y":1596.2315292358398,"z":"4627aafc.0cf754","wires":[["ca0674a1.25423"]]},{"id":"ca0674a1.25423","type":"set","name":"set tmp.cidx ","xml":"<set>\n<parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />\n","comments":"","x":2671.600706100464,"y":1596.8030033111572,"z":"4627aafc.0cf754","wires":[]},{"id":"b3603aa4.6cf16","type":"break","name":"break","xml":"<break/>\n","comments":"","x":3229.243408203125,"y":1399.731689453125,"z":"4627aafc.0cf754","wires":[]},{"id":"3f3ebeb1.b63712","type":"execute","name":"execute RestApiCallNode - Update parent provided service AR","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='templateFileName' value=\"`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`\" />\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />\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='DELETE' />\n <parameter name=\"responsePrefix\" value=\"parent\" />\n\n","comments":"","outputs":1,"x":1947.9521980285645,"y":1763.1904199123383,"z":"4627aafc.0cf754","wires":[["2c401ba8.1dd6a4","ba3898d2.1f6628","2e69c41e.18f424"]]},{"id":"33f3cbe9.733ea4","type":"comment","name":"Rollback parent","info":"","comments":"","x":1791.9521255493164,"y":1732.8570504188538,"z":"4627aafc.0cf754","wires":[]},{"id":"2c401ba8.1dd6a4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2319.2602462768555,"y":1823.8553862571716,"z":"4627aafc.0cf754","wires":[["5c77461f.eab298"]]},{"id":"ba3898d2.1f6628","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":2310.26029586792,"y":1792.3554120063782,"z":"4627aafc.0cf754","wires":[["5c77461f.eab298"]]},{"id":"2e69c41e.18f424","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2314.0103340148926,"y":1762.7125168815255,"z":"4627aafc.0cf754","wires":[["5c77461f.eab298"]]},{"id":"5c77461f.eab298","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2455.666301727295,"y":1758.9046860709786,"z":"4627aafc.0cf754","wires":[[]]},{"id":"33d27b3b.1ed984","type":"comment","name":"Generate naming","info":"","comments":"","x":1212.3862762451172,"y":773.7672252655029,"z":"4627aafc.0cf754","wires":[]},{"id":"c715248e.047aa8","type":"get-resource","name":"get-resource tunnelxconn-allotted-resource","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key=\"tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-id/\" pfx='mdsal-ar' >\n","comments":"","outputs":1,"x":557,"y":374,"z":"4627aafc.0cf754","wires":[[]]},{"id":"31364232.805fa6","type":"execute","name":"execute Properties","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\n <parameter name='contextPrefix' value='prop' />\n","comments":"","outputs":1,"x":657,"y":242,"z":"4627aafc.0cf754","wires":[[]]},{"id":"342ab637.9d2c12","type":"get-resource","name":"get-resource parent service instance","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='VNF-API' key='vnfs/vnf-list/$tmp.ar.parent-service-instance-id/' pfx='parent-service-instance' >\n","comments":"","outputs":1,"x":670,"y":523,"z":"4627aafc.0cf754","wires":[["231a36e0.5b5c92","fa70aaf0.7e7e58"]]},{"id":"fa70aaf0.7e7e58","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":933,"y":517,"z":"4627aafc.0cf754","wires":[["4de43800.b85998"]]},{"id":"231a36e0.5b5c92","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":746,"y":618,"z":"4627aafc.0cf754","wires":[["ef5be56d.68e6b8"]]},{"id":"ef5be56d.68e6b8","type":"returnFailure","name":"return failure - parent service instance not found","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\" \n value=\"`'No entry found for parent service instance id ' + $tmp.ar.parent-service-instance-id + '.'`\" />\n","comments":"","x":673,"y":679,"z":"4627aafc.0cf754","wires":[]},{"id":"59cf2993.ef07d","type":"for","name":"for parent vnf parameters","xml":"<for index='curparm' start='0' end='`$parent-service-instance.service-data.vnf-topology.vnf-parameters_length`' >\n","comments":"","outputs":1,"x":1723,"y":963,"z":"4627aafc.0cf754","wires":[["9a20a584.dd26e"]]},{"id":"9a20a584.dd26e","type":"switchNode","name":"switch parameter name","xml":"<switch test='$parent-service-instance.service-data.vnf-topology.vnf-parameters[$curidx].vnf-parameter-name'>\n","comments":"","outputs":1,"x":1845,"y":1055,"z":"4627aafc.0cf754","wires":[["45008daf.13f0f4","89c3773d.20de38"]]},{"id":"45008daf.13f0f4","type":"other","name":"vgmux_private_ip_0","xml":"<outcome value='vgmux_private_ip_0'>\n","comments":"","outputs":1,"x":2071,"y":1059,"z":"4627aafc.0cf754","wires":[["add12901.13946"]]},{"id":"add12901.13946","type":"set","name":"set tmp.vgmux-bearer-ip","xml":"<set>\n<parameter name='tmp.vgmux-bearer-ip' value='`$parent-service-instance.service-data.vnf-topology.vnf-parameters[$curidx].vnf-parameter-value`'/>\n\n","comments":"","x":2314,"y":1060,"z":"4627aafc.0cf754","wires":[]},{"id":"89c3773d.20de38","type":"other","name":"vgmux_private_ip_2","xml":"<outcome value='vgmux_private_ip_2'>\n","comments":"","outputs":1,"x":2073,"y":1119,"z":"4627aafc.0cf754","wires":[["f5b75cdc.b16da8"]]},{"id":"f5b75cdc.b16da8","type":"set","name":"set tmp.vgmux-lan-ip","xml":"<set>\n<parameter name='tmp.vgmux-lan-ip' value='`$parent-service-instance.service-data.vnf-topology.vnf-parameters[$curidx].vnf-parameter-value`'/>\n\n","comments":"","x":2316,"y":1120,"z":"4627aafc.0cf754","wires":[]},{"id":"cebf3b05.8ecc9","type":"set","name":"set default assignments","xml":"<set>\n<parameter name='tmp.vni' value='123' />\n<parameter name='tmp.vgmux-bearer-ip' value='127.0.0.1' />\n<parameter name='tmp.vgmux-lan-ip' value='127.0.0.1' />","comments":"","x":1203,"y":917,"z":"4627aafc.0cf754","wires":[]},{"id":"9e41c4b2.1cbae8","type":"execute","name":"generate allotted-resource url","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$prop.restapi.tx-allottedresource`\"/>\n <parameter name=\"outputPath\" value=\"tmp.ar-url\"/>\n <parameter name=\"target\" value=\"{allotted-resource-id}\"/>\n <parameter name=\"replacement\" value=\"`$tmp.ar.allotted-resource-id`\"/>\n","comments":"","outputs":1,"x":653,"y":285,"z":"4627aafc.0cf754","wires":[[]]},{"id":"9dbd9cc2.7689e","type":"call","name":"call GENERIC-RESOURCE-API:manage-vni-assignment","xml":"<call module='GENERIC-RESOURCE-API' rpc='manage-vni-assignment' mode='sync' >\n","comments":"","outputs":1,"x":1290,"y":1062,"z":"4627aafc.0cf754","wires":[[]]},{"id":"75aa99cd.2bc41","type":"set","name":"set actions = reserve, pools = VNI, VGW","xml":"<set>\n<parameter name='tmp.manage-vni.action' value='reserve' />\n<parameter name='tmp.manage-ipaddr.action' value='reserve' />\n<parameter name='tmp.manage-vni.pool' value='VNI'/>\n<parameter name='tmp.manage-ipaddr.pool' value='VGW'/>","comments":"","x":1226,"y":1008,"z":"4627aafc.0cf754","wires":[]},{"id":"f542b0.6e96f55","type":"execute","name":"execute RestApiCallNode - Get AR by id","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\n <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />\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":577,"y":420,"z":"4627aafc.0cf754","wires":[["bb3b1063.64e5e","c56eedac.e7ffe8"]]},{"id":"cd0dd524.fb0c78","type":"switchNode","name":"Does parent service instance have vnf parameters?","xml":"<switch test=\"$parent-service-instance.service-data.vnf-topology.vnf-parameters_length != ''\">\n","comments":"","outputs":1,"x":1270,"y":958,"z":"4627aafc.0cf754","wires":[["9a6edde3.28567"]]},{"id":"9a6edde3.28567","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1532,"y":960,"z":"4627aafc.0cf754","wires":[["59cf2993.ef07d"]]},{"id":"1433ef16.581949","type":"call","name":"call GENERIC-RESOURCE-API:manage-ipaddr-assignment","xml":"<call module='GENERIC-RESOURCE-API' rpc='manage-ipaddr-assignment' mode='sync' >\n","comments":"","outputs":1,"x":1286,"y":1109,"z":"4627aafc.0cf754","wires":[[]]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-tunnelxconn-input.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-tunnelxconn-input.json
index 96caf1e6..03999446 100644
--- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-tunnelxconn-input.json
+++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_validate-tunnelxconn-input.json
@@ -1 +1 @@
-[{"id":"368b0672.1be432","type":"dgstart","name":"DGSTART","outputs":1,"x":149.5,"y":289,"z":"dc39d835.96bdd8","wires":[["69a98a55.0b046c"]]},{"id":"69a98a55.0b046c","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":248.28570556640625,"y":363.23810386657715,"z":"dc39d835.96bdd8","wires":[["7ab244c3.e46244"]]},{"id":"7ab244c3.e46244","type":"method","name":"validate-tunnelxconn-input","xml":"<method rpc='validate-tunnelxconn-input' mode='sync'>\n","comments":"","outputs":1,"x":277.1786193847656,"y":434.16669368743896,"z":"dc39d835.96bdd8","wires":[["283bbfcd.ed6068"]]},{"id":"283bbfcd.ed6068","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":319.2500457763672,"y":707.4434947967529,"z":"dc39d835.96bdd8","wires":[["59bc0290.c7f034","10ce6be9.70a52c","308b15e6.44da62","147b9b93.45a634","38d40f5d.1f7d9"]]},{"id":"59bc0290.c7f034","type":"switchNode","name":"switch svc-request-id","xml":"<switch test='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-request-id`'>\n","comments":"","outputs":1,"x":654.3095703125,"y":192.09528064727783,"z":"dc39d835.96bdd8","wires":[["375a6f82.daaf68"]]},{"id":"375a6f82.daaf68","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":884.0238554818288,"y":190.09527737753706,"z":"dc39d835.96bdd8","wires":[["6294362.5d01a48"]]},{"id":"6294362.5d01a48","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=\"sdnc-request-header.svc-request-id is a required input\" />\n","comments":"","x":1035.4523620605469,"y":186.76194381713867,"z":"dc39d835.96bdd8","wires":[]},{"id":"10ce6be9.70a52c","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":646.8809204101562,"y":145.66667938232422,"z":"dc39d835.96bdd8","wires":[["79f66b28.48c23c"]]},{"id":"79f66b28.48c23c","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":882.5952758789062,"y":147.23810291290283,"z":"dc39d835.96bdd8","wires":[["1afe2bb9.fad974"]]},{"id":"1afe2bb9.fad974","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=\"sdnc-request-header.svc-action is a required input\" />\n","comments":"","x":1032.5952491760254,"y":147.238112449646,"z":"dc39d835.96bdd8","wires":[]},{"id":"45808300.fdad84","type":"comment","name":"validate-tunnelxconn-input - CHANGELOG","info":"3/22: Initial release 1.0.0","comments":"","x":162.5,"y":193,"z":"dc39d835.96bdd8","wires":[]},{"id":"308b15e6.44da62","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":559.1666603088379,"y":713.000036239624,"z":"dc39d835.96bdd8","wires":[["979e6455.cfc31","5ae75bf1.ec81bc","f24f51df.2e9bf8","3cdf8f95.4923c","9dc2e13c.b38008","5b47f09e.898778"]]},{"id":"979e6455.cfc31","type":"other","name":"assign","xml":"<outcome value='assign'>","comments":"","outputs":1,"x":820.2143630981445,"y":548.5714664459229,"z":"dc39d835.96bdd8","wires":[["b16e483a.17ddc8"]]},{"id":"5ae75bf1.ec81bc","type":"other","name":"activate","xml":"<outcome value='activate'>","comments":"","outputs":1,"x":840.4999694824219,"y":736.0000305175781,"z":"dc39d835.96bdd8","wires":[["865a4fc7.17712"]]},{"id":"f24f51df.2e9bf8","type":"other","name":"deactivate","xml":"<outcome value='deactivate'>","comments":"","outputs":1,"x":847.4999694824219,"y":826.0000305175781,"z":"dc39d835.96bdd8","wires":[["919509c2.2756a8"]]},{"id":"3cdf8f95.4923c","type":"other","name":"unassign","xml":"<outcome value='unassign'>","comments":"","outputs":1,"x":828.4998321533203,"y":993.3333578109741,"z":"dc39d835.96bdd8","wires":[["2eb26867.63f26"]]},{"id":"b16e483a.17ddc8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1018.5238189697266,"y":546.7262649536133,"z":"dc39d835.96bdd8","wires":[["bdcd3bcd.70d368","ead921b4.5c7498","7bf99760.d366f8","c994f413.2cb5e8","7840e223.6ecc1c","fc66f195.4287e8"]]},{"id":"865a4fc7.17712","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1018.7500152587891,"y":735.750072479248,"z":"dc39d835.96bdd8","wires":[["c994f413.2cb5e8","fc66f195.4287e8"]]},{"id":"919509c2.2756a8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1019.7500305175781,"y":827.0000743865967,"z":"dc39d835.96bdd8","wires":[["c994f413.2cb5e8","fc66f195.4287e8"]]},{"id":"2eb26867.63f26","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1017.4998931884766,"y":993.8333883285522,"z":"dc39d835.96bdd8","wires":[["c994f413.2cb5e8"]]},{"id":"bdcd3bcd.70d368","type":"switchNode","name":"switch brg-wan-mac-address","xml":"<switch test='`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.brg-wan-mac-address`'>\n","comments":"","outputs":1,"x":1425.6190185546875,"y":541.2976379394531,"z":"dc39d835.96bdd8","wires":[["5e3ed0b0.de93f8"]]},{"id":"5e3ed0b0.de93f8","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1633.618896484375,"y":541.107177734375,"z":"dc39d835.96bdd8","wires":[["44e462d3.aeea5c"]]},{"id":"44e462d3.aeea5c","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=\"tunnelxconn-topology-operation-input.tunnelxconn-request-input.vlan-tag is a required input\" />\n","comments":"","x":1848.8095703125,"y":537.1071472167969,"z":"dc39d835.96bdd8","wires":[]},{"id":"7bf99760.d366f8","type":"switchNode","name":"switch onap-model-information.model-customization-uuid","xml":"<switch test='`$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`'>\n","comments":"","outputs":1,"x":1539.6073303222656,"y":449.0000972747803,"z":"dc39d835.96bdd8","wires":[["b24c5015.cd06c"]]},{"id":"b24c5015.cd06c","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1833.6072387695312,"y":450.00003814697266,"z":"dc39d835.96bdd8","wires":[["70386862.b62d78"]]},{"id":"70386862.b62d78","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=\"tunnelxconn-information.onap-model-information.model-customization-uuid is a required input\" />\n","comments":"","x":1981.0357055664062,"y":450.00003814697266,"z":"dc39d835.96bdd8","wires":[]},{"id":"147b9b93.45a634","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":585.8571166992188,"y":1134.4999694824219,"z":"dc39d835.96bdd8","wires":[]},{"id":"ead921b4.5c7498","type":"get-resource","name":"get-resource AR_MODEL","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from ALLOTTED_RESOURCE_MODEL WHERE customization_uuid = $tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid'\n pfx='ar-model'>\n\n","comments":"","outputs":1,"x":1411.802146911621,"y":669.2818689346313,"z":"dc39d835.96bdd8","wires":[["35bb9a66.d0adf6","d80653.a0abb1b"]]},{"id":"c80461c8.341ca8","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=\"`'No alloted resource model found for model customization UUID ' + $tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`\" />\n","comments":"","x":1858.8854637145996,"y":657.4484224319458,"z":"dc39d835.96bdd8","wires":[]},{"id":"35bb9a66.d0adf6","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1660.1355438232422,"y":652.8056383132935,"z":"dc39d835.96bdd8","wires":[["c80461c8.341ca8"]]},{"id":"d80653.a0abb1b","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1653.8855438232422,"y":685.3056383132935,"z":"dc39d835.96bdd8","wires":[["c80461c8.341ca8"]]},{"id":"38d40f5d.1f7d9","type":"switchNode","name":"switch service-instance-id","xml":"<switch test='`$tunnelxconn-topology-operation-input.service-information.service-instance-id`'>\n","comments":"","outputs":1,"x":653.9285583496094,"y":420.85719299316406,"z":"dc39d835.96bdd8","wires":[["4a734a8.76aa3b4"]]},{"id":"4a734a8.76aa3b4","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":870.3571472167969,"y":421.85719299316406,"z":"dc39d835.96bdd8","wires":[["456b9eb9.070da8"]]},{"id":"456b9eb9.070da8","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=\"service-information.service-instance-id is a required input\" />\n","comments":"","x":1028.7856750488281,"y":420.85719299316406,"z":"dc39d835.96bdd8","wires":[]},{"id":"9dc2e13c.b38008","type":"other","name":"create","xml":"<outcome value='create'>","comments":"","outputs":1,"x":827.2777137756348,"y":633.9074087142944,"z":"dc39d835.96bdd8","wires":[["3adcb6d9.68932a"]]},{"id":"3adcb6d9.68932a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1019.5276031494141,"y":629.9907321929932,"z":"dc39d835.96bdd8","wires":[["c994f413.2cb5e8","fc66f195.4287e8"]]},{"id":"5b47f09e.898778","type":"other","name":"delete","xml":"<outcome value='delete'>","comments":"","outputs":1,"x":840.611083984375,"y":910.5739946365356,"z":"dc39d835.96bdd8","wires":[["e72f8b82.17d0f"]]},{"id":"e72f8b82.17d0f","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1017.1111068725586,"y":908.5740489959717,"z":"dc39d835.96bdd8","wires":[["c994f413.2cb5e8","fc66f195.4287e8"]]},{"id":"c994f413.2cb5e8","type":"switchNode","name":"switch allotted-resource-id","xml":"<switch test='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\n","comments":"","outputs":1,"x":1507.7938537597656,"y":199.03967714309692,"z":"dc39d835.96bdd8","wires":[["323e47dd.ce97d8"]]},{"id":"323e47dd.ce97d8","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1710.8296146392822,"y":203.8611183166504,"z":"dc39d835.96bdd8","wires":[["50ae4b2d.31f91c"]]},{"id":"50ae4b2d.31f91c","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=\"allotted-resource-information.allotted-resource-id is a required input\" />\n","comments":"","x":1896.0080833435059,"y":199.1111183166504,"z":"dc39d835.96bdd8","wires":[]},{"id":"7840e223.6ecc1c","type":"switchNode","name":"switch allotted-resource-type","xml":"<switch test='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type`'>\n","comments":"","outputs":1,"x":1511.7224349975586,"y":267.98810291290283,"z":"dc39d835.96bdd8","wires":[["a6f5f0f2.393be"]]},{"id":"a6f5f0f2.393be","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1707.2578468322754,"y":267.80952644348145,"z":"dc39d835.96bdd8","wires":[["292de8a3.586568"]]},{"id":"292de8a3.586568","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=\"allotted-resource-information.allotted-resource-type is a required input\" />\n","comments":"","x":1867.4363174438477,"y":266.80952644348145,"z":"dc39d835.96bdd8","wires":[]},{"id":"fc66f195.4287e8","type":"switchNode","name":"switch parent-service-instance-id","xml":"<switch test='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>\n","comments":"","outputs":1,"x":1527.0796127319336,"y":343.7023983001709,"z":"dc39d835.96bdd8","wires":[["2660b170.94d2fe"]]},{"id":"2660b170.94d2fe","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1746.5437355041504,"y":343.3452482223511,"z":"dc39d835.96bdd8","wires":[["644e2aed.6c16b4"]]},{"id":"644e2aed.6c16b4","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=\"allotted-resource-information.parent-service-instance-id is a required input\" />\n","comments":"","x":1897.9722023010254,"y":342.3452482223511,"z":"dc39d835.96bdd8","wires":[]}]
+[{"id":"2f8b1d9a.ab851a","type":"dgstart","name":"DGSTART","outputs":1,"x":149.5,"y":208,"z":"c08d0361.c1fec","wires":[["bf2ced21.d5c"]]},{"id":"bf2ced21.d5c","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":248.28570556640625,"y":282.23810386657715,"z":"c08d0361.c1fec","wires":[["da33b929.dd5d48"]]},{"id":"da33b929.dd5d48","type":"method","name":"validate-tunnelxconn-input","xml":"<method rpc='validate-tunnelxconn-input' mode='sync'>\n","comments":"","outputs":1,"x":277.1786193847656,"y":353.16669368743896,"z":"c08d0361.c1fec","wires":[["55b42c99.a5706c"]]},{"id":"55b42c99.a5706c","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":319.2500457763672,"y":626.4434947967529,"z":"c08d0361.c1fec","wires":[["28742a55.d311c6","b8f93651.971f88","ff0fbc34.e5202","e6dab746.3ce568","9a056511.a51ba"]]},{"id":"28742a55.d311c6","type":"switchNode","name":"switch svc-request-id","xml":"<switch test='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-request-id`'>\n","comments":"","outputs":1,"x":654.3095703125,"y":111.09528064727783,"z":"c08d0361.c1fec","wires":[["958c0c61.fda4b"]]},{"id":"958c0c61.fda4b","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":884.0238554818288,"y":109.09527737753706,"z":"c08d0361.c1fec","wires":[["379d0d50.73d9ca"]]},{"id":"379d0d50.73d9ca","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=\"sdnc-request-header.svc-request-id is a required input\" />\n","comments":"","x":1035.4523620605469,"y":105.76194381713867,"z":"c08d0361.c1fec","wires":[]},{"id":"b8f93651.971f88","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":646.8809204101562,"y":64.66667938232422,"z":"c08d0361.c1fec","wires":[["ae8ab228.ab1a3"]]},{"id":"ae8ab228.ab1a3","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":882.5952758789062,"y":66.23810291290283,"z":"c08d0361.c1fec","wires":[["cf01cddc.2e1f7"]]},{"id":"cf01cddc.2e1f7","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=\"sdnc-request-header.svc-action is a required input\" />\n","comments":"","x":1032.5952491760254,"y":66.238112449646,"z":"c08d0361.c1fec","wires":[]},{"id":"2b339e36.8a2812","type":"comment","name":"validate-tunnelxconn-input - CHANGELOG","info":"3/22: Initial release 1.0.0","comments":"","x":162.5,"y":112,"z":"c08d0361.c1fec","wires":[]},{"id":"ff0fbc34.e5202","type":"switchNode","name":"switch svc-action","xml":"<switch test='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`'>\n","comments":"","outputs":1,"x":559.1666603088379,"y":632.000036239624,"z":"c08d0361.c1fec","wires":[["c3d0f0a0.39da5","b563c03f.3832f","5fa45c86.c51ac4","bbf811e.7be627","30f25c1d.144b84","93622f83.2756c"]]},{"id":"c3d0f0a0.39da5","type":"other","name":"assign","xml":"<outcome value='assign'>","comments":"","outputs":1,"x":820.2143630981445,"y":467.57146644592285,"z":"c08d0361.c1fec","wires":[["e8516b3a.0fdb2"]]},{"id":"b563c03f.3832f","type":"other","name":"activate","xml":"<outcome value='activate'>","comments":"","outputs":1,"x":840.4999694824219,"y":655.0000305175781,"z":"c08d0361.c1fec","wires":[["98b20158.6dbe78"]]},{"id":"5fa45c86.c51ac4","type":"other","name":"deactivate","xml":"<outcome value='deactivate'>","comments":"","outputs":1,"x":847.4999694824219,"y":745.0000305175781,"z":"c08d0361.c1fec","wires":[["fcbd032a.f083d"]]},{"id":"bbf811e.7be627","type":"other","name":"unassign","xml":"<outcome value='unassign'>","comments":"","outputs":1,"x":828.4998321533203,"y":912.3333578109741,"z":"c08d0361.c1fec","wires":[["b62d7269.ffd568"]]},{"id":"e8516b3a.0fdb2","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1018.5238189697266,"y":465.7262649536133,"z":"c08d0361.c1fec","wires":[["4cf017bd.9c50a","ef78b4aa.1786b","23634590.c34862","9f19675f.aa1a1","b8060244.131a7","5bb17440.76108c"]]},{"id":"98b20158.6dbe78","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1018.7500152587891,"y":654.750072479248,"z":"c08d0361.c1fec","wires":[["23634590.c34862","b8060244.131a7"]]},{"id":"fcbd032a.f083d","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1019.7500305175781,"y":746.0000743865967,"z":"c08d0361.c1fec","wires":[["23634590.c34862","b8060244.131a7"]]},{"id":"b62d7269.ffd568","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1017.4998931884766,"y":912.8333883285522,"z":"c08d0361.c1fec","wires":[["23634590.c34862"]]},{"id":"4cf017bd.9c50a","type":"switchNode","name":"switch brg-wan-mac-address","xml":"<switch test='`$tunnelxconn-topology-operation-input.brg-wan-mac-address`'>\n","comments":"","outputs":1,"x":1425.6190185546875,"y":460.2976379394531,"z":"c08d0361.c1fec","wires":[["e9e09452.4fe688"]]},{"id":"e9e09452.4fe688","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1633.618896484375,"y":460.107177734375,"z":"c08d0361.c1fec","wires":[["5dfcedf9.eaa5fc"]]},{"id":"5dfcedf9.eaa5fc","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=\"tunnelxconn-topology-operation-input.brg-wan-mac-address is a required input\" />\n","comments":"","x":1848.8095703125,"y":456.1071472167969,"z":"c08d0361.c1fec","wires":[]},{"id":"5bb17440.76108c","type":"switchNode","name":"switch onap-model-information.model-customization-uuid","xml":"<switch test='`$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`'>\n","comments":"","outputs":1,"x":1581.6072998046875,"y":374.0000915527344,"z":"c08d0361.c1fec","wires":[["f24ac93d.d8461"]]},{"id":"f24ac93d.d8461","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1862.607177734375,"y":374.0000305175781,"z":"c08d0361.c1fec","wires":[["3837b467.eaa36c"]]},{"id":"3837b467.eaa36c","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=\"tunnelxconn-information.onap-model-information.model-customization-uuid is a required input\" />\n","comments":"","x":1981.0357055664062,"y":369.00003814697266,"z":"c08d0361.c1fec","wires":[]},{"id":"e6dab746.3ce568","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":585.8571166992188,"y":1053.4999694824219,"z":"c08d0361.c1fec","wires":[]},{"id":"ef78b4aa.1786b","type":"get-resource","name":"get-resource AR_MODEL","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from ALLOTTED_RESOURCE_MODEL WHERE customization_uuid = $tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid'\n pfx='ar-model'>\n\n","comments":"","outputs":1,"x":1411.802146911621,"y":588.2818689346313,"z":"c08d0361.c1fec","wires":[["b392ca6b.8d1418","83f15138.3fb0d8"]]},{"id":"6ca5192.30e0668","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=\"`'No alloted resource model found for model customization UUID ' + $tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid`\" />\n","comments":"","x":1858.8854637145996,"y":576.4484224319458,"z":"c08d0361.c1fec","wires":[]},{"id":"b392ca6b.8d1418","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1660.1355438232422,"y":571.8056383132935,"z":"c08d0361.c1fec","wires":[["6ca5192.30e0668"]]},{"id":"83f15138.3fb0d8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1653.8855438232422,"y":604.3056383132935,"z":"c08d0361.c1fec","wires":[["6ca5192.30e0668"]]},{"id":"9a056511.a51ba","type":"switchNode","name":"switch service-instance-id","xml":"<switch test='`$tunnelxconn-topology-operation-input.service-information.service-instance-id`'>\n","comments":"","outputs":1,"x":653.9285583496094,"y":339.85719299316406,"z":"c08d0361.c1fec","wires":[["ba76ef7b.0d7f6"]]},{"id":"ba76ef7b.0d7f6","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":870.3571472167969,"y":340.85719299316406,"z":"c08d0361.c1fec","wires":[["a8acc626.d7a2c"]]},{"id":"a8acc626.d7a2c","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=\"service-information.service-instance-id is a required input\" />\n","comments":"","x":1028.7856750488281,"y":339.85719299316406,"z":"c08d0361.c1fec","wires":[]},{"id":"30f25c1d.144b84","type":"other","name":"create","xml":"<outcome value='create'>","comments":"","outputs":1,"x":827.2777137756348,"y":552.9074087142944,"z":"c08d0361.c1fec","wires":[["ba2778d3.3a60e8"]]},{"id":"ba2778d3.3a60e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1019.5276031494141,"y":548.9907321929932,"z":"c08d0361.c1fec","wires":[["23634590.c34862","b8060244.131a7"]]},{"id":"93622f83.2756c","type":"other","name":"delete","xml":"<outcome value='delete'>","comments":"","outputs":1,"x":840.611083984375,"y":829.5739946365356,"z":"c08d0361.c1fec","wires":[["72b18f16.a14f28"]]},{"id":"72b18f16.a14f28","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","comments":"","outputs":1,"x":1017.1111068725586,"y":827.5740489959717,"z":"c08d0361.c1fec","wires":[["23634590.c34862","b8060244.131a7"]]},{"id":"23634590.c34862","type":"switchNode","name":"switch allotted-resource-id","xml":"<switch test='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-id`'>\n","comments":"","outputs":1,"x":1507.7938537597656,"y":118.03967714309692,"z":"c08d0361.c1fec","wires":[["458aeb95.6d8efc"]]},{"id":"458aeb95.6d8efc","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1710.8296146392822,"y":122.86111831665039,"z":"c08d0361.c1fec","wires":[["2f7031d7.ca8d76"]]},{"id":"2f7031d7.ca8d76","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=\"allotted-resource-information.allotted-resource-id is a required input\" />\n","comments":"","x":1896.0080833435059,"y":118.11111831665039,"z":"c08d0361.c1fec","wires":[]},{"id":"9f19675f.aa1a1","type":"switchNode","name":"switch allotted-resource-type","xml":"<switch test='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type`'>\n","comments":"","outputs":1,"x":1511.7224349975586,"y":186.98810291290283,"z":"c08d0361.c1fec","wires":[["a573df4b.d2b7a8"]]},{"id":"a573df4b.d2b7a8","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1707.2578468322754,"y":186.80952644348145,"z":"c08d0361.c1fec","wires":[["d6dc873d.36537"]]},{"id":"d6dc873d.36537","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=\"allotted-resource-information.allotted-resource-type is a required input\" />\n","comments":"","x":1867.4363174438477,"y":185.80952644348145,"z":"c08d0361.c1fec","wires":[]},{"id":"b8060244.131a7","type":"switchNode","name":"switch parent-service-instance-id","xml":"<switch test='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`'>\n","comments":"","outputs":1,"x":1527.0796127319336,"y":262.7023983001709,"z":"c08d0361.c1fec","wires":[["b38c7be2.1435f8"]]},{"id":"b38c7be2.1435f8","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":1746.5437355041504,"y":262.3452482223511,"z":"c08d0361.c1fec","wires":[["e78ac273.3df9f"]]},{"id":"e78ac273.3df9f","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=\"allotted-resource-information.parent-service-instance-id is a required input\" />\n","comments":"","x":1897.9722023010254,"y":261.3452482223511,"z":"c08d0361.c1fec","wires":[]}] \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_manage-ipaddr-assignment.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_manage-ipaddr-assignment.xml
new file mode 100644
index 00000000..58bdf73b
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_manage-ipaddr-assignment.xml
@@ -0,0 +1,16 @@
+<!--Reserve/release VNI--><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}'><method rpc='manage-ipaddr-assignment' mode='sync'>
+<block atomic='true'><set>
+<parameter name='tmp.sql.plugin' value='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' />
+</set><switch test='$tmp.manage-vni.action'>
+<outcome value='reserve'>
+<block atomic='true'><get-resource plugin='`$tmp.sql.plugin`' resource='VNI' key="SELECT min(ipv4_addr) from IPV4_ADDRESS_POOL where universe='VGW' and status='AVAILABLE'" pfx="tmp.manage-ipaddr.results" >
+<outcome value='success'>
+<block>
+<set>
+<parameter name='tmp.manage-ipaddr.ip' value='`$tmp.manage-ipaddr.results.ipv4_addr`' />
+</set><save plugin='`$tmp.sql.plugin`' resource='IPADDR' key="UPDATE IPV4_ADDRESS_POOL set status='RESERVED' where universe='VGW' and ipv4_addr=$tmp.manage-ipaddr.ip" force='false'>
+
+</save></block></outcome></get-resource></block></outcome><outcome value='release'>
+<save plugin='`$tmp.sql.plugin`' resource='IPADDR' key="UPDATE IPV4_ADDRESS_POOL set status='AVAILABLE' where universe='VGW' and ipv4_addr=$tmp.manage-ipaddr.ip" force='false'>
+
+</save></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_manage-vni-assignment.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_manage-vni-assignment.xml
new file mode 100644
index 00000000..a1a90d7e
--- /dev/null
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_manage-vni-assignment.xml
@@ -0,0 +1,16 @@
+<!--Reserve/release VNI--><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}'><method rpc='manage-vni-assignment' mode='sync'>
+<block atomic='true'><set>
+<parameter name='tmp.sql.plugin' value='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' />
+</set><switch test='$tmp.manage-vni.action'>
+<outcome value='reserve'>
+<block atomic='true'><get-resource plugin='`$tmp.sql.plugin`' resource='VNI' key="SELECT min(vlan_id) from VLAN_ID_POOL where purpose='VNI' and status='AVAILABLE'" pfx="tmp.manage-vni.results" >
+<outcome value='success'>
+<block>
+<set>
+<parameter name='tmp.manage-vni.vni' value='`$tmp.manage-vni.results.vlan-id`' />
+</set><save plugin='`$tmp.sql.plugin`' resource='VNI' key="UPDATE VLAN_ID_POOL set status='RESERVED' where purpose='VNI' and vlan_id=$tmp.manage-vni.vni" force='false'>
+
+</save></block></outcome></get-resource></block></outcome><outcome value='release'>
+<save plugin='`$tmp.sql.plugin`' resource='VNI' key="UPDATE VLAN_ID_POOL set status='AVAILABLE' where purpose='VNI' and vlan_id=$tmp.manage-vni.vni" force='false'>
+
+</save></outcome></switch></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.xml
index 419a32cb..963e5cd4 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_tunnelxconn-topology-operation-assign.xml
@@ -1,326 +1,275 @@
-<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}'>
- <method rpc='tunnelxconn-topology-operation-assign' mode='sync'>
- <block atomic="true">
- <set>
- <parameter name='tmp.ar.allotted-resource-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
- <parameter name='tmp.ar.parent-service-instance-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />
- </set>
- <set>
- <parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/'
- + $tmp.ar.allotted-resource-id
- + '/allotted-resource-data/tunnelxconn-topology/'` " />
- </set>
- <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
- <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
- <parameter name='contextPrefix' value='prop' />
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$prop.restapi.tx-allottedresource`"/>
- <parameter name="outputPath" value="tmp.ar-url"/>
- <parameter name="target" value="{allotted-resource-id}"/>
- <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
- </execute>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/$tunnelxconn-topology-operation-input.alloted-resource-information.allotted-resource-id' pfx='mdsal-ar' >
- <outcome value='success'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message"
- value="`'Existing tunnelxconn-allotted-resource with order status of ' + $mdsal-ar.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`" />
- </return>
- </outcome>
- <outcome value='Other'>
- <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API' key='services/service/$tmp.ar.parent-service-instance-id' pfx='mdsal-parent-service-instance' >
- <outcome value='success'>
- <block atomic="true">
- <set>
- <parameter name='tx-ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
- <parameter name='tx-ar.allotted-resource-status.action' value="`$tunnelxconn-topology-operation-input.request-information.request-action` " />
- <parameter name='tx-ar.allotted-resource-status.rpc-name' value="tunnelxconn-topology-operation" />
- <parameter name='tx-ar.allotted-resource-status.rpc-action' value="`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action` " />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$tunnelxconn-topology-operation-input.request-information.` " />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$tunnelxconn-topology-operation-input.sdnc-request-header.` " />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$tunnelxconn-topology-operation-input.service-information.` " />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$tunnelxconn-topology-operation-input.allotted-resource-information.` " />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.' value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.` " />
- </set>
- <set>
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tx-ar.allotted-resource-status.rpc-action`' />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />
- </set>
- <set>
- <parameter name='tx-ar-identifiers.consuming-service-instance-id' value="`$tunnelxconn-topology-operation-input.service-information.service-instance-id` " />
- <parameter name='tx-ar-identifiers.parent-service-instance-id' value="`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
- <parameter name='tx-ar-identifiers.allotted-resource-type' value="`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` " />
- <parameter name='tx-ar-identifiers.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
- </set>
- <set>
- <parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.'
- value="`$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.`" />
- </set>
- <switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid'>
- <outcome value=''>
- <set>
- <parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-invariant-uuid'
- value="`$ar-model.invariant-uuid`" />
- </set>
- </outcome>
- </switch>
- <switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid'>
- <outcome value=''>
- <set>
- <parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-uuid'
- value="`$ar-model.uuid`" />
- </set>
- </outcome>
- </switch>
- <switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-version'>
- <outcome value=''>
- <set>
- <parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-version'
- value="`$ar-model.version`" />
- </set>
- </outcome>
- </switch>
- <switch test='`$ar-model.ecomp-generated-naming`'>
- <outcome value='Y'>
- <block atomic="true">
- <switch test='`$ar-model.naming-policy`'>
- <outcome value='oam_network_policy'>
- <block atomic='true'>
- <set>
- <parameter name='tmp.ar-name' value='$TenantOAMNetworkRole_$LandingNetworkRole_SZ' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.ar-name`"/>
- <parameter name="outputPath" value="tmp.ar-name"/>
- <parameter name="target" value="$TenantOAMNetworkRole"/>
- <parameter name="replacement" value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.untrusted-network-role`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.ar-name`"/>
- <parameter name="outputPath" value="tmp.ar-name"/>
- <parameter name="target" value="$LandingNetworkRole"/>
- <parameter name="replacement" value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.trusted-network-role`"/>
- </execute>
- <set>
- <parameter name='tx-ar-identifiers.allotted-resource-name' value='`$tmp.ar-name`' />
- </set>
- </block>
- </outcome>
- <outcome value='Other'>
- <block atomic='true'>
- <set>
- <parameter name='tmp.ar-name' value='$TenantOAMNetworkRole_$LandingNetworkRole_SZ' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.ar-name`"/>
- <parameter name="outputPath" value="tmp.ar-name"/>
- <parameter name="target" value="$TenantOAMNetworkRole"/>
- <parameter name="replacement" value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.untrusted-network-role`"/>
- </execute>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.ar-name`"/>
- <parameter name="outputPath" value="tmp.ar-name"/>
- <parameter name="target" value="$LandingNetworkRole"/>
- <parameter name="replacement" value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.trusted-network-role`"/>
- </execute>
- <set>
- <parameter name='tx-ar-identifiers.allotted-resource-name' value='`$tmp.ar-name`' />
- </set>
- </block>
- </outcome>
- </switch>
- </block>
- </outcome>
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y' />
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error in allotted-resource-model data. Ecomp-generated-naming should be true" />
- </return>
- </outcome>
- </switch>
- <set>
- <parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.' value="`$tx-ar-identifiers.`" />
- </set>
- <set>
- <parameter name='tmp.vni' value='123' />
- <parameter name='tmp.vgmux-bearer-ip' value='127.0.0.1' />
- <parameter name='tmp.vgmux-lan-ip' value='127.0.0.1' />
- </set>
- <for index='curparm' start='0' end='`$parent-service-instance.service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameter.param_length`' >
- <switch test='$parent-service-instance.service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameter.param[$curparm].name'>
- <outcome value='vGMUX_Bearer_IP'>
- <set>
- <parameter name='tmp.vgmux-bearer-ip' value='`$parent-service-instance.service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameter.param[$curparm].value`'/>
- </set>
- </outcome>
- <outcome value='vGMUX_LAN_IP'>
- <set>
- <parameter name='tmp.vgmux-lan-ip' value='`$parent-service-instance.service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameter.param[$curparm].value`'/>
- </set>
- </outcome>
- </switch>
- </for>
- <set>
- <parameter name='tx-ar-assignments.vni' value='`$tmp.vni`' />
- <parameter name='tx-ar-assignments.vgmux-bearer-ip' value='`$tmp.vgmux-bearer-ip`' />
- <parameter name='tx-ar-assignments.vgmux-lan-ip' value='`$tmp.vgmux-lan-ip`' />
- </set>
- <set>
- <parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.'
- value="`$tx-ar-assignments.`" />
- </set>
- <switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>
- <outcome value=''>
- <set>
- <parameter name='tmp.cidx' value="`0`" />
- <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value="1" />
- </set>
- </outcome>
- <outcome value='Other'>
- <block atomic="true">
- <for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
- <switch test="`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
- <outcome value='true'>
- <block atomic="true">
- <set>
- <parameter name='tmp.cidx' value='`$cidx`' />
- <parameter name='ctx.consumed-ar.' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].`' />
- <parameter name='tmp.found-cidx' value='true' />
- </set>
- <break></break>
- </block>
- </outcome>
- </switch>
- </for>
- <switch test='`$tmp.found-cidx`'>
- <outcome value='false'>
- <block atomic="true">
- <set>
- <parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />
- </set>
- </block>
- </outcome>
- </switch>
- </block>
- </outcome>
- </switch>
- <set>
- <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
- <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value="`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` " />
- <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value="`$tmp.ar.self-link` " />
- <parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />
- </set>
- <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
- <parameter name="outputPath" value="tmp.current-time" />
- </execute>
- <set>
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingCreate' />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tunnelxconn-topology-operation-input.request-information.request-action`' />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`' />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-request-id`' />
- <parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
- </set>
- <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="allotted-resource"
- key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
- service-subscription.service-type = $service-data.service-information.subscription-service-type AND
- service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
- allotted-resource.id = $tmp.ar.allotted-resource-id"
- pfx='pfx' local-only='false' force='false'>
- <parameter name="description" value="`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type`" />
- <parameter name="selflink" value="`$tmp.ar.self-link`" />
- <parameter name="model-invariant-id" value="`$ar-model.invariant-uuid`" />
- <parameter name="model-version-id" value="`$ar-model.uuid`" />
- <parameter name="operational-status" value="null" />
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="AAI failed" />
- </return>
- </outcome>
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="AAI failed" />
- </return>
- </outcome>
- </update>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.tx.templatefile`" />
- <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
- <parameter name='restapiUser' value='`$prop.controller.user`' />
- <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='PUT' />
- <parameter name="responsePrefix" value="mdsal-ar" />
- <outcome value='success'>
- <block>
- <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
- <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />
- <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />
- <parameter name='restapiUser' value='`$prop.controller.user`' />
- <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
- <parameter name='format' value='json' />
- <parameter name='httpMethod' value='DELETE' />
- <parameter name="responsePrefix" value="parent" />
- <outcome value='success'>
- <block></block>
- </outcome>
- <outcome value='failure'>
- <block></block>
- </outcome>
- <outcome value='not-found'>
- <block></block>
- </outcome>
- </execute>
- </block>
- </outcome>
- <outcome value='failure'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />
- </return>
- </outcome>
- <outcome value='not-found'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />
- </return>
- </outcome>
- </execute>
- <set>
- <parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
- <parameter name='tunnelxconn-object-path' value="`$tmp.ar.self-link`"/>
- <parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $tunnelxconn-topology-operation-input.service-information.service-instance-id
- + '/service-data/service-topology/'`"/>
- </set>
- <return status='success'>
- <parameter name="ack-final-indicator" value="Y" />
- <parameter name="error-code" value="200" />
- <parameter name="error-message" value="`$error-message`" />
- </return>
- </block>
- </outcome>
- <outcome value='Other'>
- <return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message"
- value="`'No entry found for parent service instance id ' + $tmp.ar.parent-service-instance-id + '.'`" />
- </return>
- </outcome>
- </get-resource>
- </outcome>
- </get-resource>
- </block>
- </method>
-</service-logic>
+<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}'><method rpc='tunnelxconn-topology-operation-assign' mode='sync'>
+<block atomic="true"><set>
+<parameter name='tmp.ar.allotted-resource-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-id`' />
+<parameter name='tmp.ar.parent-service-instance-id' value='`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id`' />
+
+
+</set><set>
+<parameter name='tmp.ar.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:tunnelxconn-allotted-resources/tunnelxconn-allotted-resource/'
+ + $tmp.ar.allotted-resource-id
+ + '/allotted-resource-data/tunnelxconn-topology/'` " />
+
+</set><execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+ <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+ <parameter name='contextPrefix' value='prop' />
+</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$prop.restapi.tx-allottedresource`"/>
+ <parameter name="outputPath" value="tmp.ar-url"/>
+ <parameter name="target" value="{allotted-resource-id}"/>
+ <parameter name="replacement" value="`$tmp.ar.allotted-resource-id`"/>
+</execute><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='GET' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+
+<outcome value='success'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message"
+ value="`'Existing tunnelxconn-allotted-resource with order status of ' + $mdsal-ar.tunnelxconn-allotted-resource.allotted-resource-data.allotted-resource-oper-status.order-status + '.'`" />
+</return></outcome><outcome value='Other'>
+<get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='VNF-API' key='vnfs/vnf-list/$tmp.ar.parent-service-instance-id/' pfx='parent-service-instance' >
+<outcome value='success'>
+<block atomic="true">
+<set>
+<parameter name='tx-ar.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
+<parameter name='tx-ar.allotted-resource-status.action' value="`$tunnelxconn-topology-operation-input.request-information.request-action` " />
+<parameter name='tx-ar.allotted-resource-status.rpc-name' value="tunnelxconn-topology-operation" />
+<parameter name='tx-ar.allotted-resource-status.rpc-action' value="`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action` " />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.' value="`$tunnelxconn-topology-operation-input.request-information.` " />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.' value="`$tunnelxconn-topology-operation-input.sdnc-request-header.` " />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.service-information.' value="`$tunnelxconn-topology-operation-input.service-information.` " />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.allotted-resource-information.' value="`$tunnelxconn-topology-operation-input.allotted-resource-information.` " />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.' value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.` " /></set><set>
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.request-information.request-action`' />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tx-ar.allotted-resource-status.rpc-action`' />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tx-ar.allotted-resource-data.allotted-resource-operation-information.sdnc-request-header.svc-request-id`' />
+
+</set><set>
+<parameter name='tx-ar-identifiers.consuming-service-instance-id' value="`$tunnelxconn-topology-operation-input.service-information.service-instance-id` " />
+<parameter name='tx-ar-identifiers.parent-service-instance-id' value="`$tunnelxconn-topology-operation-input.allotted-resource-information.parent-service-instance-id` " />
+<parameter name='tx-ar-identifiers.allotted-resource-type' value="`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` " />
+<parameter name='tx-ar-identifiers.allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
+
+</set><set>
+<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.'
+value="`$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.`" />
+
+
+</set><switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-invariant-uuid'>
+<outcome value=''>
+<set>
+<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-invariant-uuid'
+value="`$ar-model.invariant-uuid`" />
+
+
+</set></outcome></switch><switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-uuid'>
+<outcome value=''>
+<set>
+<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-uuid'
+value="`$ar-model.uuid`" />
+
+
+</set></outcome></switch><switch test='$tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-version'>
+<outcome value=''>
+<set>
+<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.onap-model-information.model-version'
+value="`$ar-model.version`" />
+
+
+</set></outcome></switch><switch test='`$ar-model.ecomp-generated-naming`'>
+<outcome value='Y'>
+<block atomic="true">
+<switch test='`$ar-model.naming-policy`'>
+<outcome value='oam_network_policy'>
+<block atomic='true'>
+<set>
+<parameter name='tmp.ar-name' value='$TenantOAMNetworkRole_$LandingNetworkRole_SZ' />
+</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.ar-name`"/>
+ <parameter name="outputPath" value="tmp.ar-name"/>
+ <parameter name="target" value="$TenantOAMNetworkRole"/>
+ <parameter name="replacement" value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.untrusted-network-role`"/>
+
+</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.ar-name`"/>
+ <parameter name="outputPath" value="tmp.ar-name"/>
+ <parameter name="target" value="$LandingNetworkRole"/>
+ <parameter name="replacement" value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.trusted-network-role`"/>
+
+</execute><set>
+<parameter name='tx-ar-identifiers.allotted-resource-name' value='`$tmp.ar-name`' />
+</set></block></outcome><outcome value='Other'>
+<block atomic='true'>
+<set>
+<parameter name='tmp.ar-name' value='$TenantOAMNetworkRole_$LandingNetworkRole_SZ' />
+</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.ar-name`"/>
+ <parameter name="outputPath" value="tmp.ar-name"/>
+ <parameter name="target" value="$TenantOAMNetworkRole"/>
+ <parameter name="replacement" value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.untrusted-network-role`"/>
+
+</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+ <parameter name="source" value="`$tmp.ar-name`"/>
+ <parameter name="outputPath" value="tmp.ar-name"/>
+ <parameter name="target" value="$LandingNetworkRole"/>
+ <parameter name="replacement" value="`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.trusted-network-role`"/>
+
+</execute><set>
+<parameter name='tx-ar-identifiers.allotted-resource-name' value='`$tmp.ar-name`' />
+</set></block></outcome></switch></block></outcome><outcome value='Other'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error in allotted-resource-model data. Ecomp-generated-naming should be true" />
+
+</return></outcome></switch><set>
+<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.' value="`$tx-ar-identifiers.`" />
+
+
+</set><set>
+<parameter name='tmp.vni' value='123' />
+<parameter name='tmp.vgmux-bearer-ip' value='127.0.0.1' />
+<parameter name='tmp.vgmux-lan-ip' value='127.0.0.1' /></set><switch test="$parent-service-instance.service-data.vnf-topology.vnf-parameters_length != ''">
+<outcome value='true'>
+<for index='curparm' start='0' end='`$parent-service-instance.service-data.vnf-topology.vnf-parameters_length`' >
+<switch test='$parent-service-instance.service-data.vnf-topology.vnf-parameters[$curidx].vnf-parameter-name'>
+<outcome value='vgmux_private_ip_0'>
+<set>
+<parameter name='tmp.vgmux-bearer-ip' value='`$parent-service-instance.service-data.vnf-topology.vnf-parameters[$curidx].vnf-parameter-value`'/>
+
+</set></outcome><outcome value='vgmux_private_ip_2'>
+<set>
+<parameter name='tmp.vgmux-lan-ip' value='`$parent-service-instance.service-data.vnf-topology.vnf-parameters[$curidx].vnf-parameter-value`'/>
+
+</set></outcome></switch></for></outcome></switch><set>
+<parameter name='tmp.manage-vni.action' value='reserve' />
+<parameter name='tmp.manage-ipaddr.action' value='reserve' />
+<parameter name='tmp.manage-vni.pool' value='VNI'/>
+<parameter name='tmp.manage-ipaddr.pool' value='VGW'/></set><call module='GENERIC-RESOURCE-API' rpc='manage-vni-assignment' mode='sync' >
+</call><call module='GENERIC-RESOURCE-API' rpc='manage-ipaddr-assignment' mode='sync' >
+</call><set>
+<parameter name='tx-ar-assignments.vni' value='`$tmp.manage-vni.vni`'/>
+<parameter name='tx-ar-assignments.vgmux-bearer-ip' value='`$tmp.vgmux-bearer-ip`'/>
+<parameter name='tx-ar-assignments.vgmux-lan-ip' value='`$tmp.vgmux-lan-ip`'/>
+<parameter name='tx-ar-assignments.vgw-private-ip-0' value='`$tmp.manage-ipaddr.ip`'/>
+
+</set><set>
+<parameter name='tx-ar.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.'
+value="`$tx-ar-assignments.`" />
+
+
+</set><switch test='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`'>
+<outcome value=''>
+<set>
+<parameter name='tmp.cidx' value="`0`" />
+<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value="1" />
+
+
+</set></outcome><outcome value='Other'>
+<block atomic="true"><for index='cidx' start='0' end='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' >
+<switch test="`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].allotted-resource-id == $tmp.ar.allotted-resource-id`">
+
+<outcome value='true'>
+<block atomic="true"><set>
+<parameter name='tmp.cidx' value='`$cidx`' />
+<parameter name='ctx.consumed-ar.' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource[$cidx].`' />
+<parameter name='tmp.found-cidx' value='true' /></set></block></outcome></switch></for><switch test='`$tmp.found-cidx`'>
+<outcome value='false'>
+<block atomic="true"><set>
+<parameter name='tmp.cidx' value='`$service-data.consumed-allotted-resources.consumed-allotted-resource_length`' />
+</set></block></outcome></switch></block></outcome></switch><set>
+<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-id' value="`$tmp.ar.allotted-resource-id` " />
+<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-type' value="`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type` " />
+<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource[$tmp.cidx].allotted-resource-pointer' value="`$tmp.ar.self-link` " />
+<parameter name='service-data.consumed-allotted-resources.consumed-allotted-resource_length' value='`$tmp.cidx + 1`' />
+
+</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='setTime' >
+ <parameter name="outputPath" value="tmp.current-time" />
+
+</execute><set>
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.order-status' value='PendingCreate' />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-action' value='`$tunnelxconn-topology-operation-input.request-information.request-action`' />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-rpc-action' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-action`' />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.last-svc-request-id' value='`$tunnelxconn-topology-operation-input.sdnc-request-header.svc-request-id`' />
+<parameter name='tx-ar.allotted-resource-data.allotted-resource-oper-status.create-timestamp' value='`$tmp.current-time`' />
+</set><update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
+ resource="allotted-resource"
+ key="customer.global-customer-id = $service-data.service-information.global-customer-id AND
+ service-subscription.service-type = $service-data.service-information.subscription-service-type AND
+ service-instance.service-instance-id = $service-data.service-information.service-instance-id AND
+ allotted-resource.id = $tmp.ar.allotted-resource-id"
+ pfx='pfx' local-only='false' force='false'>
+ <parameter name="description" value="`$tunnelxconn-topology-operation-input.allotted-resource-information.allotted-resource-type`" />
+ <parameter name="selflink" value="`$tmp.ar.self-link`" />
+ <parameter name="model-invariant-id" value="`$ar-model.invariant-uuid`" />
+ <parameter name="model-version-id" value="`$ar-model.uuid`" />
+ <parameter name="operational-status" value="null" />
+<outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI failed" />
+</return></outcome><outcome value='not-found'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="AAI failed" />
+</return></outcome></update><execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.tx.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='PUT' />
+ <parameter name="responsePrefix" value="mdsal-ar" />
+
+<outcome value='success'>
+<block>
+<execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >
+ <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.parentsvc.templatefile`" />
+ <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.parent-ar-url`' />
+ <parameter name='restapiUser' value='`$prop.controller.user`' />
+ <parameter name='restapiPassword' value='`$prop.controller.pwd`' />
+ <parameter name='format' value='json' />
+ <parameter name='httpMethod' value='DELETE' />
+ <parameter name="responsePrefix" value="parent" />
+
+<outcome value='success'>
+<block>
+</block></outcome><outcome value='failure'>
+<block>
+</block></outcome><outcome value='not-found'>
+<block>
+</block></outcome></execute></block></outcome><outcome value='failure'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />
+</return></outcome><outcome value='not-found'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message" value="Error updating md-sal for tunnelxconn-allotted-resource" />
+</return></outcome></execute><set>
+<parameter name='allotted-resource-id' value='`$tmp.ar.allotted-resource-id`' />
+<parameter name='tunnelxconn-object-path' value="`$tmp.ar.self-link`"/>
+<parameter name='service-object-path' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
+ + $tunnelxconn-topology-operation-input.service-information.service-instance-id
+ + '/service-data/service-topology/'`"/>
+
+</set><return status='success'>
+<parameter name="ack-final-indicator" value="Y" />
+<parameter name="error-code" value="200" />
+<parameter name="error-message" value="`$error-message`" />
+</return></block></outcome><outcome value='Other'>
+<return status='failure'>
+ <parameter name='ack-final' value='Y'/>
+ <parameter name="error-code" value="500" />
+ <parameter name="error-message"
+ value="`'No entry found for parent service instance id ' + $tmp.ar.parent-service-instance-id + '.'`" />
+</return></outcome></get-resource></outcome></execute></block></method></service-logic> \ No newline at end of file
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-tunnelxconn-input.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-tunnelxconn-input.xml
index 11d99729..907f7342 100644
--- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-tunnelxconn-input.xml
+++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_validate-tunnelxconn-input.xml
@@ -35,11 +35,11 @@
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
<parameter name="error-message" value="tunnelxconn-information.onap-model-information.model-customization-uuid is a required input" />
-</return></outcome></switch><switch test='`$tunnelxconn-topology-operation-input.tunnelxconn-request-input.brg-wan-mac-address`'>
+</return></outcome></switch><switch test='`$tunnelxconn-topology-operation-input.brg-wan-mac-address`'>
<outcome value=''><return status='failure'>
<parameter name='ack-final' value='Y'/>
<parameter name="error-code" value="500" />
- <parameter name="error-message" value="tunnelxconn-topology-operation-input.tunnelxconn-request-input.vlan-tag is a required input" />
+ <parameter name="error-message" value="tunnelxconn-topology-operation-input.brg-wan-mac-address is a required input" />
</return></outcome></switch><get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' resource='SQL'
key='SELECT * from ALLOTTED_RESOURCE_MODEL WHERE customization_uuid = $tunnelxconn-topology-operation-input.allotted-resource-information.onap-model-information.model-customization-uuid'
pfx='ar-model'>
@@ -103,4 +103,4 @@
<parameter name="ack-final-indicator" value="Y" />
<parameter name="error-code" value="200" />
<parameter name="error-message" value="`$error-message`" />
-</return></block></method></service-logic>
+</return></block></method></service-logic> \ No newline at end of file