diff options
author | Dan Timoney <dtimoney@att.com> | 2017-09-18 20:03:35 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2017-09-18 20:03:35 +0000 |
commit | 5bbd9dbdc3659ba776d9fcf4f9b6d7ba5eeda9ac (patch) | |
tree | 837bca1d02f78c1b9555e8bbc02f9acda94f8e24 | |
parent | 7f68e7464fa4076271c395c450d1b8b2a7afc6df (diff) | |
parent | 95d2f3ebd19083e8fc408b07fde33733f053abc5 (diff) |
Merge "Fixed accessing network-input-parameters."
Former-commit-id: 3bb878187abce0bd49216e0ba9bc6e7015e91e74
2 files changed, 779 insertions, 779 deletions
diff --git a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-assign.json b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-assign.json index a1ee2f86..68948bc7 100644 --- a/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-assign.json +++ b/platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_network-topology-operation-assign.json @@ -1 +1 @@ -[{"id":"89493007.0268b","type":"dgstart","name":"DGSTART","outputs":1,"x":111,"y":80,"z":"1a8b5305.c085cd","wires":[["a4a8f170.658a9"]]},{"id":"a4a8f170.658a9","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":254.2856903076172,"y":140.2381067276001,"z":"1a8b5305.c085cd","wires":[["751a884f.6eaac8"]]},{"id":"751a884f.6eaac8","type":"method","name":"network-topology-operation-assign","xml":"<method rpc='network-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":229.96437072753906,"y":220.892840385437,"z":"1a8b5305.c085cd","wires":[["df0099f6.6eeb38"]]},{"id":"df0099f6.6eeb38","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":189.28572845458984,"y":405.1578025817871,"z":"1a8b5305.c085cd","wires":[["b6852699.060e68","f58c2417.cbf1f8","91b6be2e.099cc","c7c72a39.652de8","8773a6fd.bcffa8","71a62cc6.0c1ad4","9c5b3463.cd7bf8","a057f23f.aa6af","868ff2ba.bc798","679ee129.c4252","34cb595d.aff816","a5f2c0c4.2e002","aa240c34.3d017","cae13e62.0dbe2","b7ab3890.826f88","a6f05dc6.5396f","2fbd77c1.048628","a9dd6669.a72c38","7a1a7c2.ce09484","5b1e35b2.5ea92c","60381262.576cfc","b629208a.09c27","4728dc8a.76ddd4","a2da1074.b277a","e495d7bf.6827a8","797304de.6cccec","ed1fbf08.fa0f9","cb2ae5c7.b8f7a8","2709264e.6759fa","ca6d6436.b4f728","61bb926f.cd7d7c","13db491e.a822c7","63bb1d97.e60064"]]},{"id":"b6852699.060e68","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":501.7738227844238,"y":3448.8575134277344,"z":"1a8b5305.c085cd","wires":[]},{"id":"f58c2417.cbf1f8","type":"switchNode","name":"switch network-model.is-bound-to-vpn","xml":"<switch test='`$network-model.is-bound-to-vpn`'>\n","comments":"","outputs":1,"x":577.6110610961914,"y":263.6111059188843,"z":"1a8b5305.c085cd","wires":[["c74440f1.9c51e"]]},{"id":"c74440f1.9c51e","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":842.6110649108887,"y":263.6111068725586,"z":"1a8b5305.c085cd","wires":[["9b88c546.2f2778"]]},{"id":"9b88c546.2f2778","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">\n","atomic":"true","comments":"","outputs":1,"x":1005.3611068725586,"y":264.1110954284668,"z":"1a8b5305.c085cd","wires":[["960cc18d.2fd1b"]]},{"id":"be126fa6.e030e","type":"get-resource","name":"get-resource vpn-binding","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"vpn-binding\" \n\t\tkey=\"vpn-binding.vpn-id = $vpn-bindings[$vidx].binding-uuid\"\n pfx='aai.vpnBinding' local-only='false' >\n\n","comments":"","outputs":1,"x":2285.932662963867,"y":257.8849563598633,"z":"1a8b5305.c085cd","wires":[["612f7c79.d93d64","29e26ef4.5879a2","70ec648.56c6c9c"]]},{"id":"612f7c79.d93d64","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2521.8889961242676,"y":229.63891220092773,"z":"1a8b5305.c085cd","wires":[["b29726d5.228328"]]},{"id":"29e26ef4.5879a2","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2514.8889389038086,"y":262.972243309021,"z":"1a8b5305.c085cd","wires":[["b29726d5.228328"]]},{"id":"b29726d5.228328","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 vpn binding found for network-model.vpn-binding=' \n + $vpn-bindings[$vidx].binding-uuid`\" />\n\n","comments":"","x":2704.031726837158,"y":234.21033000946045,"z":"1a8b5305.c085cd","wires":[]},{"id":"91b6be2e.099cc","type":"switchNode","name":"switch network-request-information.network-name","xml":"<switch test='`$network-topology-operation-input.network-request-input.network-name`'>\n","comments":"","outputs":1,"x":604.3651161193848,"y":470.68650007247925,"z":"1a8b5305.c085cd","wires":[["22435a1e.c63286","1ea3bcf5.db62a3"]]},{"id":"a4d718a8.4b5a78","type":"comment","name":"if network-name not populated, generate","info":"","comments":"","x":577.8889389038086,"y":297.6388816833496,"z":"1a8b5305.c085cd","wires":[]},{"id":"22435a1e.c63286","type":"other","name":"outcome NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":899.5556564331055,"y":463.97219467163086,"z":"1a8b5305.c085cd","wires":[["1d9431b.4db66ce"]]},{"id":"1d9431b.4db66ce","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1092.8888549804688,"y":461.3055396080017,"z":"1a8b5305.c085cd","wires":[["a9e920ad.ae72"]]},{"id":"a9e920ad.ae72","type":"switchNode","name":"switch network-model.ecomp-generated-naming","xml":"<switch test='`$network-model.ecomp-generated-naming`'>\n","comments":"","outputs":1,"x":1387.5554695129395,"y":459.3055396080017,"z":"1a8b5305.c085cd","wires":[["2c61b334.66b64c","a3fb55a9.a89968"]]},{"id":"2c61b334.66b64c","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":1707.5555229187012,"y":447.30554962158203,"z":"1a8b5305.c085cd","wires":[["e30091c0.02f1a"]]},{"id":"e30091c0.02f1a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">\n","atomic":"true","comments":"","outputs":1,"x":1876.305564880371,"y":447.80553817749023,"z":"1a8b5305.c085cd","wires":[["7a3fdfa5.4ccd4"]]},{"id":"a3fb55a9.a89968","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1698.7778129577637,"y":480.30554962158203,"z":"1a8b5305.c085cd","wires":[["da34b64.c9ee048"]]},{"id":"da34b64.c9ee048","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=\"Network name is required if ecomp naming is false\" />\n\n","comments":"","x":1876.7778129577637,"y":479.30554962158203,"z":"1a8b5305.c085cd","wires":[]},{"id":"7a3fdfa5.4ccd4","type":"switchNode","name":"switch network-model.ecomp-generated-naming","xml":"<switch test='`$network-model.naming-policy`'>\n","comments":"","outputs":1,"x":2198.221389770508,"y":447.3055124282837,"z":"1a8b5305.c085cd","wires":[["f1453c06.5ed4a","6b66fa0f.19fd64","f9fba683.787ff8","e3a6601d.ee1c2","d21320c7.875be","3927bc9.ef1ad44"]]},{"id":"6b66fa0f.19fd64","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2501.2216873168945,"y":711.3055171966553,"z":"1a8b5305.c085cd","wires":[["42111482.a679dc"]]},{"id":"f1453c06.5ed4a","type":"other","name":"outcome org.openecomp.policy.naming.SriovProvider.SriovProviderNetwork","xml":"<outcome value='org.openecomp.policy.naming.SriovProvider.SriovProviderNetwork'>\n","comments":"","outputs":1,"x":2715.333381652832,"y":615.3055877685547,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"42111482.a679dc","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=\"`'Unknown naming policy = ' \n + $network-model.naming-policy`\" />\n\n","comments":"","x":2661.665948867798,"y":710.9721937179565,"z":"1a8b5305.c085cd","wires":[]},{"id":"36f8e62e.3e607a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3251.000175476074,"y":188.6388816833496,"z":"1a8b5305.c085cd","wires":[["e8c5e30.358142","dac3091b.c72dd8","61e7e703.d3e688","749f7e23.95d86","f1f2ca4a.1510c8","c5ab838b.1f37b"]]},{"id":"e8c5e30.358142","type":"set","name":"set nameformat","xml":"<set>\n<parameter name='tmp.network-name-prefix' value='$TenantName_int_$role_net' />\n","comments":"","x":3687.6187286376953,"y":85.40079879760742,"z":"1a8b5305.c085cd","wires":[]},{"id":"4ed6dd56.64d354","type":"set","name":"set nameformat","xml":"<set>\n<parameter name='tmp.network-name-prefix' value='$TenantName_$role_net' />\n","comments":"","x":3685.4286880493164,"y":127.25794219970703,"z":"1a8b5305.c085cd","wires":[]},{"id":"9269a69b.c004e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3201.57186126709,"y":615.3056554794312,"z":"1a8b5305.c085cd","wires":[["4ed6dd56.64d354","dac3091b.c72dd8","61e7e703.d3e688","749f7e23.95d86","f1f2ca4a.1510c8","c5ab838b.1f37b"]]},{"id":"f9fba683.787ff8","type":"other","name":"outcome org.openecomp.policy.naming.ViprProtectedOam.ViprOamProtectedNetwork","xml":"<outcome value='org.openecomp.policy.naming.ViprProtectedOam.ViprOamProtectedNetwork'>\n","comments":"","outputs":1,"x":2755.111503601074,"y":338.6389513015747,"z":"1a8b5305.c085cd","wires":[["36f8e62e.3e607a"]]},{"id":"dac3091b.c72dd8","type":"execute","name":"execute SliStringUtils - replace tenantname","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.network-name-prefix`\"/>\n <parameter name=\"outputPath\" value=\"tmp.network-name-prefix\"/>\n <parameter name=\"target\" value=\"$TenantName\"/>\n <parameter name=\"replacement\" value=\"`$aai.tenant.tenant-name`\"/>\n\n","comments":"","outputs":1,"x":3761.873222351074,"y":250.92461776733398,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"61e7e703.d3e688","type":"execute","name":"execute SliStringUtils - replace role","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.network-name-prefix`\"/>\n <parameter name=\"outputPath\" value=\"tmp.network-name-prefix\"/>\n <parameter name=\"target\" value=\"$role\"/>\n <parameter name=\"replacement\" value=\"`$network-model.network-role`\"/>\n\n","comments":"","outputs":1,"x":3734.873222351074,"y":285.924617767334,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"749f7e23.95d86","type":"get-resource","name":"get-resource NETWORK_INSTANCE_NAME_INDEX","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix\n = $tmp.network-name-prefix'\n pfx='db.network-name-prefix'>\n\n","comments":"","outputs":1,"x":3784.539970397949,"y":321.924617767334,"z":"1a8b5305.c085cd","wires":[["d1722a3d.4b95d8"]]},{"id":"f1f2ca4a.1510c8","type":"switchNode","name":"switch index-number","xml":"<switch test='`$db.network-name-prefix.index-number`'>\n","comments":"","outputs":1,"x":3690.25431060791,"y":426.21020221710205,"z":"1a8b5305.c085cd","wires":[["e5a7ba6c.507c58","27e6f16.769840e"]]},{"id":"27e6f16.769840e","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":3873.1113510131836,"y":467.63871574401855,"z":"1a8b5305.c085cd","wires":[["b0448576.a22c18"]]},{"id":"e5a7ba6c.507c58","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":3874.5399017333984,"y":383.3530445098877,"z":"1a8b5305.c085cd","wires":[["7b9484b0.6f36cc"]]},{"id":"9b3d1da7.01a72","type":"save","name":"save (insert) name index","xml":"<save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\n key=\"insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)\"\n force='false' pfx='pfx'>\n","comments":"","outputs":1,"x":4248.825759887695,"y":487.6390686035156,"z":"1a8b5305.c085cd","wires":[["63e45141.ca441"]]},{"id":"7f3fa0.f0f1d06","type":"set","name":"increment index number","xml":"<set>\n<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' />\n","comments":"","x":4245.96854019165,"y":360.4960594177246,"z":"1a8b5305.c085cd","wires":[]},{"id":"b0448576.a22c18","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":4031.6828956604004,"y":466.21035957336426,"z":"1a8b5305.c085cd","wires":[["a01edb2f.ec40a8","9b3d1da7.01a72"]]},{"id":"d1722a3d.4b95d8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4058.825611114502,"y":320.4960289001465,"z":"1a8b5305.c085cd","wires":[["f4b5aa4d.2456c8"]]},{"id":"f4b5aa4d.2456c8","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 reading the NETWORK_INSTANCE_NAME_INDEX table\" />\n","comments":"","x":4213.111427307129,"y":320.4960479736328,"z":"1a8b5305.c085cd","wires":[]},{"id":"a01edb2f.ec40a8","type":"set","name":"set new index number to 1","xml":"<set>\n<parameter name='tmp.index-number' value='1' />\n","comments":"","x":4254.54012298584,"y":444.78167724609375,"z":"1a8b5305.c085cd","wires":[]},{"id":"9005b1b8.d71dc","type":"save","name":"save (update) name index","xml":"<save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\n key=\"update NETWORK_INSTANCE_NAME_INDEX\n set index_number = $tmp.index-number\n where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix \"\n force='false' pfx='pfx'>\n","comments":"","outputs":1,"x":4253.111484527588,"y":401.9246120452881,"z":"1a8b5305.c085cd","wires":[["d17ac839.1a13f8"]]},{"id":"7b9484b0.6f36cc","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":4031.682792663574,"y":381.9244918823242,"z":"1a8b5305.c085cd","wires":[["7f3fa0.f0f1d06","9005b1b8.d71dc"]]},{"id":"d17ac839.1a13f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4475.96854019165,"y":401.9246120452881,"z":"1a8b5305.c085cd","wires":[["957fcd83.2301e"]]},{"id":"957fcd83.2301e","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=\"Failed to update SERVICE_INSTANCE_NAME_INDEX table\" />\n","comments":"","x":4630.254356384277,"y":401.9246311187744,"z":"1a8b5305.c085cd","wires":[]},{"id":"63e45141.ca441","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4474.539840698242,"y":487.6388244628906,"z":"1a8b5305.c085cd","wires":[["deb7415b.ff8fd"]]},{"id":"deb7415b.ff8fd","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=\"Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table\" />\n","comments":"","x":4628.825656890869,"y":487.63884353637695,"z":"1a8b5305.c085cd","wires":[]},{"id":"c5ab838b.1f37b","type":"set","name":"set tmp.network-instance-name","xml":"<set>\n<parameter name='tmp.network-instance-name' value=\"`$tmp.network-name-prefix + '_' + $tmp.index-number`\" />\n","comments":"","x":3727.825107574463,"y":505.3531255722046,"z":"1a8b5305.c085cd","wires":[]},{"id":"c7c72a39.652de8","type":"set","name":"set object-path","xml":"<set>\n<parameter name='network-object-path'\n value=\"`$tmp.l3-network.self-link`\"/>\n \n","comments":"","x":503.2063407897949,"y":3350.4801511764526,"z":"1a8b5305.c085cd","wires":[]},{"id":"8773a6fd.bcffa8","type":"set","name":"set networkId","xml":"<set>\n<parameter name='networkId' value='`$tmp.l3-network.network-id`' />\n","comments":"","x":504.63486099243164,"y":3304.765769958496,"z":"1a8b5305.c085cd","wires":[]},{"id":"a057f23f.aa6af","type":"set","name":"set network-level-oper-status","xml":"<set>\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />\n","comments":"","x":550.9205741882324,"y":3396.194423675537,"z":"1a8b5305.c085cd","wires":[]},{"id":"71a62cc6.0c1ad4","type":"set","name":"set network in service-data","xml":"<set>\n<parameter name=\"service-data.networks.network[$nidx].network-id\" value='`$tmp.l3-network.network-id`' />\n<parameter name=\"service-data.networks.network[$nidx].network-data.network-topology.\" value='$network-topology.' />\n<parameter name=\"service-data.networks.network_length\" value='`$nidx+1`' />\n\n","comments":"","x":552.4920387268066,"y":3124.051595687866,"z":"1a8b5305.c085cd","wires":[]},{"id":"9c5b3463.cd7bf8","type":"set","name":"copy input to service-data","xml":"<set>\n<parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />\n","comments":"","x":547.7300186157227,"y":3163.813540458679,"z":"1a8b5305.c085cd","wires":[]},{"id":"868ff2ba.bc798","type":"set","name":"set network-topology-identifier-structure in service-data","xml":"<set>\n<parameter name='network-topology.network-topology-identifier-structure.' value='`$tmp.l3-network.`' />\n<parameter name='network-topology.tenant' value='`$network-topology-operation-input.network-request-input.tenant`' />\n<parameter name='network-topology.ecomp-model-information.' value='`$network-topology-operation-input.network-information.ecomp-model-information.`' />\n<parameter name='network-topology.network-parameters.' value='`$network-topology-operation-input.network-request-input.network-parameters.`' />\n<parameter name='network-topology.aic-cloud-region' value='`$network-topology-operation-input.network-request-input.aic-cloud-region`' />","comments":"","x":637.4920539855957,"y":3016.908727169037,"z":"1a8b5305.c085cd","wires":[]},{"id":"679ee129.c4252","type":"switchNode","name":"switch service-data.networks_length","xml":"<switch test='`$service-data.networks.network_length`'>\n","comments":"","outputs":1,"x":582.2538871765137,"y":3073.0992045402527,"z":"1a8b5305.c085cd","wires":[["d892cc25.abd2e","1419948c.74a04b"]]},{"id":"d892cc25.abd2e","type":"other","name":"Null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":886.0634269714355,"y":3064.0516147613525,"z":"1a8b5305.c085cd","wires":[["256eeb6b.789b54"]]},{"id":"256eeb6b.789b54","type":"set","name":"set nidx","xml":"<set>\n<parameter name='nidx' value='0' />\n","comments":"","x":1066.0634689331055,"y":3061.6230306625366,"z":"1a8b5305.c085cd","wires":[]},{"id":"1419948c.74a04b","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":888.9205894470215,"y":3089.765887260437,"z":"1a8b5305.c085cd","wires":[["265dbf75.6b9f6"]]},{"id":"265dbf75.6b9f6","type":"set","name":"set nidx","xml":"<set>\n<parameter name='nidx' value='`$service-data.networks.network_length`' />\n","comments":"","x":1067.4920196533203,"y":3098.6230878829956,"z":"1a8b5305.c085cd","wires":[]},{"id":"70ec648.56c6c9c","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2517.999942779541,"y":194.00002670288086,"z":"1a8b5305.c085cd","wires":[["25c11570.4e18ba"]]},{"id":"25c11570.4e18ba","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2682.999942779541,"y":194.00002670288086,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"ea7bbc28.439ef","type":"comment","name":"pull vpn binding from db table vs field","info":"","comments":"","x":1884.0740661621094,"y":187.53438568115234,"z":"1a8b5305.c085cd","wires":[]},{"id":"2dde48f4.4544e8","type":"for","name":"for 0..vpn-bindings_length","xml":"<for index='vidx' start='0' end='`$vpn-bindings_length`' >\n","comments":"","outputs":1,"x":1858.4393882751465,"y":256.34392642974854,"z":"1a8b5305.c085cd","wires":[["654f5072.a2802"]]},{"id":"654f5072.a2802","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2066.9150428771973,"y":258.4233341217041,"z":"1a8b5305.c085cd","wires":[["be126fa6.e030e"]]},{"id":"911dd542.ed2ee8","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=\"Unexpected error retrieving vpn binding\" />\n\n","comments":"","x":1638.6769752502441,"y":330.77249813079834,"z":"1a8b5305.c085cd","wires":[]},{"id":"32d5ba47.7aac96","type":"set","name":"set hasVpnBindings=true","xml":"<set>\n<parameter name='hasVpnBindings' value='true' />\n","comments":"","x":1856.6137466430664,"y":224.91532611846924,"z":"1a8b5305.c085cd","wires":[]},{"id":"1ea3bcf5.db62a3","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":887.1851005554199,"y":520.2963137626648,"z":"1a8b5305.c085cd","wires":[["e6e8dae5.027898"]]},{"id":"34cb595d.aff816","type":"get-resource","name":"get-resource tenant","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"tenant\" \n\t\tkey=\"cloud-region.cloud-owner = 'att-aic' AND \n\t\t cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND\n\t\t tenant.tenant-id = $network-topology-operation-input.network-request-input.tenant\"\n pfx='aai.tenant' local-only='false' >\n\n","comments":"","outputs":1,"x":516.6295700073242,"y":382.962947845459,"z":"1a8b5305.c085cd","wires":[["8869ece2.c675b","49964e35.7bcd","f9e58c7b.aacc4"]]},{"id":"8869ece2.c675b","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":737.4909591674805,"y":375.5740623474121,"z":"1a8b5305.c085cd","wires":[["12cdda76.c90c96"]]},{"id":"49964e35.7bcd","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":732.8239860534668,"y":408.9073762893677,"z":"1a8b5305.c085cd","wires":[["12cdda76.c90c96"]]},{"id":"12cdda76.c90c96","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=\"Tenant not found in AAI\" />\n\n","comments":"","x":933.666633605957,"y":383.6296272277832,"z":"1a8b5305.c085cd","wires":[]},{"id":"4f0e6905.0b7fa8","type":"set","name":"set tmp.network-instance-name","xml":"<set>\n<parameter name='tmp.network-instance-name' value=\"`$network-topology-operation-input.network-request-input.network-name`\" />\n","comments":"","x":1342.3702583312988,"y":520.2962832450867,"z":"1a8b5305.c085cd","wires":[]},{"id":"e6e8dae5.027898","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1085.7036628723145,"y":520.2962832450867,"z":"1a8b5305.c085cd","wires":[["4f0e6905.0b7fa8"]]},{"id":"aa240c34.3d017","type":"set","name":"set tmp.l3-network","xml":"<set>\n<parameter name='tmp.l3-network.network-id' value=\"`$tmp.return.generate-l3network-network-id.uuid`\" />\n<parameter name='tmp.l3-network.network-name' value=\"`$tmp.network-instance-name`\" />\n<parameter name='tmp.l3-network.network-type' value=\"`$network-model.network-type`\" />\n<parameter name='tmp.l3-network.network-role' value=\"`$network-model.network-role`\" />\n<parameter name='tmp.l3-network.network-technology' value=\"`$network-model.network-technology`\" />\n<parameter name='tmp.l3-network.is-bound-to-vpn' value=\"`$network-model.is-bound-to-vpn`\" />\n<parameter name='tmp.l3-network.orchestration-status' value=\"PendingCreate\" />\n<parameter name='tmp.l3-network.model-invariant-id' value=\"`$network-topology-operation-input.network-information.ecomp-model-information.model-invariant-uuid`\" />\n<parameter name='tmp.l3-network.model-version-id' value=\"`$network-topology-operation-input.network-information.ecomp-model-information.model-version`\" />\n<parameter name='tmp.l3-network.model-customization-id' value=\"`$network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid`\" />\n<parameter name='tmp.l3-network.is-provider-network' value=\"`$network-model.is-provider-network`\" />\n<parameter name='tmp.l3-network.is-shared-network' value=\"`$network-model.is-shared-network`\" />\n<parameter name='tmp.l3-network.is-external-network' value=\"`$network-model.is-external-network`\" />\n<parameter name='tmp.l3-network.eipam-v6-address-plan' value=\"`$network-model.eipam-v6-address-plan`\" />\n<parameter name='tmp.l3-network.eipam-v4-address-plan' value=\"`$network-model.eipam-v4-address-plan`\" />\n<parameter name='tmp.l3-network.service-id' value=\"`$service-data.service-information.service-id`\" />\n<parameter name='tmp.l3-network.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $network-topology-operation-input.service-information.service-instance-id\n + '/service-data/networks/network/'\n + $tmp.l3-network.network-id\n + '/network-data/network-topology/'` \" />\n","comments":"","x":509.244140625,"y":653.2910766601562,"z":"1a8b5305.c085cd","wires":[]},{"id":"a5f2c0c4.2e002","type":"call","name":"call generate-l3network-network-id","xml":"<call module='GENERIC-RESOURCE-API' rpc='generate-l3network-network-id' mode='sync' >\n","comments":"","outputs":1,"x":556.3866653442383,"y":605.7196311950684,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"cae13e62.0dbe2","type":"switchNode","name":"switch network--model.is-provider-network","xml":"<switch test='`$network-model.is-provider-network`'>\n","comments":"","outputs":1,"x":582.7352676391602,"y":694.5768089294434,"z":"1a8b5305.c085cd","wires":[["89c6a854.601f48","7724a3fb.17a6ec"]]},{"id":"89c6a854.601f48","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":882.8784408569336,"y":679.402265548706,"z":"1a8b5305.c085cd","wires":[["602f391.030b8c8"]]},{"id":"602f391.030b8c8","type":"set","name":"set tmp.l3-network.physical-network-name","xml":"<set>\n<parameter name='tmp.l3-network.physical-network-name' value=\"`$network-model.physical-network-name`\" />\n<parameter name='tmp.l3-network.is-provider-network-boolean' value='true' />","comments":"","x":1150.8782958984375,"y":676.4022312164307,"z":"1a8b5305.c085cd","wires":[]},{"id":"4728dc8a.76ddd4","type":"set","name":"set tmp.network-topology","xml":"<set>\n<parameter name='tmp.network-topology.network-topology-identifier-structure.network-id' value=\"`$tmp.l3-network.network-name`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.network-name' value=\"`$tmp.l3-network.network-name`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.network-type' value=\"`$tmp.l3-network.network-type`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.network-role' value=\"`$tmp.l3-network.network-role`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.network-technology' value=\"`$tmp.l3-network.network-technology`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.eipam-v4-address-plan' value=\"`$network-model.eipam-v4-address-plan`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.eipam-v6-address-plan' value=\"`$network-model.eipam-v6-address-plan`\" />\n<parameter name='tmp.network-topology.region-identifier.tenant' value=\"`$network-topology-operation-input.network-request-input.tenant`\" />\n<parameter name='tmp.network-topology.region-identifier.aic-cloud-region' value=\"`$network-topology-operation-input.network-request-input.aic-cloud-region`\" />\n<parameter name='tmp.network-topology.region-identifier.aic-clli' value=\"`$network-topology-operation-input.network-request-input.aic-clli`\" />\n<parameter name='tmp.network-topology.ecomp-model-information.' value=\"`$network-topology-operation-input.network-information.ecomp-model-information.`\" />\n<parameter name='tmp.network-topology.network-parameters.' value=\"`$network-topology-operation-input.network-request-input.network-input-parameters.`\" />\n","comments":"","x":577.4101905822754,"y":2448.9736881256104,"z":"1a8b5305.c085cd","wires":[]},{"id":"bc4df92.6ad6f08","type":"switchNode","name":"switch network-model.eipam-v4-address-plan (VIPR)","xml":"<switch test='`$network-model.eipam-v4-address-plan`'>\n","comments":"","outputs":1,"x":2028.5613021850586,"y":1388.909984588623,"z":"1a8b5305.c085cd","wires":[["5efa60f2.f4a81","464197e1.4cabd8","b87722fe.57e3c","279f950e.baf49a"]]},{"id":"5efa60f2.f4a81","type":"other","name":"AIC_ATM_UNPROTECTED_V4","xml":"<outcome value='AIC_ATM_UNPROTECTED_V4'>","comments":"","outputs":1,"x":2488.560722351074,"y":1357.9098014831543,"z":"1a8b5305.c085cd","wires":[["b8481fbd.f33f6"]]},{"id":"464197e1.4cabd8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2412.2276878356934,"y":1473.2434101104736,"z":"1a8b5305.c085cd","wires":[["54efc2e2.b2c12c"]]},{"id":"797304de.6cccec","type":"save","name":"save relationship: service-instance","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-network:relationship-list\" \n\tkey=\"l3-network.network-id = $tmp.l3-network.network-id\" >\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"service-instance\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"customer.global-customer-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.service-information.global-customer-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"service-subscription.service-type\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$service-data.service-information.subscription-service-type`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"service-instance.service-instance-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$service-data.service-information.service-instance-id`\" />","comments":"","outputs":1,"x":617.2711410522461,"y":2710.8468132019043,"z":"1a8b5305.c085cd","wires":[["2f4f1f7c.f19a9","29f88949.932b36"]]},{"id":"b87722fe.57e3c","type":"other","name":"AIC_ATM_PROTECTED_V4","xml":"<outcome value='AIC_ATM_PROTECTED_V4'>","comments":"","outputs":1,"x":2478.449333190918,"y":1395.4656400680542,"z":"1a8b5305.c085cd","wires":[["b8481fbd.f33f6"]]},{"id":"54efc2e2.b2c12c","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=\"Invalid address plan for VIPR\" />\n","comments":"","x":2583.1158714294434,"y":1474.5766925811768,"z":"1a8b5305.c085cd","wires":[]},{"id":"ccfde65e.e5a838","type":"switchNode","name":"switch network-model.eipam-v4-address-plan (SRIOV)","xml":"<switch test='`$network-model.eipam-v4-address-plan`'>\n","comments":"","outputs":1,"x":2064.2953033447266,"y":1737.5170440673828,"z":"1a8b5305.c085cd","wires":[["7d69ddb.4eb1724","661e7fce.8d3e6","cb5bdfca.b22e2","2a9685d1.8f282a"]]},{"id":"7d69ddb.4eb1724","type":"other","name":"AIC_DATA_PLANE_UNPROTECTED_V4","xml":"<outcome value='AIC_DATA_PLANE_UNPROTECTED_V4'>","comments":"","outputs":1,"x":2531.5452423095703,"y":1736.7669706344604,"z":"1a8b5305.c085cd","wires":[["dd3a41a3.fce13"]]},{"id":"661e7fce.8d3e6","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2424.15252494812,"y":1851.588595867157,"z":"1a8b5305.c085cd","wires":[["e08c16f9.560da8"]]},{"id":"cb5bdfca.b22e2","type":"other","name":"AIC_DATA_PLANE_PROTECTED_V4","xml":"<outcome value='AIC_DATA_PLANE_PROTECTED_V4'>","comments":"","outputs":1,"x":2527.9339141845703,"y":1773.5725135803223,"z":"1a8b5305.c085cd","wires":[["dd3a41a3.fce13"]]},{"id":"e08c16f9.560da8","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=\"Invalid address plan for SRIOV\" />\n","comments":"","x":2570.0407104492188,"y":1854.1718482971191,"z":"1a8b5305.c085cd","wires":[]},{"id":"2a9685d1.8f282a","type":"other","name":"AIC_DATA_PLANE_PRIVATE_V4","xml":"<outcome value='AIC_DATA_PLANE_PRIVATE_V4'>","comments":"","outputs":1,"x":2510.1525268554688,"y":1812.3384685516357,"z":"1a8b5305.c085cd","wires":[["dd3a41a3.fce13"]]},{"id":"14bf4e76.feb402","type":"switchNode","name":"switch network-model.eipam-v6-address-plan","xml":"<switch test='`$network-model.eipam-v6-address-plan`'>\n","comments":"","outputs":1,"x":2008.493263244629,"y":1556.5017204284668,"z":"1a8b5305.c085cd","wires":[["24428acd.934a56","a8641e83.b8db7","95022c2.dc0f4d","e1a0deaa.2971a"]]},{"id":"a2da1074.b277a","type":"save","name":"save AnAI - l3-network","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-network\" \n\t\tkey=\"l3-network.network-id = $tmp.l3-network.network-id\" >\n<!-- Create l3-network object -->\n<parameter name=\"network-id\" value=\"`$tmp.l3-network.network-id`\" />\n<parameter name=\"network-name\" value=\"`$tmp.l3-network.network-name`\" />\n<parameter name=\"network-type\" value=\"`$tmp.l3-network.network-type`\" />\n<parameter name=\"network-role\" value=\"`$tmp.l3-network.network-role`\" />\n<parameter name=\"network-technology\" value=\"`$tmp.l3-network.network-technology`\" />\n<parameter name=\"is-bound-to-vpn\" value=\"`$tmp.l3-network.is-bound-to-vpn`\" />\n<parameter name=\"service-id\" value=\"`$tmp.l3-network.service-id`\" />\n<parameter name=\"tenant-id\" value=\"`$network-topology-operation-input.network-request-information.tenant`\" />\n<parameter name=\"orchestration-status\" value=\"PendingCreate\" />\n<parameter name=\"persona-model-id\" value=\"`$tmp.l3-network.persona-model-id`\" />\n<parameter name=\"persona-model-version\" value=\"`$tmp.l3-network.persona-model-version`\" />\n<parameter name=\"persona-model-customization-id\" value=\"`$tmp.l3-network.persona-model-customization-id`\" />\n<parameter name=\"physical-network-name\" value=\"`$tmp.l3-network.physical-network-name`\" />\n<parameter name=\"is-provider-network\" value=\"`$tmp.l3-network.is-provider-network-boolean`\" />\n<parameter name=\"is-shared-network\" value=\"`$tmp.l3-network.is-shared-network-boolean`\" />\n<parameter name=\"is-external-network\" value=\"`$tmp.l3-network.is-external-network-boolean`\" />\n<parameter name=\"selflink\" value=\"`$tmp.l3-network.self-link`\" />\n","comments":"","outputs":1,"x":560.1203231811523,"y":2508.6126823425293,"z":"1a8b5305.c085cd","wires":[["c40893c5.bed6a","cc2e1488.ed29e8"]]},{"id":"a3b08dd5.410cf","type":"switchNode","name":"switch network-model.eipam-v6-address-plan (SRIOV)","xml":"<switch test='`$network-model.eipam-v6-address-plan`'>\n","comments":"","outputs":1,"x":2100.3426971435547,"y":1955.7078790664673,"z":"1a8b5305.c085cd","wires":[["9370dcee.b1658","230c5ba9.b8ec14","8421ed93.f98dc","d1efeef1.782e5","c7ab8d9a.6efc4","4e216a04.bdc844"]]},{"id":"9370dcee.b1658","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2434.770872116089,"y":2150.6365903019905,"z":"1a8b5305.c085cd","wires":[["e7e4c219.08456"]]},{"id":"e7e4c219.08456","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=\"Invalid ipv6 address plan for SRIOV\" />\n","comments":"","x":2600.6589279174805,"y":2149.6485112309456,"z":"1a8b5305.c085cd","wires":[]},{"id":"230c5ba9.b8ec14","type":"other","name":"AIC_ATM_UNPROTECTED_V6","xml":"<outcome value=\"AIC_ATM_UNPROTECTED_V6\">","comments":"","outputs":1,"x":2503.6082305908203,"y":1956.9102249145508,"z":"1a8b5305.c085cd","wires":[["403ea448.83caac"]]},{"id":"8421ed93.f98dc","type":"other","name":"AIC_ATM_PROTECTED_V6","xml":"<outcome value=\"AIC_ATM_PROTECTED_V6\">","comments":"","outputs":1,"x":2498.893585205078,"y":1998.9102478027344,"z":"1a8b5305.c085cd","wires":[["403ea448.83caac"]]},{"id":"d1efeef1.782e5","type":"other","name":"AIC_DATA_PLANE_UNPROTECTED_V6","xml":"<outcome value=\"AIC_DATA_PLANE_UNPROTECTED_V6\">","comments":"","outputs":1,"x":2538.795234680176,"y":2037.0531024932861,"z":"1a8b5305.c085cd","wires":[["403ea448.83caac"]]},{"id":"4e216a04.bdc844","type":"other","name":"AIC_DATA_PLANE_PROTECTED_V6","xml":"<outcome value=\"AIC_DATA_PLANE_PROTECTED_V6\">","comments":"","outputs":1,"x":2527.509864807129,"y":2104.4815190434456,"z":"1a8b5305.c085cd","wires":[["403ea448.83caac"]]},{"id":"c7ab8d9a.6efc4","type":"other","name":"AIC_DATA_PLANE_PRIVATE_V6","xml":"<outcome value=\"AIC_DATA_PLANE_PRIVATE_V6\">","comments":"","outputs":1,"x":2515.795440673828,"y":2071.910224914551,"z":"1a8b5305.c085cd","wires":[["403ea448.83caac"]]},{"id":"7724a3fb.17a6ec","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":870.2434997558594,"y":710.2752866744995,"z":"1a8b5305.c085cd","wires":[["e943ec69.aeaf6"]]},{"id":"e943ec69.aeaf6","type":"set","name":"set tmp.l3-network.physical-network-name","xml":"<set>\n<parameter name='tmp.l3-network.physical-network-name' value=\"\" />\n<parameter name='tmp.l3-network.is-provider-network-boolean' value='false' />","comments":"","x":1154.5294570922852,"y":708.8467178344727,"z":"1a8b5305.c085cd","wires":[]},{"id":"b7ab3890.826f88","type":"switchNode","name":"switch network--model.is-shared-network","xml":"<switch test='`$network-model.is-shared-network`'>\n","comments":"","outputs":1,"x":583.7351722717285,"y":741.878303527832,"z":"1a8b5305.c085cd","wires":[["ddbe6021.0df94","43db457d.275bfc"]]},{"id":"ddbe6021.0df94","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":881.0210113525391,"y":745.2752389907837,"z":"1a8b5305.c085cd","wires":[["dfdc8285.e2d84"]]},{"id":"dfdc8285.e2d84","type":"set","name":"set tmp.l3-network.is-shared-network-boolean","xml":"<set>\n<parameter name='tmp.l3-network.is-shared-network-boolean' value='true' />","comments":"","x":1173.3067245483398,"y":745.2750864028931,"z":"1a8b5305.c085cd","wires":[]},{"id":"43db457d.275bfc","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":869.8150367736816,"y":780.5767459869385,"z":"1a8b5305.c085cd","wires":[["48fd2235.78fcdc"]]},{"id":"48fd2235.78fcdc","type":"set","name":"set tmp.l3-network.is-shared-network-boolean","xml":"<set>\n<parameter name='tmp.l3-network.is-shared-network-boolean' value='false' />","comments":"","x":1174.1009559631348,"y":780.4339237213135,"z":"1a8b5305.c085cd","wires":[]},{"id":"a6f05dc6.5396f","type":"switchNode","name":"switch network--model.is-external-network","xml":"<switch test='`$network-model.is-external-network`'>\n","comments":"","outputs":1,"x":586.7517318725586,"y":810.5926513671875,"z":"1a8b5305.c085cd","wires":[["dde6ab06.666f48","3f618dc2.181b72"]]},{"id":"dde6ab06.666f48","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":884.0375709533691,"y":813.9895868301392,"z":"1a8b5305.c085cd","wires":[["fa82ba7a.274818"]]},{"id":"fa82ba7a.274818","type":"set","name":"set tmp.l3-network.is-external-network-boolean","xml":"<set>\n<parameter name='tmp.l3-network.is-external-network-boolean' value='true' />","comments":"","x":1176.32328414917,"y":813.9894342422485,"z":"1a8b5305.c085cd","wires":[]},{"id":"3f618dc2.181b72","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":872.8315963745117,"y":849.291093826294,"z":"1a8b5305.c085cd","wires":[["1d5e084a.a29b78"]]},{"id":"1d5e084a.a29b78","type":"set","name":"set tmp.l3-network.is-external-network-boolean","xml":"<set>\n<parameter name='tmp.l3-network.is-external-network-boolean' value='false' />","comments":"","x":1177.1175155639648,"y":849.148271560669,"z":"1a8b5305.c085cd","wires":[]},{"id":"3837a2bc.6e158e","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=\"`'Failed to save l3-network in AAI for network-id = ' + $tmp.l3-network.network-id`\" />\n","comments":"","x":1023.7992134094238,"y":2491.6560916900635,"z":"1a8b5305.c085cd","wires":[]},{"id":"c40893c5.bed6a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":795.2278213500977,"y":2490.671829223633,"z":"1a8b5305.c085cd","wires":[["3837a2bc.6e158e"]]},{"id":"8d2ed5fd.a2be38","type":"save","name":"save AnAI - l3-network.subnets","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"subnet\" \n\t\tkey=\"l3-network.network-id = $tmp.l3-network.network-id \n\t\t\tAND subnet.subnet-id = $tmp.subnet-id\" >\n<!-- Create l3-network object -->\n<parameter name=\"network-id\" value=\"`$tmp.l3-network.network-id`\" />\n<parameter name=\"subnet-id\" value=\"`$tmp.l3-network.subnet[$sidx].subnet-id`\" />\n<parameter name=\"subnet-name\" value=\"`$tmp.l3-network.subnet[$sidx].subnet-name`\" />\n<parameter name=\"gateway-address\" value=\"`$tmp.l3-network.subnet[$sidx].gateway-address`\" />\n<parameter name=\"network-start-address\" value=\"`$tmp.l3-network.subnet[$sidx].network-start-address`\" />\n<parameter name=\"cidr-mask\" value=\"`$tmp.l3-network.subnet[$sidx].cidr-mask`\" />\n<parameter name=\"ip-version\" value=\"`$tmp.l3-network.subnet[$sidx].ip-version`\" />\n<parameter name=\"dhcp-enabled\" value=\"`$tmp.l3-network.subnet[$sidx].dhcp-enabled`\" />\n<parameter name=\"orchestration-status\" value=\"PendingCreate\" />","comments":"","outputs":1,"x":1678.6559104919434,"y":2591.67188167572,"z":"1a8b5305.c085cd","wires":[["10173bcb.62db54","304a38c0.5ac098"]]},{"id":"e495d7bf.6827a8","type":"for","name":"for 0..subnet_length","xml":"<for index='sidx' start='0' end='`$tmp.l3-network.subnet_length`' >\n","comments":"","outputs":1,"x":562.2121324539185,"y":2569.6719675064087,"z":"1a8b5305.c085cd","wires":[["9a14be8b.c4dce"]]},{"id":"9a14be8b.c4dce","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":789.3548126220703,"y":2568.5609188079834,"z":"1a8b5305.c085cd","wires":[["113cc2e1.6bb4ed","cb48f70c.4ee7f8"]]},{"id":"10173bcb.62db54","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1934.4962425231934,"y":2548.1478338241577,"z":"1a8b5305.c085cd","wires":[["e72b852c.6da448"]]},{"id":"ed1fbf08.fa0f9","type":"save","name":"save relationship: tenant and cloud-region","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-network:relationship-list\" \n\tkey=\"l3-network.network-id = $tmp.l3-network.network-id\" \n\tforce=\"true\" \n\tlocal-only=\"false\">\n\t<!-- create relationship-list -->\n\t<parameter name=\"relationship-list.relationship[0].related-to\" value=\"tenant\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"att-aic\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$network-topology-operation-input.network-request-input.aic-cloud-region`\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"tenant.tenant-id\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$network-topology-operation-input.network-request-input.tenant`\" />\n\t<parameter name=\"relationship-list.relationship[1].related-to\" value=\"cloud-region\" />\n\t<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n\t<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-value\" value=\"att-aic\" />\n\t<parameter name=\"relationship-list.relationship[1].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n\t<parameter name=\"relationship-list.relationship[1].relationship-data[1].relationship-value\" value=\"`$network-topology-operation-input.network-request-input.aic-cloud-region`\" />\n\t\n\t","comments":"","outputs":1,"x":617.9264144897461,"y":2846.2435417175293,"z":"1a8b5305.c085cd","wires":[["f876d5b8.4f26c8","9ea6263d.2cf398"]]},{"id":"f876d5b8.4f26c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":865.9264183044434,"y":2846.243532180786,"z":"1a8b5305.c085cd","wires":[["e0ef3b91.882348"]]},{"id":"e0ef3b91.882348","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1054.3192462921143,"y":2845.879650115967,"z":"1a8b5305.c085cd","wires":[["74512067.32d89","21428fc3.65275"]]},{"id":"74512067.32d89","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while saving tenant and cloud-region relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":1300.0851249694824,"y":2836.5820569992065,"z":"1a8b5305.c085cd","wires":[]},{"id":"304a38c0.5ac098","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1943.2193870544434,"y":2585.79102230072,"z":"1a8b5305.c085cd","wires":[["e72b852c.6da448"]]},{"id":"9ea6263d.2cf398","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":873.9342613220215,"y":2888.0768547058105,"z":"1a8b5305.c085cd","wires":[["e0ef3b91.882348"]]},{"id":"2f4f1f7c.f19a9","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":853.4181060791016,"y":2709.989246368408,"z":"1a8b5305.c085cd","wires":[["10d1d9fc.30afb6"]]},{"id":"29f88949.932b36","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":864.1411399841309,"y":2743.632335662842,"z":"1a8b5305.c085cd","wires":[["10d1d9fc.30afb6"]]},{"id":"48994ca2.f68244","type":"delete","name":"delete l3-network","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-network\" \n\tkey=\"l3-network.network-id = $tmp.l3-network.network-id\">","comments":"","outputs":1,"x":1814.7355880737305,"y":3411.2118644714355,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"ca9121d3.7a07d","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='error-code' value='500'/>\n\t<parameter name='error-message' value=\"`'Error writing to l3-network - ' + $tmp.error-message`\"/>","comments":"","x":1803.3397216796875,"y":3454.407875061035,"z":"1a8b5305.c085cd","wires":[]},{"id":"21428fc3.65275","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1624.911849975586,"y":3411.4634532928467,"z":"1a8b5305.c085cd","wires":[["48994ca2.f68244","ca9121d3.7a07d"]]},{"id":"dc5a36f4.8bbba8","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":2374.3692893981934,"y":2563.0052556991577,"z":"1a8b5305.c085cd","wires":[]},{"id":"e72b852c.6da448","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2119.2267112731934,"y":2562.4337224960327,"z":"1a8b5305.c085cd","wires":[["dc5a36f4.8bbba8","21428fc3.65275"]]},{"id":"cc2e1488.ed29e8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":799.0373191833496,"y":2520.1482458114624,"z":"1a8b5305.c085cd","wires":[["3837a2bc.6e158e"]]},{"id":"113cc2e1.6bb4ed","type":"set","name":"set: tmp.subnet-id","xml":"<set>\n<parameter name=\"tmp.subnet-id\" value=\"`$tmp.l3-network.subnet[$sidx].subnet-id`\"/>\n\t","comments":"","x":1015.4183883666992,"y":2528.8146476745605,"z":"1a8b5305.c085cd","wires":[]},{"id":"cb48f70c.4ee7f8","type":"switchNode","name":"switch dhcp-enabled","xml":"<switch test='`$tmp.l3-network.subnet[$sidx].dhcp-enabled`'>\n","comments":"","outputs":1,"x":1018.7674827575684,"y":2573.683539390564,"z":"1a8b5305.c085cd","wires":[["332a0d9a.2096e2","37b18102.98d6ce"]]},{"id":"37b18102.98d6ce","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1252.7674827575684,"y":2549.6836614608765,"z":"1a8b5305.c085cd","wires":[["bbfc739f.96b1"]]},{"id":"332a0d9a.2096e2","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1250.7674827575684,"y":2585.6836614608765,"z":"1a8b5305.c085cd","wires":[["4c50ff55.54e58"]]},{"id":"412912ba.445eac","type":"save","name":"save AnAI - l3-network.subnets","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"subnet\" \n\t\tkey=\"l3-network.network-id = $tmp.l3-network.network-id \n\t\t\tAND subnet.subnet-id = $tmp.subnet-id\" >\n<!-- Create l3-network object -->\n<parameter name=\"network-id\" value=\"`$tmp.l3-network.network-id`\" />\n<parameter name=\"subnet-id\" value=\"`$tmp.l3-network.subnet[$sidx].subnet-id`\" />\n<parameter name=\"subnet-name\" value=\"`$tmp.l3-network.subnet[$sidx].subnet-name`\" />\n<parameter name=\"gateway-address\" value=\"`$tmp.l3-network.subnet[$sidx].gateway-address`\" />\n<parameter name=\"network-start-address\" value=\"`$tmp.l3-network.subnet[$sidx].network-start-address`\" />\n<parameter name=\"cidr-mask\" value=\"`$tmp.l3-network.subnet[$sidx].cidr-mask`\" />\n<parameter name=\"ip-version\" value=\"`$tmp.l3-network.subnet[$sidx].ip-version`\" />\n<parameter name=\"dhcp-start\" value=\"`$tmp.l3-network.subnet[$sidx].dhcp-start`\" />\n<parameter name=\"dhcp-end\" value=\"`$tmp.l3-network.subnet[$sidx].dhcp-end`\" />\n<parameter name=\"dhcp-enabled\" value=\"`$tmp.l3-network.subnet[$sidx].dhcp-enabled`\" />\n<parameter name=\"orchestration-status\" value=\"PendingCreate\" />","comments":"","outputs":1,"x":1678.7672386169434,"y":2547.68360042572,"z":"1a8b5305.c085cd","wires":[["304a38c0.5ac098","10173bcb.62db54"]]},{"id":"bbfc739f.96b1","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1443.6559104919434,"y":2549.906012535095,"z":"1a8b5305.c085cd","wires":[["412912ba.445eac"]]},{"id":"4c50ff55.54e58","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1443.6561546325684,"y":2589.906012535095,"z":"1a8b5305.c085cd","wires":[["8d2ed5fd.a2be38"]]},{"id":"3917cd9.7ed7c32","type":"for","name":"for 0..vpn-bindings_length","xml":"<for index='vidx' start='0' end='`$vpn-bindings_length`' >\n","comments":"","outputs":1,"x":1144.9518966674805,"y":2649.239086151123,"z":"1a8b5305.c085cd","wires":[["7c900881.645018"]]},{"id":"cb2ae5c7.b8f7a8","type":"switchNode","name":"switch hasVpnBindings","xml":"<switch test='`$hasVpnBindings`'>\n","comments":"","outputs":1,"x":585.6190299987793,"y":2650.202492713928,"z":"1a8b5305.c085cd","wires":[["8207c0b3.22e3f"]]},{"id":"6cf30f85.f2632","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":946.285758972168,"y":2651.535472869873,"z":"1a8b5305.c085cd","wires":[["3917cd9.7ed7c32"]]},{"id":"5f2018d1.a1d508","type":"save","name":"save relationship: vpn_bindings","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-network:relationship-list\" \n\tkey=\"l3-network.network-id = $tmp.l3-network.network-id\" >\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"vpn-binding\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"vpn-binding.vpn-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$vpn-bindings[$vidx].binding-uuid`\" />","comments":"","outputs":1,"x":1606.285514831543,"y":2649.202220916748,"z":"1a8b5305.c085cd","wires":[["c08b58ea.2e93c8","6ffa9708.073958"]]},{"id":"c08b58ea.2e93c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1838.0251121520996,"y":2648.0110969543457,"z":"1a8b5305.c085cd","wires":[["a8bf5972.afc6a8"]]},{"id":"a8bf5972.afc6a8","type":"block","name":"block","xml":"<block>","atomic":"false","outputs":1,"x":1994.9179916381836,"y":2647.647204399109,"z":"1a8b5305.c085cd","wires":[["21428fc3.65275","55da40d2.2f072"]]},{"id":"6ffa9708.073958","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1847.0555114746094,"y":2682.289525985718,"z":"1a8b5305.c085cd","wires":[["a8bf5972.afc6a8"]]},{"id":"7c900881.645018","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1362.6186447143555,"y":2651.201976776123,"z":"1a8b5305.c085cd","wires":[["5f2018d1.a1d508"]]},{"id":"10d1d9fc.30afb6","type":"block","name":"block","xml":"<block>","atomic":"false","outputs":1,"x":1045.581932067871,"y":2709.5356254577637,"z":"1a8b5305.c085cd","wires":[["21428fc3.65275","fd152d37.d5acd"]]},{"id":"fd152d37.d5acd","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while saving service instance relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":1270.581932067871,"y":2708.202251434326,"z":"1a8b5305.c085cd","wires":[]},{"id":"55da40d2.2f072","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while saving vpn binding relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":2222.581886291504,"y":2646.8689556121826,"z":"1a8b5305.c085cd","wires":[]},{"id":"b629208a.09c27","type":"switchNode","name":"switch network-technology","xml":"<switch test='`$network-model.network-technology`'>\n","comments":"","outputs":1,"x":546.1110458374023,"y":1389.4443473815918,"z":"1a8b5305.c085cd","wires":[["5d98c991.20e8f8","9d4e2f0d.1638","bcb49c2d.d02b3"]]},{"id":"a9dd6669.a72c38","type":"get-resource","name":"get-resource cloud region","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = 'att-aic' AND \n\t\t cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND \n\t\t depth = '0'\"\n pfx='aai.cloud-region' local-only='false' >\n\n","comments":"","outputs":1,"x":543.444450378418,"y":982.4443778991699,"z":"1a8b5305.c085cd","wires":[["b1b41c5c.6ac73","b1eb8b68.e93818"]]},{"id":"b1eb8b68.e93818","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":765.8335571289062,"y":1019.1665458679199,"z":"1a8b5305.c085cd","wires":[["358bf8ac.301e38"]]},{"id":"358bf8ac.301e38","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 retrieving cloud region from AAI\" />\n","comments":"","x":944.1192016601562,"y":1019.1665458679199,"z":"1a8b5305.c085cd","wires":[]},{"id":"b1b41c5c.6ac73","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":772.333553314209,"y":983.1666069030762,"z":"1a8b5305.c085cd","wires":[["cccc3223.636ff"]]},{"id":"cccc3223.636ff","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=\"Cloud region not found in AAI\" />\n","comments":"","x":940.1113891601562,"y":982.4721488952637,"z":"1a8b5305.c085cd","wires":[]},{"id":"9de966ff.c0be48","type":"comment","name":"Per test failure in IT, need to throw error if relationships don't exist","info":"","comments":"","x":661.6946868896484,"y":939.5276851654053,"z":"1a8b5305.c085cd","wires":[]},{"id":"2fbd77c1.048628","type":"set","name":"set tmp.complex-found","xml":"<set>\n<parameter name='tmp.complex-found' value='false' />\n\n","comments":"","x":529.8890609741211,"y":882.8332328796387,"z":"1a8b5305.c085cd","wires":[]},{"id":"93a30dfc.d4482","type":"get-resource","name":"get-resource complex","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"complex\" \n\t\tkey=\"complex.physical-location-id = $aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value\"\n pfx='aai.complex' local-only='false' >\n \n\n\n","comments":"","outputs":1,"x":1634.999870300293,"y":1202.4444198608398,"z":"1a8b5305.c085cd","wires":[["4044fb25.8ce8c4","898fafd9.df1f5","9249c225.c0f71"]]},{"id":"898fafd9.df1f5","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1866.6391830444336,"y":1261.916404724121,"z":"1a8b5305.c085cd","wires":[["97d0bcc0.ddc29"]]},{"id":"97d0bcc0.ddc29","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 retrieving complex from AAI\" />\n","comments":"","x":2040.9248275756836,"y":1261.916404724121,"z":"1a8b5305.c085cd","wires":[]},{"id":"4044fb25.8ce8c4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1869.1391792297363,"y":1221.9164657592773,"z":"1a8b5305.c085cd","wires":[["b737ddd0.c8ed4"]]},{"id":"b737ddd0.c8ed4","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=\"Complex not found in AAI\" />\n","comments":"","x":2036.917106628418,"y":1221.2218132019043,"z":"1a8b5305.c085cd","wires":[]},{"id":"5b1e35b2.5ea92c","type":"for","name":"for relationship list","xml":"<for silentFailure='false' index='ridx' start='0' end=\"`$aai.cloud-region.relationship-list.relationship_length`\" >\n","comments":"","outputs":1,"x":509.86153411865234,"y":1158.6747665405273,"z":"1a8b5305.c085cd","wires":[["6b0ad57f.0fe9cc"]]},{"id":"862e6c4c.7a97","type":"switchNode","name":"switch","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\n","comments":"","outputs":1,"x":915.361198425293,"y":1162.3888778686523,"z":"1a8b5305.c085cd","wires":[["5eb1534d.ddb1fc"]]},{"id":"6b0ad57f.0fe9cc","type":"for","name":"for relationship data","xml":"<for silentFailure='false' index='rdidx' start='0' end=\"`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data_length`\" >\n","comments":"","outputs":1,"x":732.7779769897461,"y":1159.6389999389648,"z":"1a8b5305.c085cd","wires":[["862e6c4c.7a97"]]},{"id":"5eb1534d.ddb1fc","type":"other","name":"complex.physical-location-id","xml":"<outcome value='complex.physical-location-id'>\n","comments":"","outputs":1,"x":1137.8612594604492,"y":1160.8055038452148,"z":"1a8b5305.c085cd","wires":[["ec522bfd.604bd8"]]},{"id":"ec522bfd.604bd8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1377.2775802612305,"y":1158.5556259155273,"z":"1a8b5305.c085cd","wires":[["93a30dfc.d4482","a0b8ae7e.73db","1478ab7a.138b25"]]},{"id":"9249c225.c0f71","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1861.6669752332891,"y":1175.9721787770586,"z":"1a8b5305.c085cd","wires":[["73c62e58.62479"]]},{"id":"73c62e58.62479","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2038.8098449707031,"y":1177.222131729126,"z":"1a8b5305.c085cd","wires":[["97a332a5.2b6c9"]]},{"id":"a0b8ae7e.73db","type":"set","name":"set aic-clli","xml":"<set>\n<parameter name='service-data.network-request-input.aic-clli' value='`$aai.complex.physical-location-id`' />\n\n","comments":"","x":1601.7781372070312,"y":1165.5000114440918,"z":"1a8b5305.c085cd","wires":[]},{"id":"7a1a7c2.ce09484","type":"switchNode","name":"switch relationship_length","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship_length`'>\n","comments":"","outputs":1,"x":539.8889694213867,"y":1081.7221908569336,"z":"1a8b5305.c085cd","wires":[["727319e3.8edd98","26c69776.80cfa8"]]},{"id":"727319e3.8edd98","type":"other","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":733.8890414767793,"y":1080.7222796546089,"z":"1a8b5305.c085cd","wires":[["6823a93b.07df48"]]},{"id":"26c69776.80cfa8","type":"other","name":"null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":735.8890380859375,"y":1119.7223110198975,"z":"1a8b5305.c085cd","wires":[["6823a93b.07df48"]]},{"id":"6823a93b.07df48","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=\"Cloud region missing relationships in AAI\" />\n","comments":"","x":919.8890380859375,"y":1085.7223110198975,"z":"1a8b5305.c085cd","wires":[]},{"id":"1478ab7a.138b25","type":"set","name":"set tmp.complex-found","xml":"<set>\n<parameter name='tmp.complex-found' value='true' />\n\n","comments":"","x":1640.1111450195312,"y":1133.8333854675293,"z":"1a8b5305.c085cd","wires":[]},{"id":"60381262.576cfc","type":"switchNode","name":"switch tmp.complex-found","xml":"<switch test='`$tmp.complex-found`'>\n","comments":"","outputs":1,"x":537.8890914916992,"y":1241.9444198608398,"z":"1a8b5305.c085cd","wires":[["5a328de2.03b8b4"]]},{"id":"5a328de2.03b8b4","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":755.3890914916992,"y":1241.3055038452148,"z":"1a8b5305.c085cd","wires":[["e8bfbba2.de15b8"]]},{"id":"e8bfbba2.de15b8","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=\"Complex not found in AAI\" />\n","comments":"","x":912.889030456543,"y":1242.8056259155273,"z":"1a8b5305.c085cd","wires":[]},{"id":"5d98c991.20e8f8","type":"outcome","name":"outcome Contrail","xml":"<outcome value='Contrail'>\n","comments":"","outputs":1,"x":788.9999618530273,"y":1389.8886833190918,"z":"1a8b5305.c085cd","wires":[["f6f1d63d.fe27e8"]]},{"id":"9d4e2f0d.1638","type":"outcome","name":"outcome AIC_SR_IOV","xml":"<outcome value='AIC_SR_IOV'>\n","comments":"","outputs":1,"x":822.9999923706055,"y":1732.8888053894043,"z":"1a8b5305.c085cd","wires":[["46abce7a.44c39"]]},{"id":"97a332a5.2b6c9","type":"switchNode","name":"switch region","xml":"<switch test='`$aai.complex.region`'>\n","comments":"","outputs":1,"x":2241.4445724487305,"y":1176.8888053894043,"z":"1a8b5305.c085cd","wires":[["38bf1673.6311ca","961953ad.504c8","5a180df4.7bc884","f16470ad.05b77","7e5b906f.9202a","5490bc7c.7aca24"]]},{"id":"38bf1673.6311ca","type":"other","name":"USA","xml":"<outcome value='USA'>\n","comments":"","outputs":1,"x":2475.9447729322637,"y":1120.1388247807818,"z":"1a8b5305.c085cd","wires":[["b368b63c.3dd7a8"]]},{"id":"961953ad.504c8","type":"other","name":"US","xml":"<outcome value='US'>\n","comments":"","outputs":1,"x":2477.1946601867676,"y":1151.3888368606567,"z":"1a8b5305.c085cd","wires":[["b368b63c.3dd7a8"]]},{"id":"5a180df4.7bc884","type":"other","name":"CALA","xml":"<outcome value='CALA'>\n","comments":"","outputs":1,"x":2477.1946601867676,"y":1183.8888368606567,"z":"1a8b5305.c085cd","wires":[["b368b63c.3dd7a8"]]},{"id":"f16470ad.05b77","type":"other","name":"EMEA","xml":"<outcome value='EMEA'>\n","comments":"","outputs":1,"x":2475.9446601867676,"y":1215.1388368606567,"z":"1a8b5305.c085cd","wires":[["b368b63c.3dd7a8"]]},{"id":"7e5b906f.9202a","type":"other","name":"AP","xml":"<outcome value='AP'>\n","comments":"","outputs":1,"x":2477.1946601867676,"y":1248.8887758255005,"z":"1a8b5305.c085cd","wires":[["b368b63c.3dd7a8"]]},{"id":"5490bc7c.7aca24","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2477.1945152282715,"y":1280.1387453079224,"z":"1a8b5305.c085cd","wires":[["e44c109d.dc45c"]]},{"id":"e44c109d.dc45c","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=\"Complex.region unknown\" />\n","comments":"","x":2645.9446601867676,"y":1278.8887758255005,"z":"1a8b5305.c085cd","wires":[]},{"id":"b368b63c.3dd7a8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2634.888779110379,"y":1145.3889084921943,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"bcb49c2d.d02b3","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":773.0000076293945,"y":2019.3336906433105,"z":"1a8b5305.c085cd","wires":[["939bed8f.13cae"]]},{"id":"939bed8f.13cae","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=\"Invalid network-technology. Only AIC_SR_IOV and Contrail are supported\" />\n","comments":"","x":1000.9999465942383,"y":2019.3336906433105,"z":"1a8b5305.c085cd","wires":[]},{"id":"b8481fbd.f33f6","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2745.9997024536133,"y":1365.1110954284668,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"dd3a41a3.fce13","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2803.000259399414,"y":1745.1110877990723,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"403ea448.83caac","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2844.9997940063477,"y":2003.1112187504768,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"ca6d6436.b4f728","type":"call","name":"call process-eipam-pools","xml":"<call module='GENERIC-RESOURCE-API' rpc='process-eipam-pools' mode='sync' >\n","comments":"tmp.level should be set to 1","outputs":1,"x":570.3022994995117,"y":2234.156078338623,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"13db491e.a822c7","type":"call","name":"call GENERIC-RESOURCE-API:create-l3-subnet","xml":"<call module='GENERIC-RESOURCE-API' rpc='create-l3-subnet' mode='sync' >\n","comments":"tmp.level should be set to 1","outputs":1,"x":651.5131759643555,"y":2312.913890838623,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"2709264e.6759fa","type":"set","name":"set process-eipam-action","xml":"<set>\n<parameter name='tmp.process-eipam-action' value='assign' />\n","comments":"","x":573.7677536010742,"y":2195.156322479248,"z":"1a8b5305.c085cd","wires":[]},{"id":"61bb926f.cd7d7c","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.process-eipam-pools:REQID\"/>\n<parameter name=\"field3\" value=\"`$network-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Values after process-eipam\"/>\n<parameter name=\"field5\" value=\"`level1-v4-mask`\"/>\n<parameter name=\"field6\" value=\"`$tmp.l3-network.level1.v4.mask`\"/>\n<parameter name=\"field7\" value=\"`level1-v4-ipprefix`\"/>\n<parameter name=\"field8\" value=\"`$tmp.l3-network.level1.v4.ip-prefix`\"/>\n<parameter name=\"field9\" value=\"`level1-v4-entity-id`\"/>\n<parameter name=\"field10\" value=\"`$tmp.l3-network.level1.v4.entity-id`\"/>\n<parameter name=\"field11\" value=\"`level2-v4-mask`\"/>\n<parameter name=\"field12\" value=\"`$tmp.l3-network.level2.v4.mask`\"/>\n<parameter name=\"field13\" value=\"`level2-v4-ipprefix`\"/>\n<parameter name=\"field14\" value=\"`$tmp.l3-network.level2.v4.ip-prefix`\"/>\n<parameter name=\"field15\" value=\"`level2-v4-entity-id`\"/>\n<parameter name=\"field16\" value=\"`$tmp.l3-network.level2.v4.entity-id`\"/>\n\n\n","comments":"","outputs":1,"x":520.4187545776367,"y":2269.938060760498,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"f6f1d63d.fe27e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1000.9999923706055,"y":1388.8888053894043,"z":"1a8b5305.c085cd","wires":[["d1028c12.c84fc","bade0de.687c6f"]]},{"id":"46abce7a.44c39","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1048.9999313354492,"y":1732.8888053894043,"z":"1a8b5305.c085cd","wires":[["6dc461c1.1dfdf","330b7d34.5dfc22"]]},{"id":"8207c0b3.22e3f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":778.9999923706055,"y":2650.999828338623,"z":"1a8b5305.c085cd","wires":[["6cf30f85.f2632"]]},{"id":"f9e58c7b.aacc4","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":732.9999923706055,"y":344.00002670288086,"z":"1a8b5305.c085cd","wires":[["18ec6cc4.a941f3"]]},{"id":"18ec6cc4.a941f3","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":912.9999847412109,"y":342.00000190734863,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"63bb1d97.e60064","type":"switchNode","name":"switch network-technology","xml":"<switch test='`$network-model.network-technology`'>\n","comments":"","outputs":1,"x":574.9999923706055,"y":2927.999828338623,"z":"1a8b5305.c085cd","wires":[["939b5aed.1aae58"]]},{"id":"939b5aed.1aae58","type":"outcome","name":"outcome AIC_SR_IOV","xml":"<outcome value='AIC_SR_IOV'>\n","comments":"","outputs":1,"x":877.8889694213867,"y":2929.444164276123,"z":"1a8b5305.c085cd","wires":[["e82a508a.4229a"]]},{"id":"e82a508a.4229a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1095.8887252807617,"y":2927.4442863464355,"z":"1a8b5305.c085cd","wires":[["aebd7334.b437c","8cea94a0.5581b8"]]},{"id":"aebd7334.b437c","type":"save","name":"save AnAI - segmentation-assignment","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"segmentation-assignment\" \n\t\tkey=\"l3-network.network-id = $tmp.l3-network.network-id \n\t\t\tAND segmentation-assignment.segmentation-id = $tmp.l3-network.segmentation-id\" >\n<!-- Create segmentation-assignment object -->\n<parameter name=\"network-id\" value=\"`$tmp.l3-network.network-id`\" />\n<parameter name=\"segmentation-id\" value=\"`$tmp.l3-network.segmentation-id`\" />\n","comments":"","outputs":1,"x":1374.999870300293,"y":2983.7777824401855,"z":"1a8b5305.c085cd","wires":[["635baecf.da65a","844325db.02e548"]]},{"id":"635baecf.da65a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1643.999870300293,"y":2960.777904510498,"z":"1a8b5305.c085cd","wires":[["1db9bcd1.f30e23"]]},{"id":"844325db.02e548","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1652.723014831543,"y":2998.4210929870605,"z":"1a8b5305.c085cd","wires":[["1db9bcd1.f30e23"]]},{"id":"fc0f6851.bec3b8","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while saving segmentation-assignment for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":2083.872917175293,"y":2975.635326385498,"z":"1a8b5305.c085cd","wires":[]},{"id":"1db9bcd1.f30e23","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1828.730339050293,"y":2975.063793182373,"z":"1a8b5305.c085cd","wires":[["fc0f6851.bec3b8","21428fc3.65275"]]},{"id":"c2804041.b3c85","type":"execute","name":"execute readProperties","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties'>\n <parameter name='contextPrefix' value='prop'/>\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api.properties'/>\n","comments":"","outputs":1,"x":1342.999984741211,"y":2906.666576385498,"z":"1a8b5305.c085cd","wires":[["5bb8bd75.e7bd04","b6b631b.f63f8d"]]},{"id":"5bb8bd75.e7bd04","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1550.999984741211,"y":2848.666576385498,"z":"1a8b5305.c085cd","wires":[["44e3f917.1e2e28"]]},{"id":"b6b631b.f63f8d","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1544.999984741211,"y":2884.666576385498,"z":"1a8b5305.c085cd","wires":[["4be39f81.4fd4a"]]},{"id":"95dbb3fd.0c1f7","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while reading default segmentation-assignment for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":1952.9999923706055,"y":2868.666332244873,"z":"1a8b5305.c085cd","wires":[]},{"id":"4be39f81.4fd4a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1721.857406616211,"y":2884.095043182373,"z":"1a8b5305.c085cd","wires":[["95dbb3fd.0c1f7","21428fc3.65275"]]},{"id":"e1be1a52.54f3b8","type":"set","name":"set: tmp.l3-network.segmentation-id","xml":"<set>\n\t<parameter name=\"tmp.l3-network.segmentation-id\" value=\"`$prop.default.segmentation-assignment`\"/>","comments":"","x":1984.9999923706055,"y":2836.666332244873,"z":"1a8b5305.c085cd","wires":[]},{"id":"44e3f917.1e2e28","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1727.857406616211,"y":2848.095043182373,"z":"1a8b5305.c085cd","wires":[["e1be1a52.54f3b8"]]},{"id":"d1028c12.c84fc","type":"switchNode","name":"switch: network-model.use-ipv4","xml":"<switch test=\"`$network-model.use-ipv4`\">","comments":"","outputs":1,"x":1256.999870300293,"y":1387.4445915222168,"z":"1a8b5305.c085cd","wires":[["2024b896.76a498"]]},{"id":"2024b896.76a498","type":"other","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1511.9999961853027,"y":1387.8731479644775,"z":"1a8b5305.c085cd","wires":[["27e33253.31496e"]]},{"id":"27e33253.31496e","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1684.5713157653809,"y":1388.301752090454,"z":"1a8b5305.c085cd","wires":[["bc4df92.6ad6f08"]]},{"id":"6dc461c1.1dfdf","type":"switchNode","name":"switch: network-model.use-ipv4","xml":"<switch test=\"`$network-model.use-ipv4`\">","comments":"","outputs":1,"x":1324.1111755371094,"y":1733.4446239471436,"z":"1a8b5305.c085cd","wires":[["140551e2.4f61fe"]]},{"id":"140551e2.4f61fe","type":"other","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1579.1113014221191,"y":1736.8731803894043,"z":"1a8b5305.c085cd","wires":[["ea5dcb81.6728d8"]]},{"id":"ea5dcb81.6728d8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1751.6826210021973,"y":1737.3017845153809,"z":"1a8b5305.c085cd","wires":[["ccfde65e.e5a838"]]},{"id":"330b7d34.5dfc22","type":"switchNode","name":"switch: network-model.use-ipv6","xml":"<switch test=\"`$network-model.use-ipv6`\">","comments":"","outputs":1,"x":1344.1111373901367,"y":1954.4445304870605,"z":"1a8b5305.c085cd","wires":[["65a51dc6.c0e5e4"]]},{"id":"65a51dc6.c0e5e4","type":"other","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1599.1112632751465,"y":1957.8730869293213,"z":"1a8b5305.c085cd","wires":[["9d1d090d.9dc2f8"]]},{"id":"9d1d090d.9dc2f8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1795.6825942993164,"y":1956.3017692565918,"z":"1a8b5305.c085cd","wires":[["a3b08dd5.410cf"]]},{"id":"bade0de.687c6f","type":"switchNode","name":"switch: network-model.use-ipv6","xml":"<switch test=\"`$network-model.use-ipv6`\">","comments":"","outputs":1,"x":1266.1111373901367,"y":1556.4445304870605,"z":"1a8b5305.c085cd","wires":[["4e4efcc8.51a894"]]},{"id":"4e4efcc8.51a894","type":"other","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1521.1112632751465,"y":1559.8730869293213,"z":"1a8b5305.c085cd","wires":[["26c43fce.b1a9a"]]},{"id":"26c43fce.b1a9a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1717.6825942993164,"y":1558.3017692565918,"z":"1a8b5305.c085cd","wires":[["14bf4e76.feb402"]]},{"id":"8cea94a0.5581b8","type":"set","name":"set: segmentionat-d=1","xml":"<set>\n\t<parameter name=\"tmp.l3-network.segmentation-id\" value=\"1\"/>","comments":"","x":1329.9841690063477,"y":2950.8570852279663,"z":"1a8b5305.c085cd","wires":[]},{"id":"7e62bfac.efaea","type":"comment","name":"future if need from property","info":"","comments":"","x":1348.5556564331055,"y":2871.999828338623,"z":"1a8b5305.c085cd","wires":[]},{"id":"e3a6601d.ee1c2","type":"other","name":"outcome oam_vipr_protected_network","xml":"<outcome value='oam_vipr_protected_network'>\n","comments":"","outputs":1,"x":2609.555305480957,"y":375.50263023376465,"z":"1a8b5305.c085cd","wires":[["36f8e62e.3e607a"]]},{"id":"d21320c7.875be","type":"other","name":"outcome network_without_route_tags_naming_default","xml":"<outcome value='network_without_route_tags_naming_default'>\n","comments":"","outputs":1,"x":2656.2219772338867,"y":412.16929817199707,"z":"1a8b5305.c085cd","wires":[["36f8e62e.3e607a"]]},{"id":"3927bc9.ef1ad44","type":"other","name":"outcome sriov_provider_network","xml":"<outcome value='sriov_provider_network'>\n","comments":"","outputs":1,"x":2587.888801574707,"y":648.8359718322754,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"f545226c.1e1f3","type":"other","name":"outcome oam_atm_u_landing_network","xml":"<outcome value='oam_atm_u_landing_network'>\n","comments":"","outputs":1,"x":2602.888496398926,"y":453.83595752716064,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"983a4aba.12f018","type":"other","name":"outcome oam_atm_p_landing_network","xml":"<outcome value='oam_atm_p_landing_network'>\n","comments":"","outputs":1,"x":2601.2216720581055,"y":488.8359594345093,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"9ac69de3.85dd5","type":"other","name":"outcome oam_aim_landing_network","xml":"<outcome value='oam_aim_landing_network'>\n","comments":"","outputs":1,"x":2594.5555114746094,"y":520.502628326416,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"56b6dcac.c4bfc4","type":"other","name":"outcome network_with_route_tags_naming_default","xml":"<outcome value='network_with_route_tags_naming_default'>\n","comments":"","outputs":1,"x":2639.555595397949,"y":553.8359527587891,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"279f950e.baf49a","type":"other","name":"AIC_AIM_LANDING_NETWORK_V4","xml":"<outcome value='AIC_AIM_LANDING_NETWORK_V4'>","comments":"","outputs":1,"x":2502.999824523926,"y":1429.9999198913574,"z":"1a8b5305.c085cd","wires":[["b8481fbd.f33f6"]]},{"id":"960cc18d.2fd1b","type":"get-resource","name":"get-resource VPN_BINDINGS","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VPN_BINDINGS WHERE network_customization_uuid = $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid'\n pfx='vpn-bindings[]'>\n\n","comments":"","outputs":1,"x":1246.142807006836,"y":264.28571128845215,"z":"1a8b5305.c085cd","wires":[["feb45c91.fd681","d7038114.b2909","7f333885.c94138"]]},{"id":"d7038114.b2909","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1467.5714111328125,"y":296.99999237060547,"z":"1a8b5305.c085cd","wires":[["ef08fa38.9d4078"]]},{"id":"7f333885.c94138","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1462.9044380187988,"y":329.33330631256104,"z":"1a8b5305.c085cd","wires":[["911dd542.ed2ee8"]]},{"id":"feb45c91.fd681","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1463.0804443359375,"y":264.4259567260742,"z":"1a8b5305.c085cd","wires":[["cda800bd.57b12"]]},{"id":"ef08fa38.9d4078","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=\"Network model is_bound_to_vpn=true but no vpn_binding is present\" />\n\n","comments":"","x":1636.1428604125977,"y":297.28572368621826,"z":"1a8b5305.c085cd","wires":[]},{"id":"cda800bd.57b12","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1633.2857666015625,"y":263.99999237060547,"z":"1a8b5305.c085cd","wires":[["32d5ba47.7aac96","2dde48f4.4544e8"]]},{"id":"43007d32.9c93f4","type":"comment","name":"Changelog","info":"1707: Change vpn binding from field to table selection\n1710: Add ipv6 vipr flows","comments":"","x":323.8571472167969,"y":80.00000667572021,"z":"1a8b5305.c085cd","wires":[]},{"id":"a8641e83.b8db7","type":"other","name":"AIC_ATM_UNPROTECTED_V6","xml":"<outcome value='AIC_ATM_UNPROTECTED_V6'>","comments":"","outputs":1,"x":2493.800048828125,"y":1535,"z":"1a8b5305.c085cd","wires":[["140e9a55.7c9096"]]},{"id":"95022c2.dc0f4d","type":"other","name":"AIC_ATM_PROTECTED_V6","xml":"<outcome value='AIC_ATM_PROTECTED_V6'>","comments":"","outputs":1,"x":2483.6886596679688,"y":1572.5558385849,"z":"1a8b5305.c085cd","wires":[["140e9a55.7c9096"]]},{"id":"140e9a55.7c9096","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2751.239028930664,"y":1542.2012939453125,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"e1a0deaa.2971a","type":"other","name":"AIC_AIM_LANDING_NETWORK_V6","xml":"<outcome value='AIC_AIM_LANDING_NETWORK_V6'>","comments":"","outputs":1,"x":2508.2391510009766,"y":1607.0901184082031,"z":"1a8b5305.c085cd","wires":[["140e9a55.7c9096"]]},{"id":"24428acd.934a56","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2414.243480682373,"y":1644.6681156158447,"z":"1a8b5305.c085cd","wires":[["7c564997.04f088"]]},{"id":"7c564997.04f088","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=\"EIPAM V6 Address plan should be null\" />\n","comments":"","x":2585.131175994873,"y":1643.5013790130615,"z":"1a8b5305.c085cd","wires":[]}] +[{"id":"89493007.0268b","type":"dgstart","name":"DGSTART","outputs":1,"x":111,"y":80,"z":"1a8b5305.c085cd","wires":[["a4a8f170.658a9"]]},{"id":"a4a8f170.658a9","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":254.2856903076172,"y":140.2381067276001,"z":"1a8b5305.c085cd","wires":[["751a884f.6eaac8"]]},{"id":"751a884f.6eaac8","type":"method","name":"network-topology-operation-assign","xml":"<method rpc='network-topology-operation-assign' mode='sync'>\n","comments":"","outputs":1,"x":229.96437072753906,"y":220.892840385437,"z":"1a8b5305.c085cd","wires":[["df0099f6.6eeb38"]]},{"id":"df0099f6.6eeb38","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":189.28572845458984,"y":405.1578025817871,"z":"1a8b5305.c085cd","wires":[["b6852699.060e68","f58c2417.cbf1f8","91b6be2e.099cc","c7c72a39.652de8","8773a6fd.bcffa8","71a62cc6.0c1ad4","9c5b3463.cd7bf8","a057f23f.aa6af","868ff2ba.bc798","679ee129.c4252","34cb595d.aff816","a5f2c0c4.2e002","aa240c34.3d017","cae13e62.0dbe2","b7ab3890.826f88","a6f05dc6.5396f","2fbd77c1.048628","a9dd6669.a72c38","7a1a7c2.ce09484","5b1e35b2.5ea92c","60381262.576cfc","b629208a.09c27","4728dc8a.76ddd4","a2da1074.b277a","e495d7bf.6827a8","797304de.6cccec","ed1fbf08.fa0f9","cb2ae5c7.b8f7a8","2709264e.6759fa","ca6d6436.b4f728","61bb926f.cd7d7c","13db491e.a822c7","63bb1d97.e60064"]]},{"id":"b6852699.060e68","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":501.7738227844238,"y":3448.8575134277344,"z":"1a8b5305.c085cd","wires":[]},{"id":"f58c2417.cbf1f8","type":"switchNode","name":"switch network-model.is-bound-to-vpn","xml":"<switch test='`$network-model.is-bound-to-vpn`'>\n","comments":"","outputs":1,"x":577.6110610961914,"y":263.6111059188843,"z":"1a8b5305.c085cd","wires":[["c74440f1.9c51e"]]},{"id":"c74440f1.9c51e","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":842.6110649108887,"y":263.6111068725586,"z":"1a8b5305.c085cd","wires":[["9b88c546.2f2778"]]},{"id":"9b88c546.2f2778","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">\n","atomic":"true","comments":"","outputs":1,"x":1005.3611068725586,"y":264.1110954284668,"z":"1a8b5305.c085cd","wires":[["960cc18d.2fd1b"]]},{"id":"be126fa6.e030e","type":"get-resource","name":"get-resource vpn-binding","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"vpn-binding\" \n\t\tkey=\"vpn-binding.vpn-id = $vpn-bindings[$vidx].binding-uuid\"\n pfx='aai.vpnBinding' local-only='false' >\n\n","comments":"","outputs":1,"x":2285.932662963867,"y":257.8849563598633,"z":"1a8b5305.c085cd","wires":[["612f7c79.d93d64","29e26ef4.5879a2","70ec648.56c6c9c"]]},{"id":"612f7c79.d93d64","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":2521.8889961242676,"y":229.63891220092773,"z":"1a8b5305.c085cd","wires":[["b29726d5.228328"]]},{"id":"29e26ef4.5879a2","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2514.8889389038086,"y":262.972243309021,"z":"1a8b5305.c085cd","wires":[["b29726d5.228328"]]},{"id":"b29726d5.228328","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 vpn binding found for network-model.vpn-binding=' \n + $vpn-bindings[$vidx].binding-uuid`\" />\n\n","comments":"","x":2704.031726837158,"y":234.21033000946045,"z":"1a8b5305.c085cd","wires":[]},{"id":"91b6be2e.099cc","type":"switchNode","name":"switch network-request-information.network-name","xml":"<switch test='`$network-topology-operation-input.network-request-input.network-name`'>\n","comments":"","outputs":1,"x":604.3651161193848,"y":470.68650007247925,"z":"1a8b5305.c085cd","wires":[["22435a1e.c63286","1ea3bcf5.db62a3"]]},{"id":"a4d718a8.4b5a78","type":"comment","name":"if network-name not populated, generate","info":"","comments":"","x":577.8889389038086,"y":297.6388816833496,"z":"1a8b5305.c085cd","wires":[]},{"id":"22435a1e.c63286","type":"other","name":"outcome NULL","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":899.5556564331055,"y":463.97219467163086,"z":"1a8b5305.c085cd","wires":[["1d9431b.4db66ce"]]},{"id":"1d9431b.4db66ce","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1092.8888549804688,"y":461.3055396080017,"z":"1a8b5305.c085cd","wires":[["a9e920ad.ae72"]]},{"id":"a9e920ad.ae72","type":"switchNode","name":"switch network-model.ecomp-generated-naming","xml":"<switch test='`$network-model.ecomp-generated-naming`'>\n","comments":"","outputs":1,"x":1387.5554695129395,"y":459.3055396080017,"z":"1a8b5305.c085cd","wires":[["2c61b334.66b64c","a3fb55a9.a89968"]]},{"id":"2c61b334.66b64c","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":1707.5555229187012,"y":447.30554962158203,"z":"1a8b5305.c085cd","wires":[["e30091c0.02f1a"]]},{"id":"e30091c0.02f1a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">\n","atomic":"true","comments":"","outputs":1,"x":1876.305564880371,"y":447.80553817749023,"z":"1a8b5305.c085cd","wires":[["7a3fdfa5.4ccd4"]]},{"id":"a3fb55a9.a89968","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1698.7778129577637,"y":480.30554962158203,"z":"1a8b5305.c085cd","wires":[["da34b64.c9ee048"]]},{"id":"da34b64.c9ee048","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=\"Network name is required if ecomp naming is false\" />\n\n","comments":"","x":1876.7778129577637,"y":479.30554962158203,"z":"1a8b5305.c085cd","wires":[]},{"id":"7a3fdfa5.4ccd4","type":"switchNode","name":"switch network-model.ecomp-generated-naming","xml":"<switch test='`$network-model.naming-policy`'>\n","comments":"","outputs":1,"x":2198.221389770508,"y":447.3055124282837,"z":"1a8b5305.c085cd","wires":[["f1453c06.5ed4a","6b66fa0f.19fd64","f9fba683.787ff8","e3a6601d.ee1c2","d21320c7.875be","3927bc9.ef1ad44"]]},{"id":"6b66fa0f.19fd64","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2501.2216873168945,"y":711.3055171966553,"z":"1a8b5305.c085cd","wires":[["42111482.a679dc"]]},{"id":"f1453c06.5ed4a","type":"other","name":"outcome org.openecomp.policy.naming.SriovProvider.SriovProviderNetwork","xml":"<outcome value='org.openecomp.policy.naming.SriovProvider.SriovProviderNetwork'>\n","comments":"","outputs":1,"x":2715.333381652832,"y":615.3055877685547,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"42111482.a679dc","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=\"`'Unknown naming policy = ' \n + $network-model.naming-policy`\" />\n\n","comments":"","x":2661.665948867798,"y":710.9721937179565,"z":"1a8b5305.c085cd","wires":[]},{"id":"36f8e62e.3e607a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3251.000175476074,"y":188.6388816833496,"z":"1a8b5305.c085cd","wires":[["e8c5e30.358142","dac3091b.c72dd8","61e7e703.d3e688","749f7e23.95d86","f1f2ca4a.1510c8","c5ab838b.1f37b"]]},{"id":"e8c5e30.358142","type":"set","name":"set nameformat","xml":"<set>\n<parameter name='tmp.network-name-prefix' value='$TenantName_int_$role_net' />\n","comments":"","x":3687.6187286376953,"y":85.40079879760742,"z":"1a8b5305.c085cd","wires":[]},{"id":"4ed6dd56.64d354","type":"set","name":"set nameformat","xml":"<set>\n<parameter name='tmp.network-name-prefix' value='$TenantName_$role_net' />\n","comments":"","x":3685.4286880493164,"y":127.25794219970703,"z":"1a8b5305.c085cd","wires":[]},{"id":"9269a69b.c004e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":3201.57186126709,"y":615.3056554794312,"z":"1a8b5305.c085cd","wires":[["4ed6dd56.64d354","dac3091b.c72dd8","61e7e703.d3e688","749f7e23.95d86","f1f2ca4a.1510c8","c5ab838b.1f37b"]]},{"id":"f9fba683.787ff8","type":"other","name":"outcome org.openecomp.policy.naming.ViprProtectedOam.ViprOamProtectedNetwork","xml":"<outcome value='org.openecomp.policy.naming.ViprProtectedOam.ViprOamProtectedNetwork'>\n","comments":"","outputs":1,"x":2755.111503601074,"y":338.6389513015747,"z":"1a8b5305.c085cd","wires":[["36f8e62e.3e607a"]]},{"id":"dac3091b.c72dd8","type":"execute","name":"execute SliStringUtils - replace tenantname","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.network-name-prefix`\"/>\n <parameter name=\"outputPath\" value=\"tmp.network-name-prefix\"/>\n <parameter name=\"target\" value=\"$TenantName\"/>\n <parameter name=\"replacement\" value=\"`$aai.tenant.tenant-name`\"/>\n\n","comments":"","outputs":1,"x":3761.873222351074,"y":250.92461776733398,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"61e7e703.d3e688","type":"execute","name":"execute SliStringUtils - replace role","xml":"<execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\n <parameter name=\"source\" value=\"`$tmp.network-name-prefix`\"/>\n <parameter name=\"outputPath\" value=\"tmp.network-name-prefix\"/>\n <parameter name=\"target\" value=\"$role\"/>\n <parameter name=\"replacement\" value=\"`$network-model.network-role`\"/>\n\n","comments":"","outputs":1,"x":3734.873222351074,"y":285.924617767334,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"749f7e23.95d86","type":"get-resource","name":"get-resource NETWORK_INSTANCE_NAME_INDEX","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix\n = $tmp.network-name-prefix'\n pfx='db.network-name-prefix'>\n\n","comments":"","outputs":1,"x":3784.539970397949,"y":321.924617767334,"z":"1a8b5305.c085cd","wires":[["d1722a3d.4b95d8"]]},{"id":"f1f2ca4a.1510c8","type":"switchNode","name":"switch index-number","xml":"<switch test='`$db.network-name-prefix.index-number`'>\n","comments":"","outputs":1,"x":3690.25431060791,"y":426.21020221710205,"z":"1a8b5305.c085cd","wires":[["e5a7ba6c.507c58","27e6f16.769840e"]]},{"id":"27e6f16.769840e","type":"other","name":"NULL","xml":"<outcome value=''>","comments":"","outputs":1,"x":3873.1113510131836,"y":467.63871574401855,"z":"1a8b5305.c085cd","wires":[["b0448576.a22c18"]]},{"id":"e5a7ba6c.507c58","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":3874.5399017333984,"y":383.3530445098877,"z":"1a8b5305.c085cd","wires":[["7b9484b0.6f36cc"]]},{"id":"9b3d1da7.01a72","type":"save","name":"save (insert) name index","xml":"<save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\n key=\"insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)\"\n force='false' pfx='pfx'>\n","comments":"","outputs":1,"x":4248.825759887695,"y":487.6390686035156,"z":"1a8b5305.c085cd","wires":[["63e45141.ca441"]]},{"id":"7f3fa0.f0f1d06","type":"set","name":"increment index number","xml":"<set>\n<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' />\n","comments":"","x":4245.96854019165,"y":360.4960594177246,"z":"1a8b5305.c085cd","wires":[]},{"id":"b0448576.a22c18","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":4031.6828956604004,"y":466.21035957336426,"z":"1a8b5305.c085cd","wires":[["a01edb2f.ec40a8","9b3d1da7.01a72"]]},{"id":"d1722a3d.4b95d8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4058.825611114502,"y":320.4960289001465,"z":"1a8b5305.c085cd","wires":[["f4b5aa4d.2456c8"]]},{"id":"f4b5aa4d.2456c8","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 reading the NETWORK_INSTANCE_NAME_INDEX table\" />\n","comments":"","x":4213.111427307129,"y":320.4960479736328,"z":"1a8b5305.c085cd","wires":[]},{"id":"a01edb2f.ec40a8","type":"set","name":"set new index number to 1","xml":"<set>\n<parameter name='tmp.index-number' value='1' />\n","comments":"","x":4254.54012298584,"y":444.78167724609375,"z":"1a8b5305.c085cd","wires":[]},{"id":"9005b1b8.d71dc","type":"save","name":"save (update) name index","xml":"<save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\n key=\"update NETWORK_INSTANCE_NAME_INDEX\n set index_number = $tmp.index-number\n where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix \"\n force='false' pfx='pfx'>\n","comments":"","outputs":1,"x":4253.111484527588,"y":401.9246120452881,"z":"1a8b5305.c085cd","wires":[["d17ac839.1a13f8"]]},{"id":"7b9484b0.6f36cc","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":4031.682792663574,"y":381.9244918823242,"z":"1a8b5305.c085cd","wires":[["7f3fa0.f0f1d06","9005b1b8.d71dc"]]},{"id":"d17ac839.1a13f8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4475.96854019165,"y":401.9246120452881,"z":"1a8b5305.c085cd","wires":[["957fcd83.2301e"]]},{"id":"957fcd83.2301e","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=\"Failed to update SERVICE_INSTANCE_NAME_INDEX table\" />\n","comments":"","x":4630.254356384277,"y":401.9246311187744,"z":"1a8b5305.c085cd","wires":[]},{"id":"63e45141.ca441","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":4474.539840698242,"y":487.6388244628906,"z":"1a8b5305.c085cd","wires":[["deb7415b.ff8fd"]]},{"id":"deb7415b.ff8fd","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=\"Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table\" />\n","comments":"","x":4628.825656890869,"y":487.63884353637695,"z":"1a8b5305.c085cd","wires":[]},{"id":"c5ab838b.1f37b","type":"set","name":"set tmp.network-instance-name","xml":"<set>\n<parameter name='tmp.network-instance-name' value=\"`$tmp.network-name-prefix + '_' + $tmp.index-number`\" />\n","comments":"","x":3727.825107574463,"y":505.3531255722046,"z":"1a8b5305.c085cd","wires":[]},{"id":"c7c72a39.652de8","type":"set","name":"set object-path","xml":"<set>\n<parameter name='network-object-path'\n value=\"`$tmp.l3-network.self-link`\"/>\n \n","comments":"","x":503.2063407897949,"y":3350.4801511764526,"z":"1a8b5305.c085cd","wires":[]},{"id":"8773a6fd.bcffa8","type":"set","name":"set networkId","xml":"<set>\n<parameter name='networkId' value='`$tmp.l3-network.network-id`' />\n","comments":"","x":504.63486099243164,"y":3304.765769958496,"z":"1a8b5305.c085cd","wires":[]},{"id":"a057f23f.aa6af","type":"set","name":"set network-level-oper-status","xml":"<set>\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='PendingCreate' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />\n","comments":"","x":550.9205741882324,"y":3396.194423675537,"z":"1a8b5305.c085cd","wires":[]},{"id":"71a62cc6.0c1ad4","type":"set","name":"set network in service-data","xml":"<set>\n<parameter name=\"service-data.networks.network[$nidx].network-id\" value='`$tmp.l3-network.network-id`' />\n<parameter name=\"service-data.networks.network[$nidx].network-data.network-topology.\" value='$network-topology.' />\n<parameter name=\"service-data.networks.network_length\" value='`$nidx+1`' />\n\n","comments":"","x":552.4920387268066,"y":3124.051595687866,"z":"1a8b5305.c085cd","wires":[]},{"id":"9c5b3463.cd7bf8","type":"set","name":"copy input to service-data","xml":"<set>\n<parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />\n<parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />\n","comments":"","x":547.7300186157227,"y":3163.813540458679,"z":"1a8b5305.c085cd","wires":[]},{"id":"868ff2ba.bc798","type":"set","name":"set network-topology-identifier-structure in service-data","xml":"<set>\n<parameter name='network-topology.network-topology-identifier-structure.' value='`$tmp.l3-network.`' />\n<parameter name='network-topology.tenant' value='`$network-topology-operation-input.network-request-input.tenant`' />\n<parameter name='network-topology.ecomp-model-information.' value='`$network-topology-operation-input.network-information.ecomp-model-information.`' />\n<parameter name='network-topology.network-parameters.' value='`$network-topology-operation-input.network-request-input.network-input-parameters.`' />\n<parameter name='network-topology.aic-cloud-region' value='`$network-topology-operation-input.network-request-input.aic-cloud-region`' />","comments":"","x":637.4920539855957,"y":3016.908727169037,"z":"1a8b5305.c085cd","wires":[]},{"id":"679ee129.c4252","type":"switchNode","name":"switch service-data.networks_length","xml":"<switch test='`$service-data.networks.network_length`'>\n","comments":"","outputs":1,"x":582.2538871765137,"y":3073.0992045402527,"z":"1a8b5305.c085cd","wires":[["d892cc25.abd2e","1419948c.74a04b"]]},{"id":"d892cc25.abd2e","type":"other","name":"Null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":886.0634269714355,"y":3064.0516147613525,"z":"1a8b5305.c085cd","wires":[["256eeb6b.789b54"]]},{"id":"256eeb6b.789b54","type":"set","name":"set nidx","xml":"<set>\n<parameter name='nidx' value='0' />\n","comments":"","x":1066.0634689331055,"y":3061.6230306625366,"z":"1a8b5305.c085cd","wires":[]},{"id":"1419948c.74a04b","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":888.9205894470215,"y":3089.765887260437,"z":"1a8b5305.c085cd","wires":[["265dbf75.6b9f6"]]},{"id":"265dbf75.6b9f6","type":"set","name":"set nidx","xml":"<set>\n<parameter name='nidx' value='`$service-data.networks.network_length`' />\n","comments":"","x":1067.4920196533203,"y":3098.6230878829956,"z":"1a8b5305.c085cd","wires":[]},{"id":"70ec648.56c6c9c","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":2517.999942779541,"y":194.00002670288086,"z":"1a8b5305.c085cd","wires":[["25c11570.4e18ba"]]},{"id":"25c11570.4e18ba","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2682.999942779541,"y":194.00002670288086,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"ea7bbc28.439ef","type":"comment","name":"pull vpn binding from db table vs field","info":"","comments":"","x":1884.0740661621094,"y":187.53438568115234,"z":"1a8b5305.c085cd","wires":[]},{"id":"2dde48f4.4544e8","type":"for","name":"for 0..vpn-bindings_length","xml":"<for index='vidx' start='0' end='`$vpn-bindings_length`' >\n","comments":"","outputs":1,"x":1858.4393882751465,"y":256.34392642974854,"z":"1a8b5305.c085cd","wires":[["654f5072.a2802"]]},{"id":"654f5072.a2802","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2066.9150428771973,"y":258.4233341217041,"z":"1a8b5305.c085cd","wires":[["be126fa6.e030e"]]},{"id":"911dd542.ed2ee8","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=\"Unexpected error retrieving vpn binding\" />\n\n","comments":"","x":1638.6769752502441,"y":330.77249813079834,"z":"1a8b5305.c085cd","wires":[]},{"id":"32d5ba47.7aac96","type":"set","name":"set hasVpnBindings=true","xml":"<set>\n<parameter name='hasVpnBindings' value='true' />\n","comments":"","x":1856.6137466430664,"y":224.91532611846924,"z":"1a8b5305.c085cd","wires":[]},{"id":"1ea3bcf5.db62a3","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":887.1851005554199,"y":520.2963137626648,"z":"1a8b5305.c085cd","wires":[["e6e8dae5.027898"]]},{"id":"34cb595d.aff816","type":"get-resource","name":"get-resource tenant","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"tenant\" \n\t\tkey=\"cloud-region.cloud-owner = 'att-aic' AND \n\t\t cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND\n\t\t tenant.tenant-id = $network-topology-operation-input.network-request-input.tenant\"\n pfx='aai.tenant' local-only='false' >\n\n","comments":"","outputs":1,"x":516.6295700073242,"y":382.962947845459,"z":"1a8b5305.c085cd","wires":[["8869ece2.c675b","49964e35.7bcd","f9e58c7b.aacc4"]]},{"id":"8869ece2.c675b","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":737.4909591674805,"y":375.5740623474121,"z":"1a8b5305.c085cd","wires":[["12cdda76.c90c96"]]},{"id":"49964e35.7bcd","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":732.8239860534668,"y":408.9073762893677,"z":"1a8b5305.c085cd","wires":[["12cdda76.c90c96"]]},{"id":"12cdda76.c90c96","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=\"Tenant not found in AAI\" />\n\n","comments":"","x":933.666633605957,"y":383.6296272277832,"z":"1a8b5305.c085cd","wires":[]},{"id":"4f0e6905.0b7fa8","type":"set","name":"set tmp.network-instance-name","xml":"<set>\n<parameter name='tmp.network-instance-name' value=\"`$network-topology-operation-input.network-request-input.network-name`\" />\n","comments":"","x":1342.3702583312988,"y":520.2962832450867,"z":"1a8b5305.c085cd","wires":[]},{"id":"e6e8dae5.027898","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1085.7036628723145,"y":520.2962832450867,"z":"1a8b5305.c085cd","wires":[["4f0e6905.0b7fa8"]]},{"id":"aa240c34.3d017","type":"set","name":"set tmp.l3-network","xml":"<set>\n<parameter name='tmp.l3-network.network-id' value=\"`$tmp.return.generate-l3network-network-id.uuid`\" />\n<parameter name='tmp.l3-network.network-name' value=\"`$tmp.network-instance-name`\" />\n<parameter name='tmp.l3-network.network-type' value=\"`$network-model.network-type`\" />\n<parameter name='tmp.l3-network.network-role' value=\"`$network-model.network-role`\" />\n<parameter name='tmp.l3-network.network-technology' value=\"`$network-model.network-technology`\" />\n<parameter name='tmp.l3-network.is-bound-to-vpn' value=\"`$network-model.is-bound-to-vpn`\" />\n<parameter name='tmp.l3-network.orchestration-status' value=\"PendingCreate\" />\n<parameter name='tmp.l3-network.model-invariant-id' value=\"`$network-topology-operation-input.network-information.ecomp-model-information.model-invariant-uuid`\" />\n<parameter name='tmp.l3-network.model-version-id' value=\"`$network-topology-operation-input.network-information.ecomp-model-information.model-version`\" />\n<parameter name='tmp.l3-network.model-customization-id' value=\"`$network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid`\" />\n<parameter name='tmp.l3-network.is-provider-network' value=\"`$network-model.is-provider-network`\" />\n<parameter name='tmp.l3-network.is-shared-network' value=\"`$network-model.is-shared-network`\" />\n<parameter name='tmp.l3-network.is-external-network' value=\"`$network-model.is-external-network`\" />\n<parameter name='tmp.l3-network.eipam-v6-address-plan' value=\"`$network-model.eipam-v6-address-plan`\" />\n<parameter name='tmp.l3-network.eipam-v4-address-plan' value=\"`$network-model.eipam-v4-address-plan`\" />\n<parameter name='tmp.l3-network.service-id' value=\"`$service-data.service-information.service-id`\" />\n<parameter name='tmp.l3-network.self-link' value=\"`'restconf/config/GENERIC-RESOURCE-API:services/service/'\n + $network-topology-operation-input.service-information.service-instance-id\n + '/service-data/networks/network/'\n + $tmp.l3-network.network-id\n + '/network-data/network-topology/'` \" />\n","comments":"","x":509.244140625,"y":653.2910766601562,"z":"1a8b5305.c085cd","wires":[]},{"id":"a5f2c0c4.2e002","type":"call","name":"call generate-l3network-network-id","xml":"<call module='GENERIC-RESOURCE-API' rpc='generate-l3network-network-id' mode='sync' >\n","comments":"","outputs":1,"x":556.3866653442383,"y":605.7196311950684,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"cae13e62.0dbe2","type":"switchNode","name":"switch network--model.is-provider-network","xml":"<switch test='`$network-model.is-provider-network`'>\n","comments":"","outputs":1,"x":582.7352676391602,"y":694.5768089294434,"z":"1a8b5305.c085cd","wires":[["89c6a854.601f48","7724a3fb.17a6ec"]]},{"id":"89c6a854.601f48","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":882.8784408569336,"y":679.402265548706,"z":"1a8b5305.c085cd","wires":[["602f391.030b8c8"]]},{"id":"602f391.030b8c8","type":"set","name":"set tmp.l3-network.physical-network-name","xml":"<set>\n<parameter name='tmp.l3-network.physical-network-name' value=\"`$network-model.physical-network-name`\" />\n<parameter name='tmp.l3-network.is-provider-network-boolean' value='true' />","comments":"","x":1150.8782958984375,"y":676.4022312164307,"z":"1a8b5305.c085cd","wires":[]},{"id":"4728dc8a.76ddd4","type":"set","name":"set tmp.network-topology","xml":"<set>\n<parameter name='tmp.network-topology.network-topology-identifier-structure.network-id' value=\"`$tmp.l3-network.network-name`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.network-name' value=\"`$tmp.l3-network.network-name`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.network-type' value=\"`$tmp.l3-network.network-type`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.network-role' value=\"`$tmp.l3-network.network-role`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.network-technology' value=\"`$tmp.l3-network.network-technology`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.eipam-v4-address-plan' value=\"`$network-model.eipam-v4-address-plan`\" />\n<parameter name='tmp.network-topology.network-topology-identifier-structure.eipam-v6-address-plan' value=\"`$network-model.eipam-v6-address-plan`\" />\n<parameter name='tmp.network-topology.region-identifier.tenant' value=\"`$network-topology-operation-input.network-request-input.tenant`\" />\n<parameter name='tmp.network-topology.region-identifier.aic-cloud-region' value=\"`$network-topology-operation-input.network-request-input.aic-cloud-region`\" />\n<parameter name='tmp.network-topology.region-identifier.aic-clli' value=\"`$network-topology-operation-input.network-request-input.aic-clli`\" />\n<parameter name='tmp.network-topology.ecomp-model-information.' value=\"`$network-topology-operation-input.network-information.ecomp-model-information.`\" />\n<parameter name='tmp.network-topology.network-parameters.' value=\"`$network-topology-operation-input.network-request-input.network-input-parameters.`\" />\n","comments":"","x":577.4101905822754,"y":2448.9736881256104,"z":"1a8b5305.c085cd","wires":[]},{"id":"bc4df92.6ad6f08","type":"switchNode","name":"switch network-model.eipam-v4-address-plan (VIPR)","xml":"<switch test='`$network-model.eipam-v4-address-plan`'>\n","comments":"","outputs":1,"x":2028.5613021850586,"y":1388.909984588623,"z":"1a8b5305.c085cd","wires":[["5efa60f2.f4a81","464197e1.4cabd8","b87722fe.57e3c","279f950e.baf49a"]]},{"id":"5efa60f2.f4a81","type":"other","name":"AIC_ATM_UNPROTECTED_V4","xml":"<outcome value='AIC_ATM_UNPROTECTED_V4'>","comments":"","outputs":1,"x":2488.560722351074,"y":1357.9098014831543,"z":"1a8b5305.c085cd","wires":[["b8481fbd.f33f6"]]},{"id":"464197e1.4cabd8","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2412.2276878356934,"y":1473.2434101104736,"z":"1a8b5305.c085cd","wires":[["54efc2e2.b2c12c"]]},{"id":"797304de.6cccec","type":"save","name":"save relationship: service-instance","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-network:relationship-list\" \n\tkey=\"l3-network.network-id = $tmp.l3-network.network-id\" >\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"service-instance\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"customer.global-customer-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$service-data.service-information.global-customer-id`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"service-subscription.service-type\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$service-data.service-information.subscription-service-type`\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"service-instance.service-instance-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$service-data.service-information.service-instance-id`\" />","comments":"","outputs":1,"x":617.2711410522461,"y":2710.8468132019043,"z":"1a8b5305.c085cd","wires":[["2f4f1f7c.f19a9","29f88949.932b36"]]},{"id":"b87722fe.57e3c","type":"other","name":"AIC_ATM_PROTECTED_V4","xml":"<outcome value='AIC_ATM_PROTECTED_V4'>","comments":"","outputs":1,"x":2478.449333190918,"y":1395.4656400680542,"z":"1a8b5305.c085cd","wires":[["b8481fbd.f33f6"]]},{"id":"54efc2e2.b2c12c","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=\"Invalid address plan for VIPR\" />\n","comments":"","x":2583.1158714294434,"y":1474.5766925811768,"z":"1a8b5305.c085cd","wires":[]},{"id":"ccfde65e.e5a838","type":"switchNode","name":"switch network-model.eipam-v4-address-plan (SRIOV)","xml":"<switch test='`$network-model.eipam-v4-address-plan`'>\n","comments":"","outputs":1,"x":2064.2953033447266,"y":1737.5170440673828,"z":"1a8b5305.c085cd","wires":[["7d69ddb.4eb1724","661e7fce.8d3e6","cb5bdfca.b22e2","2a9685d1.8f282a"]]},{"id":"7d69ddb.4eb1724","type":"other","name":"AIC_DATA_PLANE_UNPROTECTED_V4","xml":"<outcome value='AIC_DATA_PLANE_UNPROTECTED_V4'>","comments":"","outputs":1,"x":2531.5452423095703,"y":1736.7669706344604,"z":"1a8b5305.c085cd","wires":[["dd3a41a3.fce13"]]},{"id":"661e7fce.8d3e6","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2424.15252494812,"y":1851.588595867157,"z":"1a8b5305.c085cd","wires":[["e08c16f9.560da8"]]},{"id":"cb5bdfca.b22e2","type":"other","name":"AIC_DATA_PLANE_PROTECTED_V4","xml":"<outcome value='AIC_DATA_PLANE_PROTECTED_V4'>","comments":"","outputs":1,"x":2527.9339141845703,"y":1773.5725135803223,"z":"1a8b5305.c085cd","wires":[["dd3a41a3.fce13"]]},{"id":"e08c16f9.560da8","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=\"Invalid address plan for SRIOV\" />\n","comments":"","x":2570.0407104492188,"y":1854.1718482971191,"z":"1a8b5305.c085cd","wires":[]},{"id":"2a9685d1.8f282a","type":"other","name":"AIC_DATA_PLANE_PRIVATE_V4","xml":"<outcome value='AIC_DATA_PLANE_PRIVATE_V4'>","comments":"","outputs":1,"x":2510.1525268554688,"y":1812.3384685516357,"z":"1a8b5305.c085cd","wires":[["dd3a41a3.fce13"]]},{"id":"14bf4e76.feb402","type":"switchNode","name":"switch network-model.eipam-v6-address-plan","xml":"<switch test='`$network-model.eipam-v6-address-plan`'>\n","comments":"","outputs":1,"x":2008.493263244629,"y":1556.5017204284668,"z":"1a8b5305.c085cd","wires":[["24428acd.934a56","a8641e83.b8db7","95022c2.dc0f4d","e1a0deaa.2971a"]]},{"id":"a2da1074.b277a","type":"save","name":"save AnAI - l3-network","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-network\" \n\t\tkey=\"l3-network.network-id = $tmp.l3-network.network-id\" >\n<!-- Create l3-network object -->\n<parameter name=\"network-id\" value=\"`$tmp.l3-network.network-id`\" />\n<parameter name=\"network-name\" value=\"`$tmp.l3-network.network-name`\" />\n<parameter name=\"network-type\" value=\"`$tmp.l3-network.network-type`\" />\n<parameter name=\"network-role\" value=\"`$tmp.l3-network.network-role`\" />\n<parameter name=\"network-technology\" value=\"`$tmp.l3-network.network-technology`\" />\n<parameter name=\"is-bound-to-vpn\" value=\"`$tmp.l3-network.is-bound-to-vpn`\" />\n<parameter name=\"service-id\" value=\"`$tmp.l3-network.service-id`\" />\n<parameter name=\"tenant-id\" value=\"`$network-topology-operation-input.network-request-information.tenant`\" />\n<parameter name=\"orchestration-status\" value=\"PendingCreate\" />\n<parameter name=\"persona-model-id\" value=\"`$tmp.l3-network.persona-model-id`\" />\n<parameter name=\"persona-model-version\" value=\"`$tmp.l3-network.persona-model-version`\" />\n<parameter name=\"persona-model-customization-id\" value=\"`$tmp.l3-network.persona-model-customization-id`\" />\n<parameter name=\"physical-network-name\" value=\"`$tmp.l3-network.physical-network-name`\" />\n<parameter name=\"is-provider-network\" value=\"`$tmp.l3-network.is-provider-network-boolean`\" />\n<parameter name=\"is-shared-network\" value=\"`$tmp.l3-network.is-shared-network-boolean`\" />\n<parameter name=\"is-external-network\" value=\"`$tmp.l3-network.is-external-network-boolean`\" />\n<parameter name=\"selflink\" value=\"`$tmp.l3-network.self-link`\" />\n","comments":"","outputs":1,"x":560.1203231811523,"y":2508.6126823425293,"z":"1a8b5305.c085cd","wires":[["c40893c5.bed6a","cc2e1488.ed29e8"]]},{"id":"a3b08dd5.410cf","type":"switchNode","name":"switch network-model.eipam-v6-address-plan (SRIOV)","xml":"<switch test='`$network-model.eipam-v6-address-plan`'>\n","comments":"","outputs":1,"x":2100.3426971435547,"y":1955.7078790664673,"z":"1a8b5305.c085cd","wires":[["9370dcee.b1658","230c5ba9.b8ec14","8421ed93.f98dc","d1efeef1.782e5","c7ab8d9a.6efc4","4e216a04.bdc844"]]},{"id":"9370dcee.b1658","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2434.770872116089,"y":2150.6365903019905,"z":"1a8b5305.c085cd","wires":[["e7e4c219.08456"]]},{"id":"e7e4c219.08456","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=\"Invalid ipv6 address plan for SRIOV\" />\n","comments":"","x":2600.6589279174805,"y":2149.6485112309456,"z":"1a8b5305.c085cd","wires":[]},{"id":"230c5ba9.b8ec14","type":"other","name":"AIC_ATM_UNPROTECTED_V6","xml":"<outcome value=\"AIC_ATM_UNPROTECTED_V6\">","comments":"","outputs":1,"x":2503.6082305908203,"y":1956.9102249145508,"z":"1a8b5305.c085cd","wires":[["403ea448.83caac"]]},{"id":"8421ed93.f98dc","type":"other","name":"AIC_ATM_PROTECTED_V6","xml":"<outcome value=\"AIC_ATM_PROTECTED_V6\">","comments":"","outputs":1,"x":2498.893585205078,"y":1998.9102478027344,"z":"1a8b5305.c085cd","wires":[["403ea448.83caac"]]},{"id":"d1efeef1.782e5","type":"other","name":"AIC_DATA_PLANE_UNPROTECTED_V6","xml":"<outcome value=\"AIC_DATA_PLANE_UNPROTECTED_V6\">","comments":"","outputs":1,"x":2538.795234680176,"y":2037.0531024932861,"z":"1a8b5305.c085cd","wires":[["403ea448.83caac"]]},{"id":"4e216a04.bdc844","type":"other","name":"AIC_DATA_PLANE_PROTECTED_V6","xml":"<outcome value=\"AIC_DATA_PLANE_PROTECTED_V6\">","comments":"","outputs":1,"x":2527.509864807129,"y":2104.4815190434456,"z":"1a8b5305.c085cd","wires":[["403ea448.83caac"]]},{"id":"c7ab8d9a.6efc4","type":"other","name":"AIC_DATA_PLANE_PRIVATE_V6","xml":"<outcome value=\"AIC_DATA_PLANE_PRIVATE_V6\">","comments":"","outputs":1,"x":2515.795440673828,"y":2071.910224914551,"z":"1a8b5305.c085cd","wires":[["403ea448.83caac"]]},{"id":"7724a3fb.17a6ec","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":870.2434997558594,"y":710.2752866744995,"z":"1a8b5305.c085cd","wires":[["e943ec69.aeaf6"]]},{"id":"e943ec69.aeaf6","type":"set","name":"set tmp.l3-network.physical-network-name","xml":"<set>\n<parameter name='tmp.l3-network.physical-network-name' value=\"\" />\n<parameter name='tmp.l3-network.is-provider-network-boolean' value='false' />","comments":"","x":1154.5294570922852,"y":708.8467178344727,"z":"1a8b5305.c085cd","wires":[]},{"id":"b7ab3890.826f88","type":"switchNode","name":"switch network--model.is-shared-network","xml":"<switch test='`$network-model.is-shared-network`'>\n","comments":"","outputs":1,"x":583.7351722717285,"y":741.878303527832,"z":"1a8b5305.c085cd","wires":[["ddbe6021.0df94","43db457d.275bfc"]]},{"id":"ddbe6021.0df94","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":881.0210113525391,"y":745.2752389907837,"z":"1a8b5305.c085cd","wires":[["dfdc8285.e2d84"]]},{"id":"dfdc8285.e2d84","type":"set","name":"set tmp.l3-network.is-shared-network-boolean","xml":"<set>\n<parameter name='tmp.l3-network.is-shared-network-boolean' value='true' />","comments":"","x":1173.3067245483398,"y":745.2750864028931,"z":"1a8b5305.c085cd","wires":[]},{"id":"43db457d.275bfc","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":869.8150367736816,"y":780.5767459869385,"z":"1a8b5305.c085cd","wires":[["48fd2235.78fcdc"]]},{"id":"48fd2235.78fcdc","type":"set","name":"set tmp.l3-network.is-shared-network-boolean","xml":"<set>\n<parameter name='tmp.l3-network.is-shared-network-boolean' value='false' />","comments":"","x":1174.1009559631348,"y":780.4339237213135,"z":"1a8b5305.c085cd","wires":[]},{"id":"a6f05dc6.5396f","type":"switchNode","name":"switch network--model.is-external-network","xml":"<switch test='`$network-model.is-external-network`'>\n","comments":"","outputs":1,"x":586.7517318725586,"y":810.5926513671875,"z":"1a8b5305.c085cd","wires":[["dde6ab06.666f48","3f618dc2.181b72"]]},{"id":"dde6ab06.666f48","type":"other","name":"outcome Y","xml":"<outcome value='Y'>\n","comments":"","outputs":1,"x":884.0375709533691,"y":813.9895868301392,"z":"1a8b5305.c085cd","wires":[["fa82ba7a.274818"]]},{"id":"fa82ba7a.274818","type":"set","name":"set tmp.l3-network.is-external-network-boolean","xml":"<set>\n<parameter name='tmp.l3-network.is-external-network-boolean' value='true' />","comments":"","x":1176.32328414917,"y":813.9894342422485,"z":"1a8b5305.c085cd","wires":[]},{"id":"3f618dc2.181b72","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":872.8315963745117,"y":849.291093826294,"z":"1a8b5305.c085cd","wires":[["1d5e084a.a29b78"]]},{"id":"1d5e084a.a29b78","type":"set","name":"set tmp.l3-network.is-external-network-boolean","xml":"<set>\n<parameter name='tmp.l3-network.is-external-network-boolean' value='false' />","comments":"","x":1177.1175155639648,"y":849.148271560669,"z":"1a8b5305.c085cd","wires":[]},{"id":"3837a2bc.6e158e","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=\"`'Failed to save l3-network in AAI for network-id = ' + $tmp.l3-network.network-id`\" />\n","comments":"","x":1023.7992134094238,"y":2491.6560916900635,"z":"1a8b5305.c085cd","wires":[]},{"id":"c40893c5.bed6a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":795.2278213500977,"y":2490.671829223633,"z":"1a8b5305.c085cd","wires":[["3837a2bc.6e158e"]]},{"id":"8d2ed5fd.a2be38","type":"save","name":"save AnAI - l3-network.subnets","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"subnet\" \n\t\tkey=\"l3-network.network-id = $tmp.l3-network.network-id \n\t\t\tAND subnet.subnet-id = $tmp.subnet-id\" >\n<!-- Create l3-network object -->\n<parameter name=\"network-id\" value=\"`$tmp.l3-network.network-id`\" />\n<parameter name=\"subnet-id\" value=\"`$tmp.l3-network.subnet[$sidx].subnet-id`\" />\n<parameter name=\"subnet-name\" value=\"`$tmp.l3-network.subnet[$sidx].subnet-name`\" />\n<parameter name=\"gateway-address\" value=\"`$tmp.l3-network.subnet[$sidx].gateway-address`\" />\n<parameter name=\"network-start-address\" value=\"`$tmp.l3-network.subnet[$sidx].network-start-address`\" />\n<parameter name=\"cidr-mask\" value=\"`$tmp.l3-network.subnet[$sidx].cidr-mask`\" />\n<parameter name=\"ip-version\" value=\"`$tmp.l3-network.subnet[$sidx].ip-version`\" />\n<parameter name=\"dhcp-enabled\" value=\"`$tmp.l3-network.subnet[$sidx].dhcp-enabled`\" />\n<parameter name=\"orchestration-status\" value=\"PendingCreate\" />","comments":"","outputs":1,"x":1678.6559104919434,"y":2591.67188167572,"z":"1a8b5305.c085cd","wires":[["10173bcb.62db54","304a38c0.5ac098"]]},{"id":"e495d7bf.6827a8","type":"for","name":"for 0..subnet_length","xml":"<for index='sidx' start='0' end='`$tmp.l3-network.subnet_length`' >\n","comments":"","outputs":1,"x":562.2121324539185,"y":2569.6719675064087,"z":"1a8b5305.c085cd","wires":[["9a14be8b.c4dce"]]},{"id":"9a14be8b.c4dce","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":789.3548126220703,"y":2568.5609188079834,"z":"1a8b5305.c085cd","wires":[["113cc2e1.6bb4ed","cb48f70c.4ee7f8"]]},{"id":"10173bcb.62db54","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1934.4962425231934,"y":2548.1478338241577,"z":"1a8b5305.c085cd","wires":[["e72b852c.6da448"]]},{"id":"ed1fbf08.fa0f9","type":"save","name":"save relationship: tenant and cloud-region","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-network:relationship-list\" \n\tkey=\"l3-network.network-id = $tmp.l3-network.network-id\" \n\tforce=\"true\" \n\tlocal-only=\"false\">\n\t<!-- create relationship-list -->\n\t<parameter name=\"relationship-list.relationship[0].related-to\" value=\"tenant\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"att-aic\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[1].relationship-value\" value=\"`$network-topology-operation-input.network-request-input.aic-cloud-region`\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-key\" value=\"tenant.tenant-id\" />\n\t<parameter name=\"relationship-list.relationship[0].relationship-data[2].relationship-value\" value=\"`$network-topology-operation-input.network-request-input.tenant`\" />\n\t<parameter name=\"relationship-list.relationship[1].related-to\" value=\"cloud-region\" />\n\t<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-key\" value=\"cloud-region.cloud-owner\" />\n\t<parameter name=\"relationship-list.relationship[1].relationship-data[0].relationship-value\" value=\"att-aic\" />\n\t<parameter name=\"relationship-list.relationship[1].relationship-data[1].relationship-key\" value=\"cloud-region.cloud-region-id\" />\n\t<parameter name=\"relationship-list.relationship[1].relationship-data[1].relationship-value\" value=\"`$network-topology-operation-input.network-request-input.aic-cloud-region`\" />\n\t\n\t","comments":"","outputs":1,"x":617.9264144897461,"y":2846.2435417175293,"z":"1a8b5305.c085cd","wires":[["f876d5b8.4f26c8","9ea6263d.2cf398"]]},{"id":"f876d5b8.4f26c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":865.9264183044434,"y":2846.243532180786,"z":"1a8b5305.c085cd","wires":[["e0ef3b91.882348"]]},{"id":"e0ef3b91.882348","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1054.3192462921143,"y":2845.879650115967,"z":"1a8b5305.c085cd","wires":[["74512067.32d89","21428fc3.65275"]]},{"id":"74512067.32d89","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while saving tenant and cloud-region relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":1300.0851249694824,"y":2836.5820569992065,"z":"1a8b5305.c085cd","wires":[]},{"id":"304a38c0.5ac098","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1943.2193870544434,"y":2585.79102230072,"z":"1a8b5305.c085cd","wires":[["e72b852c.6da448"]]},{"id":"9ea6263d.2cf398","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":873.9342613220215,"y":2888.0768547058105,"z":"1a8b5305.c085cd","wires":[["e0ef3b91.882348"]]},{"id":"2f4f1f7c.f19a9","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":853.4181060791016,"y":2709.989246368408,"z":"1a8b5305.c085cd","wires":[["10d1d9fc.30afb6"]]},{"id":"29f88949.932b36","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":864.1411399841309,"y":2743.632335662842,"z":"1a8b5305.c085cd","wires":[["10d1d9fc.30afb6"]]},{"id":"48994ca2.f68244","type":"delete","name":"delete l3-network","xml":"<delete plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-network\" \n\tkey=\"l3-network.network-id = $tmp.l3-network.network-id\">","comments":"","outputs":1,"x":1814.7355880737305,"y":3411.2118644714355,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"ca9121d3.7a07d","type":"returnFailure","name":"return failure","xml":"<return status='failure'>\n\t<parameter name='error-code' value='500'/>\n\t<parameter name='error-message' value=\"`'Error writing to l3-network - ' + $tmp.error-message`\"/>","comments":"","x":1803.3397216796875,"y":3454.407875061035,"z":"1a8b5305.c085cd","wires":[]},{"id":"21428fc3.65275","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1624.911849975586,"y":3411.4634532928467,"z":"1a8b5305.c085cd","wires":[["48994ca2.f68244","ca9121d3.7a07d"]]},{"id":"dc5a36f4.8bbba8","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":2374.3692893981934,"y":2563.0052556991577,"z":"1a8b5305.c085cd","wires":[]},{"id":"e72b852c.6da448","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":2119.2267112731934,"y":2562.4337224960327,"z":"1a8b5305.c085cd","wires":[["dc5a36f4.8bbba8","21428fc3.65275"]]},{"id":"cc2e1488.ed29e8","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":799.0373191833496,"y":2520.1482458114624,"z":"1a8b5305.c085cd","wires":[["3837a2bc.6e158e"]]},{"id":"113cc2e1.6bb4ed","type":"set","name":"set: tmp.subnet-id","xml":"<set>\n<parameter name=\"tmp.subnet-id\" value=\"`$tmp.l3-network.subnet[$sidx].subnet-id`\"/>\n\t","comments":"","x":1015.4183883666992,"y":2528.8146476745605,"z":"1a8b5305.c085cd","wires":[]},{"id":"cb48f70c.4ee7f8","type":"switchNode","name":"switch dhcp-enabled","xml":"<switch test='`$tmp.l3-network.subnet[$sidx].dhcp-enabled`'>\n","comments":"","outputs":1,"x":1018.7674827575684,"y":2573.683539390564,"z":"1a8b5305.c085cd","wires":[["332a0d9a.2096e2","37b18102.98d6ce"]]},{"id":"37b18102.98d6ce","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":1252.7674827575684,"y":2549.6836614608765,"z":"1a8b5305.c085cd","wires":[["bbfc739f.96b1"]]},{"id":"332a0d9a.2096e2","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":1250.7674827575684,"y":2585.6836614608765,"z":"1a8b5305.c085cd","wires":[["4c50ff55.54e58"]]},{"id":"412912ba.445eac","type":"save","name":"save AnAI - l3-network.subnets","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"subnet\" \n\t\tkey=\"l3-network.network-id = $tmp.l3-network.network-id \n\t\t\tAND subnet.subnet-id = $tmp.subnet-id\" >\n<!-- Create l3-network object -->\n<parameter name=\"network-id\" value=\"`$tmp.l3-network.network-id`\" />\n<parameter name=\"subnet-id\" value=\"`$tmp.l3-network.subnet[$sidx].subnet-id`\" />\n<parameter name=\"subnet-name\" value=\"`$tmp.l3-network.subnet[$sidx].subnet-name`\" />\n<parameter name=\"gateway-address\" value=\"`$tmp.l3-network.subnet[$sidx].gateway-address`\" />\n<parameter name=\"network-start-address\" value=\"`$tmp.l3-network.subnet[$sidx].network-start-address`\" />\n<parameter name=\"cidr-mask\" value=\"`$tmp.l3-network.subnet[$sidx].cidr-mask`\" />\n<parameter name=\"ip-version\" value=\"`$tmp.l3-network.subnet[$sidx].ip-version`\" />\n<parameter name=\"dhcp-start\" value=\"`$tmp.l3-network.subnet[$sidx].dhcp-start`\" />\n<parameter name=\"dhcp-end\" value=\"`$tmp.l3-network.subnet[$sidx].dhcp-end`\" />\n<parameter name=\"dhcp-enabled\" value=\"`$tmp.l3-network.subnet[$sidx].dhcp-enabled`\" />\n<parameter name=\"orchestration-status\" value=\"PendingCreate\" />","comments":"","outputs":1,"x":1678.7672386169434,"y":2547.68360042572,"z":"1a8b5305.c085cd","wires":[["304a38c0.5ac098","10173bcb.62db54"]]},{"id":"bbfc739f.96b1","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1443.6559104919434,"y":2549.906012535095,"z":"1a8b5305.c085cd","wires":[["412912ba.445eac"]]},{"id":"4c50ff55.54e58","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1443.6561546325684,"y":2589.906012535095,"z":"1a8b5305.c085cd","wires":[["8d2ed5fd.a2be38"]]},{"id":"3917cd9.7ed7c32","type":"for","name":"for 0..vpn-bindings_length","xml":"<for index='vidx' start='0' end='`$vpn-bindings_length`' >\n","comments":"","outputs":1,"x":1144.9518966674805,"y":2649.239086151123,"z":"1a8b5305.c085cd","wires":[["7c900881.645018"]]},{"id":"cb2ae5c7.b8f7a8","type":"switchNode","name":"switch hasVpnBindings","xml":"<switch test='`$hasVpnBindings`'>\n","comments":"","outputs":1,"x":585.6190299987793,"y":2650.202492713928,"z":"1a8b5305.c085cd","wires":[["8207c0b3.22e3f"]]},{"id":"6cf30f85.f2632","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":946.285758972168,"y":2651.535472869873,"z":"1a8b5305.c085cd","wires":[["3917cd9.7ed7c32"]]},{"id":"5f2018d1.a1d508","type":"save","name":"save relationship: vpn_bindings","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"l3-network:relationship-list\" \n\tkey=\"l3-network.network-id = $tmp.l3-network.network-id\" >\n<parameter name=\"relationship-list.relationship[0].related-to\" value=\"vpn-binding\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-key\" value=\"vpn-binding.vpn-id\" />\n<parameter name=\"relationship-list.relationship[0].relationship-data[0].relationship-value\" value=\"`$vpn-bindings[$vidx].binding-uuid`\" />","comments":"","outputs":1,"x":1606.285514831543,"y":2649.202220916748,"z":"1a8b5305.c085cd","wires":[["c08b58ea.2e93c8","6ffa9708.073958"]]},{"id":"c08b58ea.2e93c8","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1838.0251121520996,"y":2648.0110969543457,"z":"1a8b5305.c085cd","wires":[["a8bf5972.afc6a8"]]},{"id":"a8bf5972.afc6a8","type":"block","name":"block","xml":"<block>","atomic":"false","outputs":1,"x":1994.9179916381836,"y":2647.647204399109,"z":"1a8b5305.c085cd","wires":[["21428fc3.65275","55da40d2.2f072"]]},{"id":"6ffa9708.073958","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1847.0555114746094,"y":2682.289525985718,"z":"1a8b5305.c085cd","wires":[["a8bf5972.afc6a8"]]},{"id":"7c900881.645018","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1362.6186447143555,"y":2651.201976776123,"z":"1a8b5305.c085cd","wires":[["5f2018d1.a1d508"]]},{"id":"10d1d9fc.30afb6","type":"block","name":"block","xml":"<block>","atomic":"false","outputs":1,"x":1045.581932067871,"y":2709.5356254577637,"z":"1a8b5305.c085cd","wires":[["21428fc3.65275","fd152d37.d5acd"]]},{"id":"fd152d37.d5acd","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while saving service instance relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":1270.581932067871,"y":2708.202251434326,"z":"1a8b5305.c085cd","wires":[]},{"id":"55da40d2.2f072","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while saving vpn binding relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":2222.581886291504,"y":2646.8689556121826,"z":"1a8b5305.c085cd","wires":[]},{"id":"b629208a.09c27","type":"switchNode","name":"switch network-technology","xml":"<switch test='`$network-model.network-technology`'>\n","comments":"","outputs":1,"x":546.1110458374023,"y":1389.4443473815918,"z":"1a8b5305.c085cd","wires":[["5d98c991.20e8f8","9d4e2f0d.1638","bcb49c2d.d02b3"]]},{"id":"a9dd6669.a72c38","type":"get-resource","name":"get-resource cloud region","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"cloud-region\" \n\t\tkey=\"cloud-region.cloud-owner = 'att-aic' AND \n\t\t cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND \n\t\t depth = '0'\"\n pfx='aai.cloud-region' local-only='false' >\n\n","comments":"","outputs":1,"x":543.444450378418,"y":982.4443778991699,"z":"1a8b5305.c085cd","wires":[["b1b41c5c.6ac73","b1eb8b68.e93818"]]},{"id":"b1eb8b68.e93818","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":765.8335571289062,"y":1019.1665458679199,"z":"1a8b5305.c085cd","wires":[["358bf8ac.301e38"]]},{"id":"358bf8ac.301e38","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 retrieving cloud region from AAI\" />\n","comments":"","x":944.1192016601562,"y":1019.1665458679199,"z":"1a8b5305.c085cd","wires":[]},{"id":"b1b41c5c.6ac73","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":772.333553314209,"y":983.1666069030762,"z":"1a8b5305.c085cd","wires":[["cccc3223.636ff"]]},{"id":"cccc3223.636ff","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=\"Cloud region not found in AAI\" />\n","comments":"","x":940.1113891601562,"y":982.4721488952637,"z":"1a8b5305.c085cd","wires":[]},{"id":"9de966ff.c0be48","type":"comment","name":"Per test failure in IT, need to throw error if relationships don't exist","info":"","comments":"","x":661.6946868896484,"y":939.5276851654053,"z":"1a8b5305.c085cd","wires":[]},{"id":"2fbd77c1.048628","type":"set","name":"set tmp.complex-found","xml":"<set>\n<parameter name='tmp.complex-found' value='false' />\n\n","comments":"","x":529.8890609741211,"y":882.8332328796387,"z":"1a8b5305.c085cd","wires":[]},{"id":"93a30dfc.d4482","type":"get-resource","name":"get-resource complex","xml":"<get-resource plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\t\tresource=\"complex\" \n\t\tkey=\"complex.physical-location-id = $aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value\"\n pfx='aai.complex' local-only='false' >\n \n\n\n","comments":"","outputs":1,"x":1634.999870300293,"y":1202.4444198608398,"z":"1a8b5305.c085cd","wires":[["4044fb25.8ce8c4","898fafd9.df1f5","9249c225.c0f71"]]},{"id":"898fafd9.df1f5","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1866.6391830444336,"y":1261.916404724121,"z":"1a8b5305.c085cd","wires":[["97d0bcc0.ddc29"]]},{"id":"97d0bcc0.ddc29","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 retrieving complex from AAI\" />\n","comments":"","x":2040.9248275756836,"y":1261.916404724121,"z":"1a8b5305.c085cd","wires":[]},{"id":"4044fb25.8ce8c4","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1869.1391792297363,"y":1221.9164657592773,"z":"1a8b5305.c085cd","wires":[["b737ddd0.c8ed4"]]},{"id":"b737ddd0.c8ed4","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=\"Complex not found in AAI\" />\n","comments":"","x":2036.917106628418,"y":1221.2218132019043,"z":"1a8b5305.c085cd","wires":[]},{"id":"5b1e35b2.5ea92c","type":"for","name":"for relationship list","xml":"<for silentFailure='false' index='ridx' start='0' end=\"`$aai.cloud-region.relationship-list.relationship_length`\" >\n","comments":"","outputs":1,"x":509.86153411865234,"y":1158.6747665405273,"z":"1a8b5305.c085cd","wires":[["6b0ad57f.0fe9cc"]]},{"id":"862e6c4c.7a97","type":"switchNode","name":"switch","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>\n","comments":"","outputs":1,"x":915.361198425293,"y":1162.3888778686523,"z":"1a8b5305.c085cd","wires":[["5eb1534d.ddb1fc"]]},{"id":"6b0ad57f.0fe9cc","type":"for","name":"for relationship data","xml":"<for silentFailure='false' index='rdidx' start='0' end=\"`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data_length`\" >\n","comments":"","outputs":1,"x":732.7779769897461,"y":1159.6389999389648,"z":"1a8b5305.c085cd","wires":[["862e6c4c.7a97"]]},{"id":"5eb1534d.ddb1fc","type":"other","name":"complex.physical-location-id","xml":"<outcome value='complex.physical-location-id'>\n","comments":"","outputs":1,"x":1137.8612594604492,"y":1160.8055038452148,"z":"1a8b5305.c085cd","wires":[["ec522bfd.604bd8"]]},{"id":"ec522bfd.604bd8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1377.2775802612305,"y":1158.5556259155273,"z":"1a8b5305.c085cd","wires":[["93a30dfc.d4482","a0b8ae7e.73db","1478ab7a.138b25"]]},{"id":"9249c225.c0f71","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1861.6669752332891,"y":1175.9721787770586,"z":"1a8b5305.c085cd","wires":[["73c62e58.62479"]]},{"id":"73c62e58.62479","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":2038.8098449707031,"y":1177.222131729126,"z":"1a8b5305.c085cd","wires":[["97a332a5.2b6c9"]]},{"id":"a0b8ae7e.73db","type":"set","name":"set aic-clli","xml":"<set>\n<parameter name='service-data.network-request-input.aic-clli' value='`$aai.complex.physical-location-id`' />\n\n","comments":"","x":1601.7781372070312,"y":1165.5000114440918,"z":"1a8b5305.c085cd","wires":[]},{"id":"7a1a7c2.ce09484","type":"switchNode","name":"switch relationship_length","xml":"<switch test='`$aai.cloud-region.relationship-list.relationship_length`'>\n","comments":"","outputs":1,"x":539.8889694213867,"y":1081.7221908569336,"z":"1a8b5305.c085cd","wires":[["727319e3.8edd98","26c69776.80cfa8"]]},{"id":"727319e3.8edd98","type":"other","name":"0","xml":"<outcome value='0'>\n","comments":"","outputs":1,"x":733.8890414767793,"y":1080.7222796546089,"z":"1a8b5305.c085cd","wires":[["6823a93b.07df48"]]},{"id":"26c69776.80cfa8","type":"other","name":"null","xml":"<outcome value=''>\n","comments":"","outputs":1,"x":735.8890380859375,"y":1119.7223110198975,"z":"1a8b5305.c085cd","wires":[["6823a93b.07df48"]]},{"id":"6823a93b.07df48","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=\"Cloud region missing relationships in AAI\" />\n","comments":"","x":919.8890380859375,"y":1085.7223110198975,"z":"1a8b5305.c085cd","wires":[]},{"id":"1478ab7a.138b25","type":"set","name":"set tmp.complex-found","xml":"<set>\n<parameter name='tmp.complex-found' value='true' />\n\n","comments":"","x":1640.1111450195312,"y":1133.8333854675293,"z":"1a8b5305.c085cd","wires":[]},{"id":"60381262.576cfc","type":"switchNode","name":"switch tmp.complex-found","xml":"<switch test='`$tmp.complex-found`'>\n","comments":"","outputs":1,"x":537.8890914916992,"y":1241.9444198608398,"z":"1a8b5305.c085cd","wires":[["5a328de2.03b8b4"]]},{"id":"5a328de2.03b8b4","type":"outcomeFalse","name":"false","xml":"<outcome value='false'>\n","comments":"","outputs":1,"x":755.3890914916992,"y":1241.3055038452148,"z":"1a8b5305.c085cd","wires":[["e8bfbba2.de15b8"]]},{"id":"e8bfbba2.de15b8","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=\"Complex not found in AAI\" />\n","comments":"","x":912.889030456543,"y":1242.8056259155273,"z":"1a8b5305.c085cd","wires":[]},{"id":"5d98c991.20e8f8","type":"outcome","name":"outcome Contrail","xml":"<outcome value='Contrail'>\n","comments":"","outputs":1,"x":788.9999618530273,"y":1389.8886833190918,"z":"1a8b5305.c085cd","wires":[["f6f1d63d.fe27e8"]]},{"id":"9d4e2f0d.1638","type":"outcome","name":"outcome AIC_SR_IOV","xml":"<outcome value='AIC_SR_IOV'>\n","comments":"","outputs":1,"x":822.9999923706055,"y":1732.8888053894043,"z":"1a8b5305.c085cd","wires":[["46abce7a.44c39"]]},{"id":"97a332a5.2b6c9","type":"switchNode","name":"switch region","xml":"<switch test='`$aai.complex.region`'>\n","comments":"","outputs":1,"x":2241.4445724487305,"y":1176.8888053894043,"z":"1a8b5305.c085cd","wires":[["38bf1673.6311ca","961953ad.504c8","5a180df4.7bc884","f16470ad.05b77","7e5b906f.9202a","5490bc7c.7aca24"]]},{"id":"38bf1673.6311ca","type":"other","name":"USA","xml":"<outcome value='USA'>\n","comments":"","outputs":1,"x":2475.9447729322637,"y":1120.1388247807818,"z":"1a8b5305.c085cd","wires":[["b368b63c.3dd7a8"]]},{"id":"961953ad.504c8","type":"other","name":"US","xml":"<outcome value='US'>\n","comments":"","outputs":1,"x":2477.1946601867676,"y":1151.3888368606567,"z":"1a8b5305.c085cd","wires":[["b368b63c.3dd7a8"]]},{"id":"5a180df4.7bc884","type":"other","name":"CALA","xml":"<outcome value='CALA'>\n","comments":"","outputs":1,"x":2477.1946601867676,"y":1183.8888368606567,"z":"1a8b5305.c085cd","wires":[["b368b63c.3dd7a8"]]},{"id":"f16470ad.05b77","type":"other","name":"EMEA","xml":"<outcome value='EMEA'>\n","comments":"","outputs":1,"x":2475.9446601867676,"y":1215.1388368606567,"z":"1a8b5305.c085cd","wires":[["b368b63c.3dd7a8"]]},{"id":"7e5b906f.9202a","type":"other","name":"AP","xml":"<outcome value='AP'>\n","comments":"","outputs":1,"x":2477.1946601867676,"y":1248.8887758255005,"z":"1a8b5305.c085cd","wires":[["b368b63c.3dd7a8"]]},{"id":"5490bc7c.7aca24","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2477.1945152282715,"y":1280.1387453079224,"z":"1a8b5305.c085cd","wires":[["e44c109d.dc45c"]]},{"id":"e44c109d.dc45c","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=\"Complex.region unknown\" />\n","comments":"","x":2645.9446601867676,"y":1278.8887758255005,"z":"1a8b5305.c085cd","wires":[]},{"id":"b368b63c.3dd7a8","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2634.888779110379,"y":1145.3889084921943,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"bcb49c2d.d02b3","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":773.0000076293945,"y":2019.3336906433105,"z":"1a8b5305.c085cd","wires":[["939bed8f.13cae"]]},{"id":"939bed8f.13cae","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=\"Invalid network-technology. Only AIC_SR_IOV and Contrail are supported\" />\n","comments":"","x":1000.9999465942383,"y":2019.3336906433105,"z":"1a8b5305.c085cd","wires":[]},{"id":"b8481fbd.f33f6","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2745.9997024536133,"y":1365.1110954284668,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"dd3a41a3.fce13","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2803.000259399414,"y":1745.1110877990723,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"403ea448.83caac","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2844.9997940063477,"y":2003.1112187504768,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"ca6d6436.b4f728","type":"call","name":"call process-eipam-pools","xml":"<call module='GENERIC-RESOURCE-API' rpc='process-eipam-pools' mode='sync' >\n","comments":"tmp.level should be set to 1","outputs":1,"x":570.3022994995117,"y":2234.156078338623,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"13db491e.a822c7","type":"call","name":"call GENERIC-RESOURCE-API:create-l3-subnet","xml":"<call module='GENERIC-RESOURCE-API' rpc='create-l3-subnet' mode='sync' >\n","comments":"tmp.level should be set to 1","outputs":1,"x":651.5131759643555,"y":2312.913890838623,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"2709264e.6759fa","type":"set","name":"set process-eipam-action","xml":"<set>\n<parameter name='tmp.process-eipam-action' value='assign' />\n","comments":"","x":573.7677536010742,"y":2195.156322479248,"z":"1a8b5305.c085cd","wires":[]},{"id":"61bb926f.cd7d7c","type":"record","name":"record","xml":"<record plugin=\"org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder\">\n<parameter name=\"logger\" value=\"message-log\"/>\n<parameter name=\"field1\" value=\"__TIMESTAMP__\"/>\n<parameter name=\"field2\" value=\"GENERIC-RESOURCE-API.process-eipam-pools:REQID\"/>\n<parameter name=\"field3\" value=\"`$network-topology-operation-input.sdnc-request-header.svc-request-id`\"/>\n<parameter name=\"field4\" value=\"Values after process-eipam\"/>\n<parameter name=\"field5\" value=\"`level1-v4-mask`\"/>\n<parameter name=\"field6\" value=\"`$tmp.l3-network.level1.v4.mask`\"/>\n<parameter name=\"field7\" value=\"`level1-v4-ipprefix`\"/>\n<parameter name=\"field8\" value=\"`$tmp.l3-network.level1.v4.ip-prefix`\"/>\n<parameter name=\"field9\" value=\"`level1-v4-entity-id`\"/>\n<parameter name=\"field10\" value=\"`$tmp.l3-network.level1.v4.entity-id`\"/>\n<parameter name=\"field11\" value=\"`level2-v4-mask`\"/>\n<parameter name=\"field12\" value=\"`$tmp.l3-network.level2.v4.mask`\"/>\n<parameter name=\"field13\" value=\"`level2-v4-ipprefix`\"/>\n<parameter name=\"field14\" value=\"`$tmp.l3-network.level2.v4.ip-prefix`\"/>\n<parameter name=\"field15\" value=\"`level2-v4-entity-id`\"/>\n<parameter name=\"field16\" value=\"`$tmp.l3-network.level2.v4.entity-id`\"/>\n\n\n","comments":"","outputs":1,"x":520.4187545776367,"y":2269.938060760498,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"f6f1d63d.fe27e8","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1000.9999923706055,"y":1388.8888053894043,"z":"1a8b5305.c085cd","wires":[["d1028c12.c84fc","bade0de.687c6f"]]},{"id":"46abce7a.44c39","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1048.9999313354492,"y":1732.8888053894043,"z":"1a8b5305.c085cd","wires":[["6dc461c1.1dfdf","330b7d34.5dfc22"]]},{"id":"8207c0b3.22e3f","type":"outcomeTrue","name":"true","xml":"<outcome value='true'>\n","comments":"","outputs":1,"x":778.9999923706055,"y":2650.999828338623,"z":"1a8b5305.c085cd","wires":[["6cf30f85.f2632"]]},{"id":"f9e58c7b.aacc4","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":732.9999923706055,"y":344.00002670288086,"z":"1a8b5305.c085cd","wires":[["18ec6cc4.a941f3"]]},{"id":"18ec6cc4.a941f3","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":912.9999847412109,"y":342.00000190734863,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"63bb1d97.e60064","type":"switchNode","name":"switch network-technology","xml":"<switch test='`$network-model.network-technology`'>\n","comments":"","outputs":1,"x":574.9999923706055,"y":2927.999828338623,"z":"1a8b5305.c085cd","wires":[["939b5aed.1aae58"]]},{"id":"939b5aed.1aae58","type":"outcome","name":"outcome AIC_SR_IOV","xml":"<outcome value='AIC_SR_IOV'>\n","comments":"","outputs":1,"x":877.8889694213867,"y":2929.444164276123,"z":"1a8b5305.c085cd","wires":[["e82a508a.4229a"]]},{"id":"e82a508a.4229a","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1095.8887252807617,"y":2927.4442863464355,"z":"1a8b5305.c085cd","wires":[["aebd7334.b437c","8cea94a0.5581b8"]]},{"id":"aebd7334.b437c","type":"save","name":"save AnAI - segmentation-assignment","xml":"<save plugin=\"org.onap.ccsdk.sli.adaptors.aai.AAIService\" \n\tresource=\"segmentation-assignment\" \n\t\tkey=\"l3-network.network-id = $tmp.l3-network.network-id \n\t\t\tAND segmentation-assignment.segmentation-id = $tmp.l3-network.segmentation-id\" >\n<!-- Create segmentation-assignment object -->\n<parameter name=\"network-id\" value=\"`$tmp.l3-network.network-id`\" />\n<parameter name=\"segmentation-id\" value=\"`$tmp.l3-network.segmentation-id`\" />\n","comments":"","outputs":1,"x":1374.999870300293,"y":2983.7777824401855,"z":"1a8b5305.c085cd","wires":[["635baecf.da65a","844325db.02e548"]]},{"id":"635baecf.da65a","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1643.999870300293,"y":2960.777904510498,"z":"1a8b5305.c085cd","wires":[["1db9bcd1.f30e23"]]},{"id":"844325db.02e548","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1652.723014831543,"y":2998.4210929870605,"z":"1a8b5305.c085cd","wires":[["1db9bcd1.f30e23"]]},{"id":"fc0f6851.bec3b8","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while saving segmentation-assignment for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":2083.872917175293,"y":2975.635326385498,"z":"1a8b5305.c085cd","wires":[]},{"id":"1db9bcd1.f30e23","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1828.730339050293,"y":2975.063793182373,"z":"1a8b5305.c085cd","wires":[["fc0f6851.bec3b8","21428fc3.65275"]]},{"id":"c2804041.b3c85","type":"execute","name":"execute readProperties","xml":"<execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties'>\n <parameter name='contextPrefix' value='prop'/>\n <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api.properties'/>\n","comments":"","outputs":1,"x":1342.999984741211,"y":2906.666576385498,"z":"1a8b5305.c085cd","wires":[["5bb8bd75.e7bd04","b6b631b.f63f8d"]]},{"id":"5bb8bd75.e7bd04","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1550.999984741211,"y":2848.666576385498,"z":"1a8b5305.c085cd","wires":[["44e3f917.1e2e28"]]},{"id":"b6b631b.f63f8d","type":"failure","name":"failure","xml":"<outcome value='failure'>\n","comments":"","outputs":1,"x":1544.999984741211,"y":2884.666576385498,"z":"1a8b5305.c085cd","wires":[["4be39f81.4fd4a"]]},{"id":"95dbb3fd.0c1f7","type":"set","name":"set: tmp.error-message","xml":"<set>\n\t<parameter name=\"error-code\" value=\"500\"/>\n\t<parameter name=\"tmp.error-message\" value=\"`'An error occurred while reading default segmentation-assignment for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`\"/>","comments":"","x":1952.9999923706055,"y":2868.666332244873,"z":"1a8b5305.c085cd","wires":[]},{"id":"4be39f81.4fd4a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1721.857406616211,"y":2884.095043182373,"z":"1a8b5305.c085cd","wires":[["95dbb3fd.0c1f7","21428fc3.65275"]]},{"id":"e1be1a52.54f3b8","type":"set","name":"set: tmp.l3-network.segmentation-id","xml":"<set>\n\t<parameter name=\"tmp.l3-network.segmentation-id\" value=\"`$prop.default.segmentation-assignment`\"/>","comments":"","x":1984.9999923706055,"y":2836.666332244873,"z":"1a8b5305.c085cd","wires":[]},{"id":"44e3f917.1e2e28","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1727.857406616211,"y":2848.095043182373,"z":"1a8b5305.c085cd","wires":[["e1be1a52.54f3b8"]]},{"id":"d1028c12.c84fc","type":"switchNode","name":"switch: network-model.use-ipv4","xml":"<switch test=\"`$network-model.use-ipv4`\">","comments":"","outputs":1,"x":1256.999870300293,"y":1387.4445915222168,"z":"1a8b5305.c085cd","wires":[["2024b896.76a498"]]},{"id":"2024b896.76a498","type":"other","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1511.9999961853027,"y":1387.8731479644775,"z":"1a8b5305.c085cd","wires":[["27e33253.31496e"]]},{"id":"27e33253.31496e","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1684.5713157653809,"y":1388.301752090454,"z":"1a8b5305.c085cd","wires":[["bc4df92.6ad6f08"]]},{"id":"6dc461c1.1dfdf","type":"switchNode","name":"switch: network-model.use-ipv4","xml":"<switch test=\"`$network-model.use-ipv4`\">","comments":"","outputs":1,"x":1324.1111755371094,"y":1733.4446239471436,"z":"1a8b5305.c085cd","wires":[["140551e2.4f61fe"]]},{"id":"140551e2.4f61fe","type":"other","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1579.1113014221191,"y":1736.8731803894043,"z":"1a8b5305.c085cd","wires":[["ea5dcb81.6728d8"]]},{"id":"ea5dcb81.6728d8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1751.6826210021973,"y":1737.3017845153809,"z":"1a8b5305.c085cd","wires":[["ccfde65e.e5a838"]]},{"id":"330b7d34.5dfc22","type":"switchNode","name":"switch: network-model.use-ipv6","xml":"<switch test=\"`$network-model.use-ipv6`\">","comments":"","outputs":1,"x":1344.1111373901367,"y":1954.4445304870605,"z":"1a8b5305.c085cd","wires":[["65a51dc6.c0e5e4"]]},{"id":"65a51dc6.c0e5e4","type":"other","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1599.1112632751465,"y":1957.8730869293213,"z":"1a8b5305.c085cd","wires":[["9d1d090d.9dc2f8"]]},{"id":"9d1d090d.9dc2f8","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1795.6825942993164,"y":1956.3017692565918,"z":"1a8b5305.c085cd","wires":[["a3b08dd5.410cf"]]},{"id":"bade0de.687c6f","type":"switchNode","name":"switch: network-model.use-ipv6","xml":"<switch test=\"`$network-model.use-ipv6`\">","comments":"","outputs":1,"x":1266.1111373901367,"y":1556.4445304870605,"z":"1a8b5305.c085cd","wires":[["4e4efcc8.51a894"]]},{"id":"4e4efcc8.51a894","type":"other","name":"Y","xml":"<outcome value='Y'>","comments":"","outputs":1,"x":1521.1112632751465,"y":1559.8730869293213,"z":"1a8b5305.c085cd","wires":[["26c43fce.b1a9a"]]},{"id":"26c43fce.b1a9a","type":"block","name":"block : atomic","xml":"<block atomic='true'>","atomic":"true","comments":"","outputs":1,"x":1717.6825942993164,"y":1558.3017692565918,"z":"1a8b5305.c085cd","wires":[["14bf4e76.feb402"]]},{"id":"8cea94a0.5581b8","type":"set","name":"set: segmentionat-d=1","xml":"<set>\n\t<parameter name=\"tmp.l3-network.segmentation-id\" value=\"1\"/>","comments":"","x":1329.9841690063477,"y":2950.8570852279663,"z":"1a8b5305.c085cd","wires":[]},{"id":"7e62bfac.efaea","type":"comment","name":"future if need from property","info":"","comments":"","x":1348.5556564331055,"y":2871.999828338623,"z":"1a8b5305.c085cd","wires":[]},{"id":"e3a6601d.ee1c2","type":"other","name":"outcome oam_vipr_protected_network","xml":"<outcome value='oam_vipr_protected_network'>\n","comments":"","outputs":1,"x":2609.555305480957,"y":375.50263023376465,"z":"1a8b5305.c085cd","wires":[["36f8e62e.3e607a"]]},{"id":"d21320c7.875be","type":"other","name":"outcome network_without_route_tags_naming_default","xml":"<outcome value='network_without_route_tags_naming_default'>\n","comments":"","outputs":1,"x":2656.2219772338867,"y":412.16929817199707,"z":"1a8b5305.c085cd","wires":[["36f8e62e.3e607a"]]},{"id":"3927bc9.ef1ad44","type":"other","name":"outcome sriov_provider_network","xml":"<outcome value='sriov_provider_network'>\n","comments":"","outputs":1,"x":2587.888801574707,"y":648.8359718322754,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"f545226c.1e1f3","type":"other","name":"outcome oam_atm_u_landing_network","xml":"<outcome value='oam_atm_u_landing_network'>\n","comments":"","outputs":1,"x":2602.888496398926,"y":453.83595752716064,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"983a4aba.12f018","type":"other","name":"outcome oam_atm_p_landing_network","xml":"<outcome value='oam_atm_p_landing_network'>\n","comments":"","outputs":1,"x":2601.2216720581055,"y":488.8359594345093,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"9ac69de3.85dd5","type":"other","name":"outcome oam_aim_landing_network","xml":"<outcome value='oam_aim_landing_network'>\n","comments":"","outputs":1,"x":2594.5555114746094,"y":520.502628326416,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"56b6dcac.c4bfc4","type":"other","name":"outcome network_with_route_tags_naming_default","xml":"<outcome value='network_with_route_tags_naming_default'>\n","comments":"","outputs":1,"x":2639.555595397949,"y":553.8359527587891,"z":"1a8b5305.c085cd","wires":[["9269a69b.c004e8"]]},{"id":"279f950e.baf49a","type":"other","name":"AIC_AIM_LANDING_NETWORK_V4","xml":"<outcome value='AIC_AIM_LANDING_NETWORK_V4'>","comments":"","outputs":1,"x":2502.999824523926,"y":1429.9999198913574,"z":"1a8b5305.c085cd","wires":[["b8481fbd.f33f6"]]},{"id":"960cc18d.2fd1b","type":"get-resource","name":"get-resource VPN_BINDINGS","xml":"<get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'\n key='SELECT * from VPN_BINDINGS WHERE network_customization_uuid = $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid'\n pfx='vpn-bindings[]'>\n\n","comments":"","outputs":1,"x":1246.142807006836,"y":264.28571128845215,"z":"1a8b5305.c085cd","wires":[["feb45c91.fd681","d7038114.b2909","7f333885.c94138"]]},{"id":"d7038114.b2909","type":"not-found","name":"not-found","xml":"<outcome value='not-found'>\n","comments":"","outputs":1,"x":1467.5714111328125,"y":296.99999237060547,"z":"1a8b5305.c085cd","wires":[["ef08fa38.9d4078"]]},{"id":"7f333885.c94138","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":1462.9044380187988,"y":329.33330631256104,"z":"1a8b5305.c085cd","wires":[["911dd542.ed2ee8"]]},{"id":"feb45c91.fd681","type":"success","name":"success","xml":"<outcome value='success'>\n","comments":"","outputs":1,"x":1463.0804443359375,"y":264.4259567260742,"z":"1a8b5305.c085cd","wires":[["cda800bd.57b12"]]},{"id":"ef08fa38.9d4078","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=\"Network model is_bound_to_vpn=true but no vpn_binding is present\" />\n\n","comments":"","x":1636.1428604125977,"y":297.28572368621826,"z":"1a8b5305.c085cd","wires":[]},{"id":"cda800bd.57b12","type":"block","name":"block : atomic","xml":"<block atomic=\"true\">","atomic":"true","outputs":1,"x":1633.2857666015625,"y":263.99999237060547,"z":"1a8b5305.c085cd","wires":[["32d5ba47.7aac96","2dde48f4.4544e8"]]},{"id":"43007d32.9c93f4","type":"comment","name":"Changelog","info":"1707: Change vpn binding from field to table selection\n1710: Add ipv6 vipr flows","comments":"","x":323.8571472167969,"y":80.00000667572021,"z":"1a8b5305.c085cd","wires":[]},{"id":"a8641e83.b8db7","type":"other","name":"AIC_ATM_UNPROTECTED_V6","xml":"<outcome value='AIC_ATM_UNPROTECTED_V6'>","comments":"","outputs":1,"x":2493.800048828125,"y":1535,"z":"1a8b5305.c085cd","wires":[["140e9a55.7c9096"]]},{"id":"95022c2.dc0f4d","type":"other","name":"AIC_ATM_PROTECTED_V6","xml":"<outcome value='AIC_ATM_PROTECTED_V6'>","comments":"","outputs":1,"x":2483.6886596679688,"y":1572.5558385849,"z":"1a8b5305.c085cd","wires":[["140e9a55.7c9096"]]},{"id":"140e9a55.7c9096","type":"block","name":"block","xml":"<block>\n","atomic":"false","comments":"","outputs":1,"x":2751.239028930664,"y":1542.2012939453125,"z":"1a8b5305.c085cd","wires":[[]]},{"id":"e1a0deaa.2971a","type":"other","name":"AIC_AIM_LANDING_NETWORK_V6","xml":"<outcome value='AIC_AIM_LANDING_NETWORK_V6'>","comments":"","outputs":1,"x":2508.2391510009766,"y":1607.0901184082031,"z":"1a8b5305.c085cd","wires":[["140e9a55.7c9096"]]},{"id":"24428acd.934a56","type":"other","name":"other","xml":"<outcome value='Other'>\n","comments":"","outputs":1,"x":2414.243480682373,"y":1644.6681156158447,"z":"1a8b5305.c085cd","wires":[["7c564997.04f088"]]},{"id":"7c564997.04f088","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=\"EIPAM V6 Address plan should be null\" />\n","comments":"","x":2585.131175994873,"y":1643.5013790130615,"z":"1a8b5305.c085cd","wires":[]}] diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-assign.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-assign.xml index 2fd8e9f4..66e402e6 100755 --- a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-assign.xml +++ b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_network-topology-operation-assign.xml @@ -1,779 +1,779 @@ -<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='network-topology-operation-assign' mode='sync'>
-<block atomic="true"><switch test='`$network-model.is-bound-to-vpn`'>
-<outcome value='Y'>
-<block atomic="true">
-<get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from VPN_BINDINGS WHERE network_customization_uuid = $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid'
- pfx='vpn-bindings[]'>
-
-<outcome value='success'>
-<block atomic="true"><set>
-<parameter name='hasVpnBindings' value='true' />
-</set><for index='vidx' start='0' end='`$vpn-bindings_length`' >
-<block atomic="true"><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="vpn-binding"
- key="vpn-binding.vpn-id = $vpn-bindings[$vidx].binding-uuid"
- pfx='aai.vpnBinding' local-only='false' >
-
-<outcome value='success'>
-<block>
-</block></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="`'No vpn binding found for network-model.vpn-binding='
- + $vpn-bindings[$vidx].binding-uuid`" />
-
-</return></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 vpn binding found for network-model.vpn-binding='
- + $vpn-bindings[$vidx].binding-uuid`" />
-
-</return></outcome></get-resource></block></for></block></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="Network model is_bound_to_vpn=true but no vpn_binding is present" />
-
-</return></outcome><outcome value='Other'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Unexpected error retrieving vpn binding" />
-
-</return></outcome></get-resource></block></outcome></switch><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="tenant"
- key="cloud-region.cloud-owner = 'att-aic' AND
- cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND
- tenant.tenant-id = $network-topology-operation-input.network-request-input.tenant"
- pfx='aai.tenant' local-only='false' >
-
-<outcome value='success'>
-<block atomic="true"></block></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="Tenant not found in AAI" />
-
-</return></outcome><outcome value='Other'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Tenant not found in AAI" />
-
-</return></outcome></get-resource><switch test='`$network-topology-operation-input.network-request-input.network-name`'>
-<outcome value=''>
-<block atomic="true"><switch test='`$network-model.ecomp-generated-naming`'>
-<outcome value='Y'>
-<block atomic="true">
-<switch test='`$network-model.naming-policy`'>
-<outcome value='org.openecomp.policy.naming.ViprProtectedOam.ViprOamProtectedNetwork'>
-<block atomic="true"><set>
-<parameter name='tmp.network-name-prefix' value='$TenantName_int_$role_net' />
-</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.network-name-prefix`"/>
- <parameter name="outputPath" value="tmp.network-name-prefix"/>
- <parameter name="target" value="$TenantName"/>
- <parameter name="replacement" value="`$aai.tenant.tenant-name`"/>
-
-</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.network-name-prefix`"/>
- <parameter name="outputPath" value="tmp.network-name-prefix"/>
- <parameter name="target" value="$role"/>
- <parameter name="replacement" value="`$network-model.network-role`"/>
-
-</execute><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix
- = $tmp.network-name-prefix'
- pfx='db.network-name-prefix'>
-
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading the NETWORK_INSTANCE_NAME_INDEX table" />
-</return></outcome></get-resource><switch test='`$db.network-name-prefix.index-number`'>
-<outcome value='Other'>
-<block atomic="true"><set>
-<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' />
-</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key="update NETWORK_INSTANCE_NAME_INDEX
- set index_number = $tmp.index-number
- where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix "
- force='false' pfx='pfx'>
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failed to update SERVICE_INSTANCE_NAME_INDEX table" />
-</return></outcome></save></block></outcome><outcome value=''><block atomic="true"><set>
-<parameter name='tmp.index-number' value='1' />
-</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key="insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)"
- force='false' pfx='pfx'>
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table" />
-</return></outcome></save></block></outcome></switch><set>
-<parameter name='tmp.network-instance-name' value="`$tmp.network-name-prefix + '_' + $tmp.index-number`" />
-</set></block></outcome><outcome value='oam_vipr_protected_network'>
-<block atomic="true"><set>
-<parameter name='tmp.network-name-prefix' value='$TenantName_int_$role_net' />
-</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.network-name-prefix`"/>
- <parameter name="outputPath" value="tmp.network-name-prefix"/>
- <parameter name="target" value="$TenantName"/>
- <parameter name="replacement" value="`$aai.tenant.tenant-name`"/>
-
-</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.network-name-prefix`"/>
- <parameter name="outputPath" value="tmp.network-name-prefix"/>
- <parameter name="target" value="$role"/>
- <parameter name="replacement" value="`$network-model.network-role`"/>
-
-</execute><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix
- = $tmp.network-name-prefix'
- pfx='db.network-name-prefix'>
-
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading the NETWORK_INSTANCE_NAME_INDEX table" />
-</return></outcome></get-resource><switch test='`$db.network-name-prefix.index-number`'>
-<outcome value='Other'>
-<block atomic="true"><set>
-<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' />
-</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key="update NETWORK_INSTANCE_NAME_INDEX
- set index_number = $tmp.index-number
- where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix "
- force='false' pfx='pfx'>
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failed to update SERVICE_INSTANCE_NAME_INDEX table" />
-</return></outcome></save></block></outcome><outcome value=''><block atomic="true"><set>
-<parameter name='tmp.index-number' value='1' />
-</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key="insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)"
- force='false' pfx='pfx'>
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table" />
-</return></outcome></save></block></outcome></switch><set>
-<parameter name='tmp.network-instance-name' value="`$tmp.network-name-prefix + '_' + $tmp.index-number`" />
-</set></block></outcome><outcome value='network_without_route_tags_naming_default'>
-<block atomic="true"><set>
-<parameter name='tmp.network-name-prefix' value='$TenantName_int_$role_net' />
-</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.network-name-prefix`"/>
- <parameter name="outputPath" value="tmp.network-name-prefix"/>
- <parameter name="target" value="$TenantName"/>
- <parameter name="replacement" value="`$aai.tenant.tenant-name`"/>
-
-</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.network-name-prefix`"/>
- <parameter name="outputPath" value="tmp.network-name-prefix"/>
- <parameter name="target" value="$role"/>
- <parameter name="replacement" value="`$network-model.network-role`"/>
-
-</execute><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix
- = $tmp.network-name-prefix'
- pfx='db.network-name-prefix'>
-
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading the NETWORK_INSTANCE_NAME_INDEX table" />
-</return></outcome></get-resource><switch test='`$db.network-name-prefix.index-number`'>
-<outcome value='Other'>
-<block atomic="true"><set>
-<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' />
-</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key="update NETWORK_INSTANCE_NAME_INDEX
- set index_number = $tmp.index-number
- where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix "
- force='false' pfx='pfx'>
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failed to update SERVICE_INSTANCE_NAME_INDEX table" />
-</return></outcome></save></block></outcome><outcome value=''><block atomic="true"><set>
-<parameter name='tmp.index-number' value='1' />
-</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key="insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)"
- force='false' pfx='pfx'>
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table" />
-</return></outcome></save></block></outcome></switch><set>
-<parameter name='tmp.network-instance-name' value="`$tmp.network-name-prefix + '_' + $tmp.index-number`" />
-</set></block></outcome><outcome value='org.openecomp.policy.naming.SriovProvider.SriovProviderNetwork'>
-<block atomic="true"><set>
-<parameter name='tmp.network-name-prefix' value='$TenantName_$role_net' />
-</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.network-name-prefix`"/>
- <parameter name="outputPath" value="tmp.network-name-prefix"/>
- <parameter name="target" value="$TenantName"/>
- <parameter name="replacement" value="`$aai.tenant.tenant-name`"/>
-
-</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.network-name-prefix`"/>
- <parameter name="outputPath" value="tmp.network-name-prefix"/>
- <parameter name="target" value="$role"/>
- <parameter name="replacement" value="`$network-model.network-role`"/>
-
-</execute><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix
- = $tmp.network-name-prefix'
- pfx='db.network-name-prefix'>
-
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading the NETWORK_INSTANCE_NAME_INDEX table" />
-</return></outcome></get-resource><switch test='`$db.network-name-prefix.index-number`'>
-<outcome value='Other'>
-<block atomic="true"><set>
-<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' />
-</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key="update NETWORK_INSTANCE_NAME_INDEX
- set index_number = $tmp.index-number
- where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix "
- force='false' pfx='pfx'>
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failed to update SERVICE_INSTANCE_NAME_INDEX table" />
-</return></outcome></save></block></outcome><outcome value=''><block atomic="true"><set>
-<parameter name='tmp.index-number' value='1' />
-</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key="insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)"
- force='false' pfx='pfx'>
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table" />
-</return></outcome></save></block></outcome></switch><set>
-<parameter name='tmp.network-instance-name' value="`$tmp.network-name-prefix + '_' + $tmp.index-number`" />
-</set></block></outcome><outcome value='sriov_provider_network'>
-<block atomic="true"><set>
-<parameter name='tmp.network-name-prefix' value='$TenantName_$role_net' />
-</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.network-name-prefix`"/>
- <parameter name="outputPath" value="tmp.network-name-prefix"/>
- <parameter name="target" value="$TenantName"/>
- <parameter name="replacement" value="`$aai.tenant.tenant-name`"/>
-
-</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
- <parameter name="source" value="`$tmp.network-name-prefix`"/>
- <parameter name="outputPath" value="tmp.network-name-prefix"/>
- <parameter name="target" value="$role"/>
- <parameter name="replacement" value="`$network-model.network-role`"/>
-
-</execute><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix
- = $tmp.network-name-prefix'
- pfx='db.network-name-prefix'>
-
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Error reading the NETWORK_INSTANCE_NAME_INDEX table" />
-</return></outcome></get-resource><switch test='`$db.network-name-prefix.index-number`'>
-<outcome value='Other'>
-<block atomic="true"><set>
-<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' />
-</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key="update NETWORK_INSTANCE_NAME_INDEX
- set index_number = $tmp.index-number
- where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix "
- force='false' pfx='pfx'>
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failed to update SERVICE_INSTANCE_NAME_INDEX table" />
-</return></outcome></save></block></outcome><outcome value=''><block atomic="true"><set>
-<parameter name='tmp.index-number' value='1' />
-</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL'
- key="insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)"
- force='false' pfx='pfx'>
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table" />
-</return></outcome></save></block></outcome></switch><set>
-<parameter name='tmp.network-instance-name' value="`$tmp.network-name-prefix + '_' + $tmp.index-number`" />
-</set></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="`'Unknown naming policy = '
- + $network-model.naming-policy`" />
-
-</return></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="Network name is required if ecomp naming is false" />
-
-</return></outcome></switch></block></outcome><outcome value='Other'>
-<block atomic="true"><set>
-<parameter name='tmp.network-instance-name' value="`$network-topology-operation-input.network-request-input.network-name`" />
-</set></block></outcome></switch><call module='GENERIC-RESOURCE-API' rpc='generate-l3network-network-id' mode='sync' >
-</call><set>
-<parameter name='tmp.l3-network.network-id' value="`$tmp.return.generate-l3network-network-id.uuid`" />
-<parameter name='tmp.l3-network.network-name' value="`$tmp.network-instance-name`" />
-<parameter name='tmp.l3-network.network-type' value="`$network-model.network-type`" />
-<parameter name='tmp.l3-network.network-role' value="`$network-model.network-role`" />
-<parameter name='tmp.l3-network.network-technology' value="`$network-model.network-technology`" />
-<parameter name='tmp.l3-network.is-bound-to-vpn' value="`$network-model.is-bound-to-vpn`" />
-<parameter name='tmp.l3-network.orchestration-status' value="PendingCreate" />
-<parameter name='tmp.l3-network.model-invariant-id' value="`$network-topology-operation-input.network-information.ecomp-model-information.model-invariant-uuid`" />
-<parameter name='tmp.l3-network.model-version-id' value="`$network-topology-operation-input.network-information.ecomp-model-information.model-version`" />
-<parameter name='tmp.l3-network.model-customization-id' value="`$network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid`" />
-<parameter name='tmp.l3-network.is-provider-network' value="`$network-model.is-provider-network`" />
-<parameter name='tmp.l3-network.is-shared-network' value="`$network-model.is-shared-network`" />
-<parameter name='tmp.l3-network.is-external-network' value="`$network-model.is-external-network`" />
-<parameter name='tmp.l3-network.eipam-v6-address-plan' value="`$network-model.eipam-v6-address-plan`" />
-<parameter name='tmp.l3-network.eipam-v4-address-plan' value="`$network-model.eipam-v4-address-plan`" />
-<parameter name='tmp.l3-network.service-id' value="`$service-data.service-information.service-id`" />
-<parameter name='tmp.l3-network.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
- + $network-topology-operation-input.service-information.service-instance-id
- + '/service-data/networks/network/'
- + $tmp.l3-network.network-id
- + '/network-data/network-topology/'` " />
-</set><switch test='`$network-model.is-provider-network`'>
-<outcome value='Y'>
-<set>
-<parameter name='tmp.l3-network.physical-network-name' value="`$network-model.physical-network-name`" />
-<parameter name='tmp.l3-network.is-provider-network-boolean' value='true' /></set></outcome><outcome value='Other'>
-<set>
-<parameter name='tmp.l3-network.physical-network-name' value="" />
-<parameter name='tmp.l3-network.is-provider-network-boolean' value='false' /></set></outcome></switch><switch test='`$network-model.is-shared-network`'>
-<outcome value='Y'>
-<set>
-<parameter name='tmp.l3-network.is-shared-network-boolean' value='true' /></set></outcome><outcome value='Other'>
-<set>
-<parameter name='tmp.l3-network.is-shared-network-boolean' value='false' /></set></outcome></switch><switch test='`$network-model.is-external-network`'>
-<outcome value='Y'>
-<set>
-<parameter name='tmp.l3-network.is-external-network-boolean' value='true' /></set></outcome><outcome value='Other'>
-<set>
-<parameter name='tmp.l3-network.is-external-network-boolean' value='false' /></set></outcome></switch><set>
-<parameter name='tmp.complex-found' value='false' />
-
-</set><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="cloud-region"
- key="cloud-region.cloud-owner = 'att-aic' AND
- cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND
- depth = '0'"
- pfx='aai.cloud-region' local-only='false' >
-
-<outcome value='not-found'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Cloud region not found in AAI" />
-</return></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 retrieving cloud region from AAI" />
-</return></outcome></get-resource><switch test='`$aai.cloud-region.relationship-list.relationship_length`'>
-<outcome value='0'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Cloud region missing relationships in AAI" />
-</return></outcome><outcome value=''>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Cloud region missing relationships in AAI" />
-</return></outcome></switch><for silentFailure='false' index='ridx' start='0' end="`$aai.cloud-region.relationship-list.relationship_length`" >
-<for silentFailure='false' index='rdidx' start='0' end="`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data_length`" >
-<switch test='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'>
-<outcome value='complex.physical-location-id'>
-<block atomic="true"><set>
-<parameter name='tmp.complex-found' value='true' />
-
-</set><set>
-<parameter name='service-data.network-request-input.aic-clli' value='`$aai.complex.physical-location-id`' />
-
-</set><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="complex"
- key="complex.physical-location-id = $aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value"
- pfx='aai.complex' local-only='false' >
-
-
-
-<outcome value='success'>
-<block atomic="true"><switch test='`$aai.complex.region`'>
-<outcome value='USA'>
-<block>
-</block></outcome><outcome value='US'>
-<block>
-</block></outcome><outcome value='CALA'>
-<block>
-</block></outcome><outcome value='EMEA'>
-<block>
-</block></outcome><outcome value='AP'>
-<block>
-</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="Complex.region unknown" />
-</return></outcome></switch></block></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="Complex not found in AAI" />
-</return></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 retrieving complex from AAI" />
-</return></outcome></get-resource></block></outcome></switch></for></for><switch test='`$tmp.complex-found`'>
-<outcome value='false'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="Complex not found in AAI" />
-</return></outcome></switch><switch test='`$network-model.network-technology`'>
-<outcome value='Contrail'>
-<block atomic="true"><switch test="`$network-model.use-ipv4`"><outcome value='Y'><block atomic='true'><switch test='`$network-model.eipam-v4-address-plan`'>
-<outcome value='AIC_ATM_UNPROTECTED_V4'><block>
-</block></outcome><outcome value='AIC_ATM_PROTECTED_V4'><block>
-</block></outcome><outcome value='AIC_AIM_LANDING_NETWORK_V4'><block>
-</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="Invalid address plan for VIPR" />
-</return></outcome></switch></block></outcome></switch><switch test="`$network-model.use-ipv6`"><outcome value='Y'><block atomic='true'><switch test='`$network-model.eipam-v6-address-plan`'>
-<outcome value='AIC_ATM_UNPROTECTED_V6'><block>
-</block></outcome><outcome value='AIC_ATM_PROTECTED_V6'><block>
-</block></outcome><outcome value='AIC_AIM_LANDING_NETWORK_V6'><block>
-</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="EIPAM V6 Address plan should be null" />
-</return></outcome></switch></block></outcome></switch></block></outcome><outcome value='AIC_SR_IOV'>
-<block atomic="true"><switch test="`$network-model.use-ipv4`"><outcome value='Y'><block atomic='true'><switch test='`$network-model.eipam-v4-address-plan`'>
-<outcome value='AIC_DATA_PLANE_UNPROTECTED_V4'><block>
-</block></outcome><outcome value='AIC_DATA_PLANE_PROTECTED_V4'><block>
-</block></outcome><outcome value='AIC_DATA_PLANE_PRIVATE_V4'><block>
-</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="Invalid address plan for SRIOV" />
-</return></outcome></switch></block></outcome></switch><switch test="`$network-model.use-ipv6`"><outcome value='Y'><block atomic='true'><switch test='`$network-model.eipam-v6-address-plan`'>
-<outcome value="AIC_ATM_UNPROTECTED_V6"><block>
-</block></outcome><outcome value="AIC_ATM_PROTECTED_V6"><block>
-</block></outcome><outcome value="AIC_DATA_PLANE_UNPROTECTED_V6"><block>
-</block></outcome><outcome value="AIC_DATA_PLANE_PRIVATE_V6"><block>
-</block></outcome><outcome value="AIC_DATA_PLANE_PROTECTED_V6"><block>
-</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="Invalid ipv6 address plan for SRIOV" />
-</return></outcome></switch></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="Invalid network-technology. Only AIC_SR_IOV and Contrail are supported" />
-</return></outcome></switch><set>
-<parameter name='tmp.process-eipam-action' value='assign' />
-</set><!--tmp.level should be set to 1--><call module='GENERIC-RESOURCE-API' rpc='process-eipam-pools' mode='sync' >
-</call><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">
-<parameter name="logger" value="message-log"/>
-<parameter name="field1" value="__TIMESTAMP__"/>
-<parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/>
-<parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/>
-<parameter name="field4" value="Values after process-eipam"/>
-<parameter name="field5" value="`level1-v4-mask`"/>
-<parameter name="field6" value="`$tmp.l3-network.level1.v4.mask`"/>
-<parameter name="field7" value="`level1-v4-ipprefix`"/>
-<parameter name="field8" value="`$tmp.l3-network.level1.v4.ip-prefix`"/>
-<parameter name="field9" value="`level1-v4-entity-id`"/>
-<parameter name="field10" value="`$tmp.l3-network.level1.v4.entity-id`"/>
-<parameter name="field11" value="`level2-v4-mask`"/>
-<parameter name="field12" value="`$tmp.l3-network.level2.v4.mask`"/>
-<parameter name="field13" value="`level2-v4-ipprefix`"/>
-<parameter name="field14" value="`$tmp.l3-network.level2.v4.ip-prefix`"/>
-<parameter name="field15" value="`level2-v4-entity-id`"/>
-<parameter name="field16" value="`$tmp.l3-network.level2.v4.entity-id`"/>
-
-
-</record><!--tmp.level should be set to 1--><call module='GENERIC-RESOURCE-API' rpc='create-l3-subnet' mode='sync' >
-</call><set>
-<parameter name='tmp.network-topology.network-topology-identifier-structure.network-id' value="`$tmp.l3-network.network-name`" />
-<parameter name='tmp.network-topology.network-topology-identifier-structure.network-name' value="`$tmp.l3-network.network-name`" />
-<parameter name='tmp.network-topology.network-topology-identifier-structure.network-type' value="`$tmp.l3-network.network-type`" />
-<parameter name='tmp.network-topology.network-topology-identifier-structure.network-role' value="`$tmp.l3-network.network-role`" />
-<parameter name='tmp.network-topology.network-topology-identifier-structure.network-technology' value="`$tmp.l3-network.network-technology`" />
-<parameter name='tmp.network-topology.network-topology-identifier-structure.eipam-v4-address-plan' value="`$network-model.eipam-v4-address-plan`" />
-<parameter name='tmp.network-topology.network-topology-identifier-structure.eipam-v6-address-plan' value="`$network-model.eipam-v6-address-plan`" />
-<parameter name='tmp.network-topology.region-identifier.tenant' value="`$network-topology-operation-input.network-request-input.tenant`" />
-<parameter name='tmp.network-topology.region-identifier.aic-cloud-region' value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" />
-<parameter name='tmp.network-topology.region-identifier.aic-clli' value="`$network-topology-operation-input.network-request-input.aic-clli`" />
-<parameter name='tmp.network-topology.ecomp-model-information.' value="`$network-topology-operation-input.network-information.ecomp-model-information.`" />
-<parameter name='tmp.network-topology.network-parameters.' value="`$network-topology-operation-input.network-request-input.network-input-parameters.`" />
-</set><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id" >
-<!-- Create l3-network object -->
-<parameter name="network-id" value="`$tmp.l3-network.network-id`" />
-<parameter name="network-name" value="`$tmp.l3-network.network-name`" />
-<parameter name="network-type" value="`$tmp.l3-network.network-type`" />
-<parameter name="network-role" value="`$tmp.l3-network.network-role`" />
-<parameter name="network-technology" value="`$tmp.l3-network.network-technology`" />
-<parameter name="is-bound-to-vpn" value="`$tmp.l3-network.is-bound-to-vpn`" />
-<parameter name="service-id" value="`$tmp.l3-network.service-id`" />
-<parameter name="tenant-id" value="`$network-topology-operation-input.network-request-information.tenant`" />
-<parameter name="orchestration-status" value="PendingCreate" />
-<parameter name="persona-model-id" value="`$tmp.l3-network.persona-model-id`" />
-<parameter name="persona-model-version" value="`$tmp.l3-network.persona-model-version`" />
-<parameter name="persona-model-customization-id" value="`$tmp.l3-network.persona-model-customization-id`" />
-<parameter name="physical-network-name" value="`$tmp.l3-network.physical-network-name`" />
-<parameter name="is-provider-network" value="`$tmp.l3-network.is-provider-network-boolean`" />
-<parameter name="is-shared-network" value="`$tmp.l3-network.is-shared-network-boolean`" />
-<parameter name="is-external-network" value="`$tmp.l3-network.is-external-network-boolean`" />
-<parameter name="selflink" value="`$tmp.l3-network.self-link`" />
-<outcome value='failure'>
-<return status='failure'>
- <parameter name='ack-final' value='Y'/>
- <parameter name="error-code" value="500" />
- <parameter name="error-message" value="`'Failed to save l3-network in AAI for network-id = ' + $tmp.l3-network.network-id`" />
-</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="`'Failed to save l3-network in AAI for network-id = ' + $tmp.l3-network.network-id`" />
-</return></outcome></save><for index='sidx' start='0' end='`$tmp.l3-network.subnet_length`' >
-<block atomic="true"><set>
-<parameter name="tmp.subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`"/>
- </set><switch test='`$tmp.l3-network.subnet[$sidx].dhcp-enabled`'>
-<outcome value='true'>
-<block atomic="true"><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="subnet"
- key="l3-network.network-id = $tmp.l3-network.network-id
- AND subnet.subnet-id = $tmp.subnet-id" >
-<!-- Create l3-network object -->
-<parameter name="network-id" value="`$tmp.l3-network.network-id`" />
-<parameter name="subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`" />
-<parameter name="subnet-name" value="`$tmp.l3-network.subnet[$sidx].subnet-name`" />
-<parameter name="gateway-address" value="`$tmp.l3-network.subnet[$sidx].gateway-address`" />
-<parameter name="network-start-address" value="`$tmp.l3-network.subnet[$sidx].network-start-address`" />
-<parameter name="cidr-mask" value="`$tmp.l3-network.subnet[$sidx].cidr-mask`" />
-<parameter name="ip-version" value="`$tmp.l3-network.subnet[$sidx].ip-version`" />
-<parameter name="dhcp-start" value="`$tmp.l3-network.subnet[$sidx].dhcp-start`" />
-<parameter name="dhcp-end" value="`$tmp.l3-network.subnet[$sidx].dhcp-end`" />
-<parameter name="dhcp-enabled" value="`$tmp.l3-network.subnet[$sidx].dhcp-enabled`" />
-<parameter name="orchestration-status" value="PendingCreate" /><outcome value='failure'>
-<block atomic='true'><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
-<block atomic='true'><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save></block></outcome><outcome value='false'>
-<block atomic="true"><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="subnet"
- key="l3-network.network-id = $tmp.l3-network.network-id
- AND subnet.subnet-id = $tmp.subnet-id" >
-<!-- Create l3-network object -->
-<parameter name="network-id" value="`$tmp.l3-network.network-id`" />
-<parameter name="subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`" />
-<parameter name="subnet-name" value="`$tmp.l3-network.subnet[$sidx].subnet-name`" />
-<parameter name="gateway-address" value="`$tmp.l3-network.subnet[$sidx].gateway-address`" />
-<parameter name="network-start-address" value="`$tmp.l3-network.subnet[$sidx].network-start-address`" />
-<parameter name="cidr-mask" value="`$tmp.l3-network.subnet[$sidx].cidr-mask`" />
-<parameter name="ip-version" value="`$tmp.l3-network.subnet[$sidx].ip-version`" />
-<parameter name="dhcp-enabled" value="`$tmp.l3-network.subnet[$sidx].dhcp-enabled`" />
-<parameter name="orchestration-status" value="PendingCreate" /><outcome value='failure'>
-<block atomic='true'><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
-<block atomic='true'><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save></block></outcome></switch></block></for><switch test='`$hasVpnBindings`'>
-<outcome value='true'>
-<block atomic="true"><for index='vidx' start='0' end='`$vpn-bindings_length`' >
-<block atomic='true'><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network:relationship-list"
- key="l3-network.network-id = $tmp.l3-network.network-id" >
-<parameter name="relationship-list.relationship[0].related-to" value="vpn-binding" />
-<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="vpn-binding.vpn-id" />
-<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$vpn-bindings[$vidx].binding-uuid`" /><outcome value='failure'>
-<block><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving vpn binding relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
-<block><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving vpn binding relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save></block></for></block></outcome></switch><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network:relationship-list"
- key="l3-network.network-id = $tmp.l3-network.network-id" >
-<parameter name="relationship-list.relationship[0].related-to" value="service-instance" />
-<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="customer.global-customer-id" />
-<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.service-information.global-customer-id`" />
-<parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="service-subscription.service-type" />
-<parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$service-data.service-information.subscription-service-type`" />
-<parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="service-instance.service-instance-id" />
-<parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$service-data.service-information.service-instance-id`" /><outcome value='failure'>
-<block><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving service instance relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
-<block><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving service instance relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network:relationship-list"
- key="l3-network.network-id = $tmp.l3-network.network-id"
- force="true"
- local-only="false">
- <!-- create relationship-list -->
- <parameter name="relationship-list.relationship[0].related-to" value="tenant" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
- <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="att-aic" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="tenant.tenant-id" />
- <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$network-topology-operation-input.network-request-input.tenant`" />
- <parameter name="relationship-list.relationship[1].related-to" value="cloud-region" />
- <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" />
- <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="att-aic" />
- <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" />
- <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" />
-
- <outcome value='failure'>
-<block atomic='true'><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and cloud-region relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
-<block atomic='true'><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and cloud-region relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save><switch test='`$network-model.network-technology`'>
-<outcome value='AIC_SR_IOV'>
-<block atomic="true"><set>
- <parameter name="tmp.l3-network.segmentation-id" value="1"/></set><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="segmentation-assignment"
- key="l3-network.network-id = $tmp.l3-network.network-id
- AND segmentation-assignment.segmentation-id = $tmp.l3-network.segmentation-id" >
-<!-- Create segmentation-assignment object -->
-<parameter name="network-id" value="`$tmp.l3-network.network-id`" />
-<parameter name="segmentation-id" value="`$tmp.l3-network.segmentation-id`" />
-<outcome value='failure'>
-<block atomic='true'><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving segmentation-assignment for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'>
-<block atomic='true'><set>
- <parameter name="error-code" value="500"/>
- <parameter name="tmp.error-message" value="`'An error occurred while saving segmentation-assignment for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"
- resource="l3-network"
- key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'>
- <parameter name='error-code' value='500'/>
- <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save></block></outcome></switch><set>
-<parameter name='network-topology.network-topology-identifier-structure.' value='`$tmp.l3-network.`' />
-<parameter name='network-topology.tenant' value='`$network-topology-operation-input.network-request-input.tenant`' />
-<parameter name='network-topology.ecomp-model-information.' value='`$network-topology-operation-input.network-information.ecomp-model-information.`' />
-<parameter name='network-topology.network-parameters.' value='`$network-topology-operation-input.network-request-input.network-parameters.`' />
-<parameter name='network-topology.aic-cloud-region' value='`$network-topology-operation-input.network-request-input.aic-cloud-region`' /></set><switch test='`$service-data.networks.network_length`'>
-<outcome value=''>
-<set>
-<parameter name='nidx' value='0' />
-</set></outcome><outcome value='Other'>
-<set>
-<parameter name='nidx' value='`$service-data.networks.network_length`' />
-</set></outcome></switch><set>
-<parameter name="service-data.networks.network[$nidx].network-id" value='`$tmp.l3-network.network-id`' />
-<parameter name="service-data.networks.network[$nidx].network-data.network-topology." value='$network-topology.' />
-<parameter name="service-data.networks.network_length" value='`$nidx+1`' />
-
-</set><set>
-<parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />
-<parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />
-<parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />
-<parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />
-<parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />
-</set><set>
-<parameter name='networkId' value='`$tmp.l3-network.network-id`' />
-</set><set>
-<parameter name='network-object-path'
- value="`$tmp.l3-network.self-link`"/>
-
-</set><set>
-<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='PendingCreate' />
-<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' />
-<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' />
-</set><return status='success'>
-<parameter name="ack-final-indicator" value="Y" />
-<parameter name="error-code" value="200" />
-<parameter name="error-message" value="`$error-message`" />
+<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='network-topology-operation-assign' mode='sync'> +<block atomic="true"><switch test='`$network-model.is-bound-to-vpn`'> +<outcome value='Y'> +<block atomic="true"> +<get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key='SELECT * from VPN_BINDINGS WHERE network_customization_uuid = $network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid' + pfx='vpn-bindings[]'> + +<outcome value='success'> +<block atomic="true"><set> +<parameter name='hasVpnBindings' value='true' /> +</set><for index='vidx' start='0' end='`$vpn-bindings_length`' > +<block atomic="true"><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="vpn-binding" + key="vpn-binding.vpn-id = $vpn-bindings[$vidx].binding-uuid" + pfx='aai.vpnBinding' local-only='false' > + +<outcome value='success'> +<block> +</block></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="`'No vpn binding found for network-model.vpn-binding=' + + $vpn-bindings[$vidx].binding-uuid`" /> + +</return></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 vpn binding found for network-model.vpn-binding=' + + $vpn-bindings[$vidx].binding-uuid`" /> + +</return></outcome></get-resource></block></for></block></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="Network model is_bound_to_vpn=true but no vpn_binding is present" /> + +</return></outcome><outcome value='Other'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Unexpected error retrieving vpn binding" /> + +</return></outcome></get-resource></block></outcome></switch><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="tenant" + key="cloud-region.cloud-owner = 'att-aic' AND + cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND + tenant.tenant-id = $network-topology-operation-input.network-request-input.tenant" + pfx='aai.tenant' local-only='false' > + +<outcome value='success'> +<block atomic="true"></block></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="Tenant not found in AAI" /> + +</return></outcome><outcome value='Other'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Tenant not found in AAI" /> + +</return></outcome></get-resource><switch test='`$network-topology-operation-input.network-request-input.network-name`'> +<outcome value=''> +<block atomic="true"><switch test='`$network-model.ecomp-generated-naming`'> +<outcome value='Y'> +<block atomic="true"> +<switch test='`$network-model.naming-policy`'> +<outcome value='org.openecomp.policy.naming.ViprProtectedOam.ViprOamProtectedNetwork'> +<block atomic="true"><set> +<parameter name='tmp.network-name-prefix' value='$TenantName_int_$role_net' /> +</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.network-name-prefix`"/> + <parameter name="outputPath" value="tmp.network-name-prefix"/> + <parameter name="target" value="$TenantName"/> + <parameter name="replacement" value="`$aai.tenant.tenant-name`"/> + +</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.network-name-prefix`"/> + <parameter name="outputPath" value="tmp.network-name-prefix"/> + <parameter name="target" value="$role"/> + <parameter name="replacement" value="`$network-model.network-role`"/> + +</execute><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix + = $tmp.network-name-prefix' + pfx='db.network-name-prefix'> + +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error reading the NETWORK_INSTANCE_NAME_INDEX table" /> +</return></outcome></get-resource><switch test='`$db.network-name-prefix.index-number`'> +<outcome value='Other'> +<block atomic="true"><set> +<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' /> +</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key="update NETWORK_INSTANCE_NAME_INDEX + set index_number = $tmp.index-number + where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix " + force='false' pfx='pfx'> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failed to update SERVICE_INSTANCE_NAME_INDEX table" /> +</return></outcome></save></block></outcome><outcome value=''><block atomic="true"><set> +<parameter name='tmp.index-number' value='1' /> +</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key="insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)" + force='false' pfx='pfx'> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table" /> +</return></outcome></save></block></outcome></switch><set> +<parameter name='tmp.network-instance-name' value="`$tmp.network-name-prefix + '_' + $tmp.index-number`" /> +</set></block></outcome><outcome value='oam_vipr_protected_network'> +<block atomic="true"><set> +<parameter name='tmp.network-name-prefix' value='$TenantName_int_$role_net' /> +</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.network-name-prefix`"/> + <parameter name="outputPath" value="tmp.network-name-prefix"/> + <parameter name="target" value="$TenantName"/> + <parameter name="replacement" value="`$aai.tenant.tenant-name`"/> + +</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.network-name-prefix`"/> + <parameter name="outputPath" value="tmp.network-name-prefix"/> + <parameter name="target" value="$role"/> + <parameter name="replacement" value="`$network-model.network-role`"/> + +</execute><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix + = $tmp.network-name-prefix' + pfx='db.network-name-prefix'> + +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error reading the NETWORK_INSTANCE_NAME_INDEX table" /> +</return></outcome></get-resource><switch test='`$db.network-name-prefix.index-number`'> +<outcome value='Other'> +<block atomic="true"><set> +<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' /> +</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key="update NETWORK_INSTANCE_NAME_INDEX + set index_number = $tmp.index-number + where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix " + force='false' pfx='pfx'> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failed to update SERVICE_INSTANCE_NAME_INDEX table" /> +</return></outcome></save></block></outcome><outcome value=''><block atomic="true"><set> +<parameter name='tmp.index-number' value='1' /> +</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key="insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)" + force='false' pfx='pfx'> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table" /> +</return></outcome></save></block></outcome></switch><set> +<parameter name='tmp.network-instance-name' value="`$tmp.network-name-prefix + '_' + $tmp.index-number`" /> +</set></block></outcome><outcome value='network_without_route_tags_naming_default'> +<block atomic="true"><set> +<parameter name='tmp.network-name-prefix' value='$TenantName_int_$role_net' /> +</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.network-name-prefix`"/> + <parameter name="outputPath" value="tmp.network-name-prefix"/> + <parameter name="target" value="$TenantName"/> + <parameter name="replacement" value="`$aai.tenant.tenant-name`"/> + +</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.network-name-prefix`"/> + <parameter name="outputPath" value="tmp.network-name-prefix"/> + <parameter name="target" value="$role"/> + <parameter name="replacement" value="`$network-model.network-role`"/> + +</execute><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix + = $tmp.network-name-prefix' + pfx='db.network-name-prefix'> + +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error reading the NETWORK_INSTANCE_NAME_INDEX table" /> +</return></outcome></get-resource><switch test='`$db.network-name-prefix.index-number`'> +<outcome value='Other'> +<block atomic="true"><set> +<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' /> +</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key="update NETWORK_INSTANCE_NAME_INDEX + set index_number = $tmp.index-number + where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix " + force='false' pfx='pfx'> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failed to update SERVICE_INSTANCE_NAME_INDEX table" /> +</return></outcome></save></block></outcome><outcome value=''><block atomic="true"><set> +<parameter name='tmp.index-number' value='1' /> +</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key="insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)" + force='false' pfx='pfx'> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table" /> +</return></outcome></save></block></outcome></switch><set> +<parameter name='tmp.network-instance-name' value="`$tmp.network-name-prefix + '_' + $tmp.index-number`" /> +</set></block></outcome><outcome value='org.openecomp.policy.naming.SriovProvider.SriovProviderNetwork'> +<block atomic="true"><set> +<parameter name='tmp.network-name-prefix' value='$TenantName_$role_net' /> +</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.network-name-prefix`"/> + <parameter name="outputPath" value="tmp.network-name-prefix"/> + <parameter name="target" value="$TenantName"/> + <parameter name="replacement" value="`$aai.tenant.tenant-name`"/> + +</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.network-name-prefix`"/> + <parameter name="outputPath" value="tmp.network-name-prefix"/> + <parameter name="target" value="$role"/> + <parameter name="replacement" value="`$network-model.network-role`"/> + +</execute><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix + = $tmp.network-name-prefix' + pfx='db.network-name-prefix'> + +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error reading the NETWORK_INSTANCE_NAME_INDEX table" /> +</return></outcome></get-resource><switch test='`$db.network-name-prefix.index-number`'> +<outcome value='Other'> +<block atomic="true"><set> +<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' /> +</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key="update NETWORK_INSTANCE_NAME_INDEX + set index_number = $tmp.index-number + where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix " + force='false' pfx='pfx'> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failed to update SERVICE_INSTANCE_NAME_INDEX table" /> +</return></outcome></save></block></outcome><outcome value=''><block atomic="true"><set> +<parameter name='tmp.index-number' value='1' /> +</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key="insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)" + force='false' pfx='pfx'> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table" /> +</return></outcome></save></block></outcome></switch><set> +<parameter name='tmp.network-instance-name' value="`$tmp.network-name-prefix + '_' + $tmp.index-number`" /> +</set></block></outcome><outcome value='sriov_provider_network'> +<block atomic="true"><set> +<parameter name='tmp.network-name-prefix' value='$TenantName_$role_net' /> +</set><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.network-name-prefix`"/> + <parameter name="outputPath" value="tmp.network-name-prefix"/> + <parameter name="target" value="$TenantName"/> + <parameter name="replacement" value="`$aai.tenant.tenant-name`"/> + +</execute><execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' > + <parameter name="source" value="`$tmp.network-name-prefix`"/> + <parameter name="outputPath" value="tmp.network-name-prefix"/> + <parameter name="target" value="$role"/> + <parameter name="replacement" value="`$network-model.network-role`"/> + +</execute><get-resource plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key='SELECT * from NETWORK_INSTANCE_NAME_INDEX WHERE network_instance_name_prefix + = $tmp.network-name-prefix' + pfx='db.network-name-prefix'> + +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Error reading the NETWORK_INSTANCE_NAME_INDEX table" /> +</return></outcome></get-resource><switch test='`$db.network-name-prefix.index-number`'> +<outcome value='Other'> +<block atomic="true"><set> +<parameter name='tmp.index-number' value='`$db.network-name-prefix.index-number+1`' /> +</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key="update NETWORK_INSTANCE_NAME_INDEX + set index_number = $tmp.index-number + where network_instance_name_prefix = $db.network-name-prefix.network-instance-name-prefix " + force='false' pfx='pfx'> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failed to update SERVICE_INSTANCE_NAME_INDEX table" /> +</return></outcome></save></block></outcome><outcome value=''><block atomic="true"><set> +<parameter name='tmp.index-number' value='1' /> +</set><save plugin='org.onap.ccsdk.sli.adaptors.sli.resource.sql.SqlResource' resource='SQL' + key="insert into NETWORK_INSTANCE_NAME_INDEX values ( $tmp.network-name-prefix , 1)" + force='false' pfx='pfx'> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Failed to insert record into SERVICE_INSTANCE_NAME_INDEX table" /> +</return></outcome></save></block></outcome></switch><set> +<parameter name='tmp.network-instance-name' value="`$tmp.network-name-prefix + '_' + $tmp.index-number`" /> +</set></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="`'Unknown naming policy = ' + + $network-model.naming-policy`" /> + +</return></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="Network name is required if ecomp naming is false" /> + +</return></outcome></switch></block></outcome><outcome value='Other'> +<block atomic="true"><set> +<parameter name='tmp.network-instance-name' value="`$network-topology-operation-input.network-request-input.network-name`" /> +</set></block></outcome></switch><call module='GENERIC-RESOURCE-API' rpc='generate-l3network-network-id' mode='sync' > +</call><set> +<parameter name='tmp.l3-network.network-id' value="`$tmp.return.generate-l3network-network-id.uuid`" /> +<parameter name='tmp.l3-network.network-name' value="`$tmp.network-instance-name`" /> +<parameter name='tmp.l3-network.network-type' value="`$network-model.network-type`" /> +<parameter name='tmp.l3-network.network-role' value="`$network-model.network-role`" /> +<parameter name='tmp.l3-network.network-technology' value="`$network-model.network-technology`" /> +<parameter name='tmp.l3-network.is-bound-to-vpn' value="`$network-model.is-bound-to-vpn`" /> +<parameter name='tmp.l3-network.orchestration-status' value="PendingCreate" /> +<parameter name='tmp.l3-network.model-invariant-id' value="`$network-topology-operation-input.network-information.ecomp-model-information.model-invariant-uuid`" /> +<parameter name='tmp.l3-network.model-version-id' value="`$network-topology-operation-input.network-information.ecomp-model-information.model-version`" /> +<parameter name='tmp.l3-network.model-customization-id' value="`$network-topology-operation-input.network-information.ecomp-model-information.model-customization-uuid`" /> +<parameter name='tmp.l3-network.is-provider-network' value="`$network-model.is-provider-network`" /> +<parameter name='tmp.l3-network.is-shared-network' value="`$network-model.is-shared-network`" /> +<parameter name='tmp.l3-network.is-external-network' value="`$network-model.is-external-network`" /> +<parameter name='tmp.l3-network.eipam-v6-address-plan' value="`$network-model.eipam-v6-address-plan`" /> +<parameter name='tmp.l3-network.eipam-v4-address-plan' value="`$network-model.eipam-v4-address-plan`" /> +<parameter name='tmp.l3-network.service-id' value="`$service-data.service-information.service-id`" /> +<parameter name='tmp.l3-network.self-link' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + + $network-topology-operation-input.service-information.service-instance-id + + '/service-data/networks/network/' + + $tmp.l3-network.network-id + + '/network-data/network-topology/'` " /> +</set><switch test='`$network-model.is-provider-network`'> +<outcome value='Y'> +<set> +<parameter name='tmp.l3-network.physical-network-name' value="`$network-model.physical-network-name`" /> +<parameter name='tmp.l3-network.is-provider-network-boolean' value='true' /></set></outcome><outcome value='Other'> +<set> +<parameter name='tmp.l3-network.physical-network-name' value="" /> +<parameter name='tmp.l3-network.is-provider-network-boolean' value='false' /></set></outcome></switch><switch test='`$network-model.is-shared-network`'> +<outcome value='Y'> +<set> +<parameter name='tmp.l3-network.is-shared-network-boolean' value='true' /></set></outcome><outcome value='Other'> +<set> +<parameter name='tmp.l3-network.is-shared-network-boolean' value='false' /></set></outcome></switch><switch test='`$network-model.is-external-network`'> +<outcome value='Y'> +<set> +<parameter name='tmp.l3-network.is-external-network-boolean' value='true' /></set></outcome><outcome value='Other'> +<set> +<parameter name='tmp.l3-network.is-external-network-boolean' value='false' /></set></outcome></switch><set> +<parameter name='tmp.complex-found' value='false' /> + +</set><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="cloud-region" + key="cloud-region.cloud-owner = 'att-aic' AND + cloud-region.cloud-region-id = $network-topology-operation-input.network-request-input.aic-cloud-region AND + depth = '0'" + pfx='aai.cloud-region' local-only='false' > + +<outcome value='not-found'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Cloud region not found in AAI" /> +</return></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 retrieving cloud region from AAI" /> +</return></outcome></get-resource><switch test='`$aai.cloud-region.relationship-list.relationship_length`'> +<outcome value='0'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Cloud region missing relationships in AAI" /> +</return></outcome><outcome value=''> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Cloud region missing relationships in AAI" /> +</return></outcome></switch><for silentFailure='false' index='ridx' start='0' end="`$aai.cloud-region.relationship-list.relationship_length`" > +<for silentFailure='false' index='rdidx' start='0' end="`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data_length`" > +<switch test='`$aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-key`'> +<outcome value='complex.physical-location-id'> +<block atomic="true"><set> +<parameter name='tmp.complex-found' value='true' /> + +</set><set> +<parameter name='service-data.network-request-input.aic-clli' value='`$aai.complex.physical-location-id`' /> + +</set><get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="complex" + key="complex.physical-location-id = $aai.cloud-region.relationship-list.relationship[$ridx].relationship-data[$rdidx].relationship-value" + pfx='aai.complex' local-only='false' > + + + +<outcome value='success'> +<block atomic="true"><switch test='`$aai.complex.region`'> +<outcome value='USA'> +<block> +</block></outcome><outcome value='US'> +<block> +</block></outcome><outcome value='CALA'> +<block> +</block></outcome><outcome value='EMEA'> +<block> +</block></outcome><outcome value='AP'> +<block> +</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="Complex.region unknown" /> +</return></outcome></switch></block></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="Complex not found in AAI" /> +</return></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 retrieving complex from AAI" /> +</return></outcome></get-resource></block></outcome></switch></for></for><switch test='`$tmp.complex-found`'> +<outcome value='false'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="Complex not found in AAI" /> +</return></outcome></switch><switch test='`$network-model.network-technology`'> +<outcome value='Contrail'> +<block atomic="true"><switch test="`$network-model.use-ipv4`"><outcome value='Y'><block atomic='true'><switch test='`$network-model.eipam-v4-address-plan`'> +<outcome value='AIC_ATM_UNPROTECTED_V4'><block> +</block></outcome><outcome value='AIC_ATM_PROTECTED_V4'><block> +</block></outcome><outcome value='AIC_AIM_LANDING_NETWORK_V4'><block> +</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="Invalid address plan for VIPR" /> +</return></outcome></switch></block></outcome></switch><switch test="`$network-model.use-ipv6`"><outcome value='Y'><block atomic='true'><switch test='`$network-model.eipam-v6-address-plan`'> +<outcome value='AIC_ATM_UNPROTECTED_V6'><block> +</block></outcome><outcome value='AIC_ATM_PROTECTED_V6'><block> +</block></outcome><outcome value='AIC_AIM_LANDING_NETWORK_V6'><block> +</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="EIPAM V6 Address plan should be null" /> +</return></outcome></switch></block></outcome></switch></block></outcome><outcome value='AIC_SR_IOV'> +<block atomic="true"><switch test="`$network-model.use-ipv4`"><outcome value='Y'><block atomic='true'><switch test='`$network-model.eipam-v4-address-plan`'> +<outcome value='AIC_DATA_PLANE_UNPROTECTED_V4'><block> +</block></outcome><outcome value='AIC_DATA_PLANE_PROTECTED_V4'><block> +</block></outcome><outcome value='AIC_DATA_PLANE_PRIVATE_V4'><block> +</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="Invalid address plan for SRIOV" /> +</return></outcome></switch></block></outcome></switch><switch test="`$network-model.use-ipv6`"><outcome value='Y'><block atomic='true'><switch test='`$network-model.eipam-v6-address-plan`'> +<outcome value="AIC_ATM_UNPROTECTED_V6"><block> +</block></outcome><outcome value="AIC_ATM_PROTECTED_V6"><block> +</block></outcome><outcome value="AIC_DATA_PLANE_UNPROTECTED_V6"><block> +</block></outcome><outcome value="AIC_DATA_PLANE_PRIVATE_V6"><block> +</block></outcome><outcome value="AIC_DATA_PLANE_PROTECTED_V6"><block> +</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="Invalid ipv6 address plan for SRIOV" /> +</return></outcome></switch></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="Invalid network-technology. Only AIC_SR_IOV and Contrail are supported" /> +</return></outcome></switch><set> +<parameter name='tmp.process-eipam-action' value='assign' /> +</set><!--tmp.level should be set to 1--><call module='GENERIC-RESOURCE-API' rpc='process-eipam-pools' mode='sync' > +</call><record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder"> +<parameter name="logger" value="message-log"/> +<parameter name="field1" value="__TIMESTAMP__"/> +<parameter name="field2" value="GENERIC-RESOURCE-API.process-eipam-pools:REQID"/> +<parameter name="field3" value="`$network-topology-operation-input.sdnc-request-header.svc-request-id`"/> +<parameter name="field4" value="Values after process-eipam"/> +<parameter name="field5" value="`level1-v4-mask`"/> +<parameter name="field6" value="`$tmp.l3-network.level1.v4.mask`"/> +<parameter name="field7" value="`level1-v4-ipprefix`"/> +<parameter name="field8" value="`$tmp.l3-network.level1.v4.ip-prefix`"/> +<parameter name="field9" value="`level1-v4-entity-id`"/> +<parameter name="field10" value="`$tmp.l3-network.level1.v4.entity-id`"/> +<parameter name="field11" value="`level2-v4-mask`"/> +<parameter name="field12" value="`$tmp.l3-network.level2.v4.mask`"/> +<parameter name="field13" value="`level2-v4-ipprefix`"/> +<parameter name="field14" value="`$tmp.l3-network.level2.v4.ip-prefix`"/> +<parameter name="field15" value="`level2-v4-entity-id`"/> +<parameter name="field16" value="`$tmp.l3-network.level2.v4.entity-id`"/> + + +</record><!--tmp.level should be set to 1--><call module='GENERIC-RESOURCE-API' rpc='create-l3-subnet' mode='sync' > +</call><set> +<parameter name='tmp.network-topology.network-topology-identifier-structure.network-id' value="`$tmp.l3-network.network-name`" /> +<parameter name='tmp.network-topology.network-topology-identifier-structure.network-name' value="`$tmp.l3-network.network-name`" /> +<parameter name='tmp.network-topology.network-topology-identifier-structure.network-type' value="`$tmp.l3-network.network-type`" /> +<parameter name='tmp.network-topology.network-topology-identifier-structure.network-role' value="`$tmp.l3-network.network-role`" /> +<parameter name='tmp.network-topology.network-topology-identifier-structure.network-technology' value="`$tmp.l3-network.network-technology`" /> +<parameter name='tmp.network-topology.network-topology-identifier-structure.eipam-v4-address-plan' value="`$network-model.eipam-v4-address-plan`" /> +<parameter name='tmp.network-topology.network-topology-identifier-structure.eipam-v6-address-plan' value="`$network-model.eipam-v6-address-plan`" /> +<parameter name='tmp.network-topology.region-identifier.tenant' value="`$network-topology-operation-input.network-request-input.tenant`" /> +<parameter name='tmp.network-topology.region-identifier.aic-cloud-region' value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" /> +<parameter name='tmp.network-topology.region-identifier.aic-clli' value="`$network-topology-operation-input.network-request-input.aic-clli`" /> +<parameter name='tmp.network-topology.ecomp-model-information.' value="`$network-topology-operation-input.network-information.ecomp-model-information.`" /> +<parameter name='tmp.network-topology.network-parameters.' value="`$network-topology-operation-input.network-request-input.network-input-parameters.`" /> +</set><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id" > +<!-- Create l3-network object --> +<parameter name="network-id" value="`$tmp.l3-network.network-id`" /> +<parameter name="network-name" value="`$tmp.l3-network.network-name`" /> +<parameter name="network-type" value="`$tmp.l3-network.network-type`" /> +<parameter name="network-role" value="`$tmp.l3-network.network-role`" /> +<parameter name="network-technology" value="`$tmp.l3-network.network-technology`" /> +<parameter name="is-bound-to-vpn" value="`$tmp.l3-network.is-bound-to-vpn`" /> +<parameter name="service-id" value="`$tmp.l3-network.service-id`" /> +<parameter name="tenant-id" value="`$network-topology-operation-input.network-request-information.tenant`" /> +<parameter name="orchestration-status" value="PendingCreate" /> +<parameter name="persona-model-id" value="`$tmp.l3-network.persona-model-id`" /> +<parameter name="persona-model-version" value="`$tmp.l3-network.persona-model-version`" /> +<parameter name="persona-model-customization-id" value="`$tmp.l3-network.persona-model-customization-id`" /> +<parameter name="physical-network-name" value="`$tmp.l3-network.physical-network-name`" /> +<parameter name="is-provider-network" value="`$tmp.l3-network.is-provider-network-boolean`" /> +<parameter name="is-shared-network" value="`$tmp.l3-network.is-shared-network-boolean`" /> +<parameter name="is-external-network" value="`$tmp.l3-network.is-external-network-boolean`" /> +<parameter name="selflink" value="`$tmp.l3-network.self-link`" /> +<outcome value='failure'> +<return status='failure'> + <parameter name='ack-final' value='Y'/> + <parameter name="error-code" value="500" /> + <parameter name="error-message" value="`'Failed to save l3-network in AAI for network-id = ' + $tmp.l3-network.network-id`" /> +</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="`'Failed to save l3-network in AAI for network-id = ' + $tmp.l3-network.network-id`" /> +</return></outcome></save><for index='sidx' start='0' end='`$tmp.l3-network.subnet_length`' > +<block atomic="true"><set> +<parameter name="tmp.subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`"/> + </set><switch test='`$tmp.l3-network.subnet[$sidx].dhcp-enabled`'> +<outcome value='true'> +<block atomic="true"><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="subnet" + key="l3-network.network-id = $tmp.l3-network.network-id + AND subnet.subnet-id = $tmp.subnet-id" > +<!-- Create l3-network object --> +<parameter name="network-id" value="`$tmp.l3-network.network-id`" /> +<parameter name="subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`" /> +<parameter name="subnet-name" value="`$tmp.l3-network.subnet[$sidx].subnet-name`" /> +<parameter name="gateway-address" value="`$tmp.l3-network.subnet[$sidx].gateway-address`" /> +<parameter name="network-start-address" value="`$tmp.l3-network.subnet[$sidx].network-start-address`" /> +<parameter name="cidr-mask" value="`$tmp.l3-network.subnet[$sidx].cidr-mask`" /> +<parameter name="ip-version" value="`$tmp.l3-network.subnet[$sidx].ip-version`" /> +<parameter name="dhcp-start" value="`$tmp.l3-network.subnet[$sidx].dhcp-start`" /> +<parameter name="dhcp-end" value="`$tmp.l3-network.subnet[$sidx].dhcp-end`" /> +<parameter name="dhcp-enabled" value="`$tmp.l3-network.subnet[$sidx].dhcp-enabled`" /> +<parameter name="orchestration-status" value="PendingCreate" /><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save></block></outcome><outcome value='false'> +<block atomic="true"><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="subnet" + key="l3-network.network-id = $tmp.l3-network.network-id + AND subnet.subnet-id = $tmp.subnet-id" > +<!-- Create l3-network object --> +<parameter name="network-id" value="`$tmp.l3-network.network-id`" /> +<parameter name="subnet-id" value="`$tmp.l3-network.subnet[$sidx].subnet-id`" /> +<parameter name="subnet-name" value="`$tmp.l3-network.subnet[$sidx].subnet-name`" /> +<parameter name="gateway-address" value="`$tmp.l3-network.subnet[$sidx].gateway-address`" /> +<parameter name="network-start-address" value="`$tmp.l3-network.subnet[$sidx].network-start-address`" /> +<parameter name="cidr-mask" value="`$tmp.l3-network.subnet[$sidx].cidr-mask`" /> +<parameter name="ip-version" value="`$tmp.l3-network.subnet[$sidx].ip-version`" /> +<parameter name="dhcp-enabled" value="`$tmp.l3-network.subnet[$sidx].dhcp-enabled`" /> +<parameter name="orchestration-status" value="PendingCreate" /><outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving subnet relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save></block></outcome></switch></block></for><switch test='`$hasVpnBindings`'> +<outcome value='true'> +<block atomic="true"><for index='vidx' start='0' end='`$vpn-bindings_length`' > +<block atomic='true'><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network:relationship-list" + key="l3-network.network-id = $tmp.l3-network.network-id" > +<parameter name="relationship-list.relationship[0].related-to" value="vpn-binding" /> +<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="vpn-binding.vpn-id" /> +<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$vpn-bindings[$vidx].binding-uuid`" /><outcome value='failure'> +<block><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving vpn binding relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving vpn binding relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save></block></for></block></outcome></switch><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network:relationship-list" + key="l3-network.network-id = $tmp.l3-network.network-id" > +<parameter name="relationship-list.relationship[0].related-to" value="service-instance" /> +<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="customer.global-customer-id" /> +<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.service-information.global-customer-id`" /> +<parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="service-subscription.service-type" /> +<parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$service-data.service-information.subscription-service-type`" /> +<parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="service-instance.service-instance-id" /> +<parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$service-data.service-information.service-instance-id`" /><outcome value='failure'> +<block><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving service instance relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving service instance relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network:relationship-list" + key="l3-network.network-id = $tmp.l3-network.network-id" + force="true" + local-only="false"> + <!-- create relationship-list --> + <parameter name="relationship-list.relationship[0].related-to" value="tenant" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" /> + <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="att-aic" /> + <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" /> + <parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" /> + <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="tenant.tenant-id" /> + <parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$network-topology-operation-input.network-request-input.tenant`" /> + <parameter name="relationship-list.relationship[1].related-to" value="cloud-region" /> + <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" /> + <parameter name="relationship-list.relationship[1].relationship-data[0].relationship-value" value="att-aic" /> + <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" /> + <parameter name="relationship-list.relationship[1].relationship-data[1].relationship-value" value="`$network-topology-operation-input.network-request-input.aic-cloud-region`" /> + + <outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and cloud-region relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving tenant and cloud-region relationship for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save><switch test='`$network-model.network-technology`'> +<outcome value='AIC_SR_IOV'> +<block atomic="true"><set> + <parameter name="tmp.l3-network.segmentation-id" value="1"/></set><save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="segmentation-assignment" + key="l3-network.network-id = $tmp.l3-network.network-id + AND segmentation-assignment.segmentation-id = $tmp.l3-network.segmentation-id" > +<!-- Create segmentation-assignment object --> +<parameter name="network-id" value="`$tmp.l3-network.network-id`" /> +<parameter name="segmentation-id" value="`$tmp.l3-network.segmentation-id`" /> +<outcome value='failure'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving segmentation-assignment for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome><outcome value='not-found'> +<block atomic='true'><set> + <parameter name="error-code" value="500"/> + <parameter name="tmp.error-message" value="`'An error occurred while saving segmentation-assignment for l3-network in AnAI where network-id = ' + $tmp.l3-network.network-id`"/></set><block atomic='true'><delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" + resource="l3-network" + key="l3-network.network-id = $tmp.l3-network.network-id"></delete><return status='failure'> + <parameter name='error-code' value='500'/> + <parameter name='error-message' value="`'Error writing to l3-network - ' + $tmp.error-message`"/></return></block></block></outcome></save></block></outcome></switch><set> +<parameter name='network-topology.network-topology-identifier-structure.' value='`$tmp.l3-network.`' /> +<parameter name='network-topology.tenant' value='`$network-topology-operation-input.network-request-input.tenant`' /> +<parameter name='network-topology.ecomp-model-information.' value='`$network-topology-operation-input.network-information.ecomp-model-information.`' /> +<parameter name='network-topology.network-parameters.' value='`$network-topology-operation-input.network-request-input.network-input-parameters.`' /> +<parameter name='network-topology.aic-cloud-region' value='`$network-topology-operation-input.network-request-input.aic-cloud-region`' /></set><switch test='`$service-data.networks.network_length`'> +<outcome value=''> +<set> +<parameter name='nidx' value='0' /> +</set></outcome><outcome value='Other'> +<set> +<parameter name='nidx' value='`$service-data.networks.network_length`' /> +</set></outcome></switch><set> +<parameter name="service-data.networks.network[$nidx].network-id" value='`$tmp.l3-network.network-id`' /> +<parameter name="service-data.networks.network[$nidx].network-data.network-topology." value='$network-topology.' /> +<parameter name="service-data.networks.network_length" value='`$nidx+1`' /> + +</set><set> +<parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' /> +<parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' /> +<parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' /> +<parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' /> +<parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' /> +</set><set> +<parameter name='networkId' value='`$tmp.l3-network.network-id`' /> +</set><set> +<parameter name='network-object-path' + value="`$tmp.l3-network.self-link`"/> + +</set><set> +<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.order-status' value='PendingCreate' /> +<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-rpc-action' value='`$network-topology-operation-input.sdnc-request-header.svc-action`' /> +<parameter name='service-data.networks.network[$nidx].network-data.network-level-oper-status.last-action' value='`$network-topology-operation-input.request-information.request-action`' /> +</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></method></service-logic> |