Calculating the maximum tpn for otn tunnels among all domains
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / trans_slicing / GENERIC-RESOURCE-API_tsli-vnf-topology-operation-find-maximum-used-tpn.xml
diff --git a/platform-logic/generic-resource-api/src/main/xml/trans_slicing/GENERIC-RESOURCE-API_tsli-vnf-topology-operation-find-maximum-used-tpn.xml b/platform-logic/generic-resource-api/src/main/xml/trans_slicing/GENERIC-RESOURCE-API_tsli-vnf-topology-operation-find-maximum-used-tpn.xml
new file mode 100644 (file)
index 0000000..111aed3
--- /dev/null
@@ -0,0 +1,42 @@
+<service-logic\r
+        xmlns='http://www.onap.org/sdnc/svclogic'\r
+        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>\r
+    <method rpc='tsli-vnf-topology-operation-find-maximum-used-tpn' mode='sync'>\r
+        <block atomic="true">\r
+            <set>\r
+                <parameter name='maxtpn' value='0' />\r
+            </set>\r
+            <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                          resource="vpn-bindings"\r
+                          key="selflink = 'https://aai.onap:8443/aai/v21/network/vpn-bindings"\r
+                          local-only="false"\r
+                          pfx="tmp.aai.allvpnbindings" >\r
+                <outcome value='not-found'></outcome>\r
+                <outcome value='failure'>\r
+                    <return status='failure'>\r
+                        <parameter name='error-code' value='' />\r
+                        <parameter name='error-message' value='' />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='success'>\r
+                    <block atomic="true">\r
+                        <for index='allvpnbidx' start='0' end='`$tmp.aai.allvpnbindings.vpn-binding_length`' >\r
+                            <block atomic='true'>\r
+                                <switch test="`$tmp.aai.allvpnbindings.vpn-binding[$allvpnbidx].customer-vpn-id >= $maxtpn `">\r
+                                    <outcome value='true'>\r
+                                        <block atomic='true'>\r
+                                            <set>\r
+                                                <parameter name='maxtpn' value='`$tmp.aai.allvpnbindings.vpn-binding[$allvpnbidx].customer-vpn-id`' />\r
+                                            </set>\r
+                                        </block>\r
+                                    </outcome>\r
+                                    <outcome value='false'></outcome>\r
+                                </switch>\r
+                            </block>\r
+                        </for>\r
+                    </block>\r
+                </outcome>\r
+            </get-resource>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file