zte 3rd party controller for sdwan
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / sdwan / GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.xml
1 <service-logic
2     xmlns='http://www.onap.org/sdnc/svclogic'
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}'>
4     <method rpc='wan-connection-topology-operation-create' mode='sync'>
5         <block atomic="true">
6             <switch test='`$network-topology-operation-input.network-information.network-id`'>
7                 <outcome value=''>
8                     <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
9                         <parameter name="ctx-destination" value="network-topology-operation-input.network-information.network-id"/>
10                         <outcome value='Other'>
11                             <return status='failure'>
12                                 <parameter name='error-code' value='' />
13                                 <parameter name='error-message' value="An error occured while generation allotted resource ID" />
14                             </return>
15                         </outcome>
16                         <outcome value='success'>
17                             <block>
18                                 <set>
19                                     <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />
20                                     <parameter name="network-object-path" value="`'restconf/config/GENERIC-RESOURCE-API:services/service/'  + $network-topology-operation-input.service-information.service-instance-id  + '/service-data/networks/network/'  + $network-topology-operation-input.network-information.network-id  + '/network-data/'` " />
21                                 </set>
22                             </block>
23                         </outcome>
24                     </execute>
25                 </outcome>
26             </switch>
27             <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
28                 <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
29                 <parameter name='contextPrefix' value='prop' />
30             </execute>
31             <block atomic="true">
32                 <switch test='`$service-data.networks.network_length`'>
33                     <outcome value=''>
34                         <set>
35                             <parameter name='nidx' value='0' />
36                         </set>
37                     </outcome>
38                     <outcome value='Other'>
39                         <set>
40                             <parameter name='nidx' value='`$service-data.networks.network_length`' />
41                         </set>
42                     </outcome>
43                 </switch>
44                 <set>
45                     <parameter name='service-data.networks.network[$nidx].network-id' value='`$network-topology-operation-input.network-information.network-id`' />
46                     <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />
47                     <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />
48                     <parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />
49                     <parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />
50                     <parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />
51                     <parameter name='service-data.networks.network_length' value='`$nidx+1`' />
52                 </set>
53             </block>
54             <return status='success'>
55                 <parameter name="ack-final-indicator" value="Y" />
56                 <parameter name="error-code" value="200" />
57                 <parameter name="error-message" value="`$error-message`" />
58             </return>
59         </block>
60     </method>
61 </service-logic>