Return success if no preload found
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_gw-vfmodule-update.xml
1 <service-logic\r
2     xmlns='http://www.onap.org/sdnc/svclogic'\r
3     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
4     <method rpc='gw-vfmodule-update' mode='sync'>\r
5         <block>\r
6             <set>\r
7                 <!--\r
8 <parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' /><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>\r
15             <set>\r
16                 <parameter name='tmp.thisIsVGW' value='false' />\r
17             </set>\r
18             <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='GENERIC-RESOURCE-API'    \r
19          key='tunnelxconn-allotted-resources/' pfx='tmp.txconns' >\r
20                 <outcome value='success'>\r
21                     <for index='txidx' start='0' end='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource_length`' >\r
22                         <block atomic='true'>\r
23                             <set>\r
24                                 <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
25                                 <!--\r
26 this is null\r
27 <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`' />\r
28 -->\r
29                             </set>\r
30                             <switch test='`$tmp.test1 == $tmp.consuming-service-instance-id`'>\r
31                                 <outcome value='true'>\r
32                                     <block>\r
33                                         <set>\r
34                                             <parameter name='tmp.brg-macaddress' \r
35       value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.brg-wan-mac-address`' />\r
36                                         </set>\r
37                                         <set>\r
38                                             <parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>\r
39                                             <parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />\r
40                                             <!--\r
41 <parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' /><parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>\r
42 -->\r
43                                             <!--\r
44 <parameter name='tmp.consuming-service-instance-id' value='b3cb7040-f7a5-4beb-ad2f-2a893b7d374b' />\r
45 service-data.service-topology.service-topology-identifier.service-instance-id\r
46 \r
47 -->\r
48                                         </set>\r
49                                         <set>\r
50                                             <parameter name='tmp.vg-vgmux-tunnel-vni' \r
51     value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[$txidx].allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vni`' />\r
52                                             <parameter name='tmp.vg-ip' \r
53     value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[$txidx].allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vg-ip`' />\r
54                                         </set>\r
55                                         <set>\r
56                                             <parameter name='tmp.thisIsVGW' value='true' />\r
57                                         </set>\r
58                                     </block>\r
59                                 </outcome>\r
60                             </switch>\r
61                         </block>\r
62                     </for>\r
63                 </outcome>\r
64             </get-resource>\r
65             <switch test='`$tmp.thisIsVGW`'>\r
66                 <outcome value='true'>\r
67                     <block>\r
68                         <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='VNF-API' key='preload-vnfs' pfx='tmp.preloadvnfdata' ></get-resource>\r
69                         <for index='vnfidx' start='0' end='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list_length`' >\r
70                             <block atomic='true'>\r
71                                 <set>\r
72                                     <parameter name='tmp.test3' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].vnf-name`' />\r
73                                     <parameter name='tmp.test4' value='`$tmp.brg-mac-address-match`'/>\r
74                                 </set>\r
75                                 <switch test='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].vnf-name == $tmp.brg-mac-address-match`'>\r
76                                     <outcome value='true'>\r
77                                         <block>\r
78                                             <set>\r
79                                                 <parameter name='tmp.endLoop1' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].preload-data.vnf-topology-information.vnf-parameters_length`' />\r
80                                             </set>\r
81                                             <for index='preloadIdx' start='0' end='`$tmp.endLoop1`'>\r
82                                                 <!--\r
83 \r
84      "preload-data": {\r
85           "vnf-topology-information": {\r
86             "vnf-parameters": [\r
87             \r
88             -->\r
89                                                 <block atomic='true'>\r
90                                                     <set>\r
91                                                         <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
92                                                         <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`' />\r
93                                                     </set>\r
94                                                 </block>\r
95                                             </for>\r
96                                             <set>\r
97                                                 <parameter name='tmp.vfmodule.param_length' value='`$tmp.endLoop1`' />\r
98                                             </set>\r
99                                             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >\r
100                                                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />\r
101                                                 <parameter name='contextPrefix' value='prop' />\r
102                                             </execute>\r
103                                             <set>\r
104                                                 <parameter name='tmp.restapi.service.vnf.vfmodule-resource' value='`$prop.restapi.service.vnf.vfmodule-resource`' />\r
105                                             </set>\r
106                                             <set>\r
107                                                 <parameter name='tmp.vf-module-object-path'\r
108  value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'\r
109  + $service-data.service-topology.service-topology-identifier.service-instance-id\r
110  + '/service-data/vnfs/vnf/'\r
111  + $service-data.vnfs.vnf[$vnf-index].vnf-id\r
112  + '/vnf-data/vf-modules/vf-module/'\r
113  + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id \r
114  + '/'`"/>\r
115                                             </set>\r
116                                             <set>\r
117                                                 <!--\r
118 <parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />\r
119 -->\r
120                                                 <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
121                                                 <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
122                                             </set>\r
123                                             <set>\r
124                                                 <!--\r
125 <parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />\r
126 -->\r
127                                                 <parameter name='tmp.vg-mux-tunnel-vni-match' value='vg_vgmux_tunnel_vni' />\r
128                                                 <parameter name='tmp.vg-lan-ip-match' value='vgw_private_ip_0' />\r
129                                             </set>\r
130                                             <for index='paramIdx' start='0' end='`$tmp.vfmodule.param_length`' >\r
131                                                 <block>\r
132                                                     <switch test='`$tmp.vfmodule.param[$paramIdx].name == $tmp.vg-mux-tunnel-vni-match`'>\r
133                                                         <outcome value='true'>\r
134                                                             <set>\r
135                                                                 <parameter name='$tmp.vfmodule.param[$paramIdx].value' value='`$tmp.vg-vgmux-tunnel-vni`' />\r
136                                                                 <!--\r
137 <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
138 -->\r
139                                                             </set>\r
140                                                         </outcome>\r
141                                                     </switch>\r
142                                                     <switch test='`$tmp.vfmodule.param[$paramIdx].name == $tmp.vg-lan-ip-match`'>\r
143                                                         <outcome value='true'>\r
144                                                             <set>\r
145                                                                 <parameter name='$tmp.vfmodule.param[$paramIdx].value' value='`$tmp.vg-ip`' />\r
146                                                                 <!--\r
147 <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
148 -->\r
149                                                             </set>\r
150                                                         </outcome>\r
151                                                     </switch>\r
152                                                 </block>\r
153                                             </for>\r
154                                             <set>\r
155                                                 <!--\r
156 <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
157 \r
158                  service-data.vnfs.vnf\[0\].       vnf-data.vf-modules.vf-module\[0\]             .vf-module-data.vf-module-topology.vf-module-parameters.param.\r
159    value='$tmp.vfmodule.' />\r
160 -->\r
161                                                 <parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.'\r
162    value='$tmp.vfmodule.' />\r
163                                             </set>\r
164                                         </block>\r
165                                     </outcome>\r
166                                 </switch>\r
167                             </block>\r
168                         </for>\r
169                     </block>\r
170                 </outcome>\r
171                 <outcome value='Other'>\r
172                     <block>\r
173                         <return status='success'>\r
174                             <parameter name='' value='' />\r
175                         </return>\r
176                     </block>\r
177                 </outcome>\r
178             </switch>\r
179         </block>\r
180     </method>\r
181 </service-logic>