Fix ip address manage DG
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_manage-ipaddr-assignment.xml
1 <!--Reserve/release IP-->\r
2 <service-logic xmlns='http://www.onap.org/sdnc/svclogic' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='GENERIC-RESOURCE-API' version='${project.version}'>\r
3     <method rpc='manage-ipaddr-assignment' mode='sync'>\r
4         <block atomic='true'>\r
5             <set>\r
6                 <parameter name='tmp.sql.plugin' value='org.onap.ccsdk.sli.adaptors.resource.sql.SqlResource' />\r
7             </set>\r
8             <switch test='`$tmp.manageIpaddr.action`'>\r
9                 <outcome value='reserve'>\r
10                     <block atomic='true'>\r
11                         <get-resource plugin='`$tmp.sql.plugin`' resource='IPADDR' key="SELECT min(ipv4_addr) ip from IPV4_ADDRESS_POOL where universe = $tmp.manageIpaddr.pool and status='AVAILABLE'" pfx="tmp.manageIpaddr" >\r
12                             <outcome value='success'>\r
13                                 <save plugin='`$tmp.sql.plugin`' resource='IPADDR' key="UPDATE IPV4_ADDRESS_POOL set status='RESERVED' where universe='VGW' and ipv4_addr = $tmp.manageIpaddr.ip" force='false'></save>\r
14                             </outcome>\r
15                         </get-resource>\r
16                     </block>\r
17                 </outcome>\r
18                 <outcome value='release'>\r
19                     <save plugin='`$tmp.sql.plugin`' resource='IPADDR' key="UPDATE IPV4_ADDRESS_POOL set status='AVAILABLE' where universe='VGW' and ipv4_addr = $tmp.manageIpaddr.ip" force='false'></save>\r
20                 </outcome>\r
21             </switch>\r
22         </block>\r
23     </method>\r
24 </service-logic>