8f2c40b9f38051d839bd95fb8210d8357251dc05
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_gw-vfmodule-update.xml
1 <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='gw-vfmodule-update' mode='sync'>\r
2 <block>\r
3 <set>\r
4 <!--\r
5 <parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />\r
6 \r
7 \r
8 <parameter name='tmp.consuming-service-instance-id' value='b3cb7040-f7a5-4beb-ad2f-2a893b7d374b' />\r
9 service-data.service-topology.service-topology-identifier.service-instance-id\r
10 \r
11 -->\r
12 <parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>\r
13 <parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />\r
14 </set><set>\r
15 <parameter name='tmp.thisIsVGW' value='false' />\r
16 </set><get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API'    \r
17          key='tunnelxconn-allotted-resources/' pfx='tmp.txconns' >\r
18                                                                                                                                                                                                                                         <outcome value='success'>\r
19 <for index='txidx' start='0' end='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource_length`' >\r
20 \r
21 \r
22 <block atomic='true'><set>\r
23 <parameter name='tmp.test1' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[$txidx].allotted-resource-data.tunnelxconn-topology.allotted-resource-identifiers.consuming-service-instance-id`' />\r
24 <parameter name='tmp.test2' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource-data[$txidx].tunnelxconn-topology[0].allotted-resource-identifiers[0].consuming-service-instance-id`' /></set><switch test='`$tmp.test1 == $tmp.consuming-service-instance-id`'><outcome value='true'>\r
25 <block>\r
26 <set>\r
27 <parameter name='tmp.brg-macaddress' \r
28       value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.brg-wan-mac-address`' />\r
29 \r
30 </set><set>\r
31 <parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>\r
32 <parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />\r
33 \r
34 <!--\r
35 <parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />\r
36 <parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>\r
37 -->\r
38 <!--\r
39 <parameter name='tmp.consuming-service-instance-id' value='b3cb7040-f7a5-4beb-ad2f-2a893b7d374b' />\r
40 service-data.service-topology.service-topology-identifier.service-instance-id\r
41 \r
42 -->\r
43 </set><set>\r
44 <parameter name='tmp.thisIsVGW' value='true' />\r
45 </set></block></outcome></switch></block></for></outcome></get-resource><switch test='`$tmp.thisIsVGW`'>\r
46 <outcome value='true'>\r
47 <block>\r
48 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='VNF-API' key='preload-vnfs' pfx='tmp.preloadvnfdata' >\r
49 </get-resource><for index='vnfidx' start='0' end='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list_length`' >\r
50 \r
51 \r
52 <block atomic='true'><set>\r
53 <parameter name='tmp.test3' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].vnf-name`' />\r
54 <parameter name='tmp.test4' value='`$tmp.brg-mac-address-match`'/>\r
55 \r
56 \r
57 </set><switch test='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].vnf-name == $tmp.brg-mac-address-match`'>\r
58 \r
59 \r
60 <outcome value='true'>\r
61 <block>\r
62 <set>\r
63 <parameter name='tmp.endLoop1' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].preload-data.vnf-topology-information.vnf-parameters_length`' /></set><for index='preloadIdx' start='0' end='`$tmp.endLoop1`'>\r
64 <!--\r
65 \r
66      "preload-data": {\r
67           "vnf-topology-information": {\r
68             "vnf-parameters": [\r
69             \r
70             -->\r
71 <block atomic='true'><set>\r
72 <parameter name='tmp.vfmodule.param[$preloadIdx].name'  value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].preload-data.vnf-topology-information.vnf-parameters[$preloadIdx].vnf-parameter-name`' />\r
73 <parameter name='tmp.vfmodule.param[$preloadIdx].value' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].preload-data.vnf-topology-information.vnf-parameters[$preloadIdx].vnf-parameter-value`' /></set></block></for><set>\r
74 <parameter name='tmp.vfmodule.param_length' value='`$tmp.endLoop1`' />\r
75 </set><execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
76     <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
77     <parameter name='contextPrefix' value='prop' />\r
78 </execute><set>\r
79 <parameter name='tmp.restapi.service.vnf.vfmodule-resource' value='`$prop.restapi.service.vnf.vfmodule-resource`' />\r
80 </set><set>\r
81 <parameter name='tmp.vf-module-object-path'\r
82  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
83  + $service-data.service-topology.service-topology-identifier.service-instance-id\r
84  + '/service-data/vnfs/vnf/'\r
85  + $service-data.vnfs.vnf[$vnf-index].vnf-id\r
86  + '/vnf-data/vf-modules/vf-module/'\r
87  + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id \r
88  + '/'`"/>\r
89 </set><set>\r
90 <!--\r
91 <parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />\r
92 -->\r
93 <parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[0].allotted-resource-data[0].tunnelxconn-topology[0].tunnelxconn-assignments[0].vni`' />\r
94 <parameter name='tmp.service.vnf.vf-module.vg-lan-ip' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[0].allotted-resource-data[0].tunnelxconn-topology[0].tunnelxconn-assignments[0].vg-ip`' />\r
95 \r
96 \r
97 \r
98 </set><set>\r
99 <!--\r
100 <parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />\r
101 -->\r
102 <parameter name='tmp.vg-mux-tunnel-vni-match' value='vg_vgmux_tunnel_vni' />\r
103 <parameter name='tmp.vg-lan-ip-match' value='vgw_private_ip_0' />\r
104 \r
105 \r
106 \r
107 \r
108 </set><for index='paramIdx' start='0' end='`$tmp.vfmodule.param_length`' >\r
109 <block>\r
110 <switch test='`$tmp.vfmodule.param[$paramIdx].name == $tmp.vg-mux-tunnel-vni-match`'><outcome value='true'>\r
111 <set>\r
112 <parameter name='$tmp.vfmodule.param[$paramIdx].value' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vni`' />\r
113 </set></outcome></switch><switch test='`$tmp.vfmodule.param[$paramIdx].name == $tmp.vg-lan-ip-match`'><outcome value='true'>\r
114 <set>\r
115 <parameter name='$tmp.vfmodule.param[$paramIdx].value' value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vg-ip`' />\r
116 </set></outcome></switch></block></for><set>\r
117 <!--\r
118 <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param.'\r
119 \r
120                  service-data.vnfs.vnf\[0\].       vnf-data.vf-modules.vf-module\[0\]             .vf-module-data.vf-module-topology.vf-module-parameters.param.\r
121    value='$tmp.vfmodule.' />\r
122 -->\r
123 <parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.'\r
124    value='$tmp.vfmodule.' /></set></block></outcome></switch></block></for></block></outcome><outcome value='Other'>\r
125 <block>\r
126 <return status='failure'>\r
127 <parameter name='error-code' value='500' />\r
128 <parameter name='error-message' value='Did not find vGW Preload' />\r
129 </return></block></outcome></switch></block></method></service-logic>\r