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
5 <parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />
\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
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
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
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
26 <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
27 --></set><switch test='`$tmp.test1 == $tmp.consuming-service-instance-id`'><outcome value='true'>
\r
30 <parameter name='tmp.brg-macaddress'
\r
31 value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource.allotted-resource-data.allotted-resource-operation-information.tunnelxconn-request-input.brg-wan-mac-address`' />
\r
34 <parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>
\r
35 <parameter name='tmp.consuming-service-instance-id' value='`$service-data.service-topology.service-topology-identifier.service-instance-id`' />
\r
38 <parameter name='tmp.brg-macaddress' value='fa:16:3e:8f:ea:68' />
\r
39 <parameter name='tmp.brg-mac-address-match' value="`'VGW2BRG-' + $tmp.brg-macaddress`"/>
\r
42 <parameter name='tmp.consuming-service-instance-id' value='b3cb7040-f7a5-4beb-ad2f-2a893b7d374b' />
\r
43 service-data.service-topology.service-topology-identifier.service-instance-id
\r
47 <parameter name='tmp.vg-vgmux-tunnel-vni'
\r
48 value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[$txidx].allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vni`' />
\r
49 <parameter name='tmp.vg-ip'
\r
50 value='`$tmp.txconns.tunnelxconn-allotted-resources.tunnelxconn-allotted-resource[$txidx].allotted-resource-data.tunnelxconn-topology.tunnelxconn-assignments.vg-ip`' />
\r
52 <parameter name='tmp.thisIsVGW' value='true' />
\r
53 </set></block></outcome></switch></block></for></outcome></get-resource><switch test='`$tmp.thisIsVGW`'>
\r
54 <outcome value='true'>
\r
56 <get-resource plugin='org.onap.ccsdk.sli.adaptors.resource.mdsal.ConfigResource' resource='VNF-API' key='preload-vnfs' pfx='tmp.preloadvnfdata' >
\r
57 </get-resource><for index='vnfidx' start='0' end='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list_length`' >
\r
60 <block atomic='true'><set>
\r
61 <parameter name='tmp.test3' value='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].vnf-name`' />
\r
62 <parameter name='tmp.test4' value='`$tmp.brg-mac-address-match`'/>
\r
65 </set><switch test='`$tmp.preloadvnfdata.preload-vnfs.vnf-preload-list[$vnfidx].vnf-name == $tmp.brg-mac-address-match`'>
\r
68 <outcome value='true'>
\r
71 <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
75 "vnf-topology-information": {
\r
79 <block atomic='true'><set>
\r
80 <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
81 <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
82 <parameter name='tmp.vfmodule.param_length' value='`$tmp.endLoop1`' />
\r
83 </set><execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
\r
84 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
\r
85 <parameter name='contextPrefix' value='prop' />
\r
87 <parameter name='tmp.restapi.service.vnf.vfmodule-resource' value='`$prop.restapi.service.vnf.vfmodule-resource`' />
\r
89 <parameter name='tmp.vf-module-object-path'
\r
90 value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'
\r
91 + $service-data.service-topology.service-topology-identifier.service-instance-id
\r
92 + '/service-data/vnfs/vnf/'
\r
93 + $service-data.vnfs.vnf[$vnf-index].vnf-id
\r
94 + '/vnf-data/vf-modules/vf-module/'
\r
95 + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id
\r
99 <parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />
\r
101 <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
102 <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
108 <parameter name='tmp.service.vnf.vf-module.vg-mux-tunnel-vni' value='`$input.vni`' />
\r
110 <parameter name='tmp.vg-mux-tunnel-vni-match' value='vg_vgmux_tunnel_vni' />
\r
111 <parameter name='tmp.vg-lan-ip-match' value='vgw_private_ip_0' />
\r
116 </set><for index='paramIdx' start='0' end='`$tmp.vfmodule.param_length`' >
\r
118 <switch test='`$tmp.vfmodule.param[$paramIdx].name == $tmp.vg-mux-tunnel-vni-match`'><outcome value='true'>
\r
120 <parameter name='$tmp.vfmodule.param[$paramIdx].value' value='`$tmp.vg-vgmux-tunnel-vni`' />
\r
123 <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
124 --></set></outcome></switch><switch test='`$tmp.vfmodule.param[$paramIdx].name == $tmp.vg-lan-ip-match`'><outcome value='true'>
\r
126 <parameter name='$tmp.vfmodule.param[$paramIdx].value' value='`$tmp.vg-ip`' />
\r
128 <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
129 --></set></outcome></switch></block></for><set>
\r
131 <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
133 service-data.vnfs.vnf\[0\]. vnf-data.vf-modules.vf-module\[0\] .vf-module-data.vf-module-topology.vf-module-parameters.param.
\r
134 value='$tmp.vfmodule.' />
\r
136 <parameter name='service-data.vnfs.vnf[0].vnf-data.vf-modules.vf-module[0].vf-module-data.vf-module-topology.vf-module-parameters.'
\r
137 value='$tmp.vfmodule.' /></set></block></outcome></switch></block></for></block></outcome><outcome value='Other'>
\r
139 <return status='failure'>
\r
140 <parameter name='error-code' value='500' />
\r
141 <parameter name='error-message' value='Did not find vGW Preload' />
\r
142 </return></block></outcome></switch></block></method></service-logic>