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
diff --git a/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.xml b/platform-logic/generic-resource-api/src/main/xml/sdwan/GENERIC-RESOURCE-API_sdwan-vf-topology-operation-zte-create.xml
new file mode 100644 (file)
index 0000000..03ccd49
--- /dev/null
@@ -0,0 +1,61 @@
+<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='wan-connection-topology-operation-create' mode='sync'>
+        <block atomic="true">
+            <switch test='`$network-topology-operation-input.network-information.network-id`'>
+                <outcome value=''>
+                    <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='generateUUID' >
+                        <parameter name="ctx-destination" value="network-topology-operation-input.network-information.network-id"/>
+                        <outcome value='Other'>
+                            <return status='failure'>
+                                <parameter name='error-code' value='' />
+                                <parameter name='error-message' value="An error occured while generation allotted resource ID" />
+                            </return>
+                        </outcome>
+                        <outcome value='success'>
+                            <block>
+                                <set>
+                                    <parameter name='networkId' value='`$network-topology-operation-input.network-information.network-id`' />
+                                    <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/'` " />
+                                </set>
+                            </block>
+                        </outcome>
+                    </execute>
+                </outcome>
+            </switch>
+            <execute plugin='org.onap.ccsdk.sli.plugins.prop.PropertiesNode' method='readProperties' >
+                <parameter name='fileName' value='%SDNC_CONFIG_DIR%/generic-resource-api-dg.properties' />
+                <parameter name='contextPrefix' value='prop' />
+            </execute>
+            <block atomic="true">
+                <switch test='`$service-data.networks.network_length`'>
+                    <outcome value=''>
+                        <set>
+                            <parameter name='nidx' value='0' />
+                        </set>
+                    </outcome>
+                    <outcome value='Other'>
+                        <set>
+                            <parameter name='nidx' value='`$service-data.networks.network_length`' />
+                        </set>
+                    </outcome>
+                </switch>
+                <set>
+                    <parameter name='service-data.networks.network[$nidx].network-id' value='`$network-topology-operation-input.network-information.network-id`' />
+                    <parameter name='service-data.networks.network[$nidx].network-data.sdnc-request-header.' value='`$network-topology-operation-input.sdnc-request-header.`' />
+                    <parameter name='service-data.networks.network[$nidx].network-data.request-information.' value='`$network-topology-operation-input.request-information.`' />
+                    <parameter name='service-data.networks.network[$nidx].network-data.service-information.' value='`$network-topology-operation-input.service-information.`' />
+                    <parameter name='service-data.networks.network[$nidx].network-data.network-information.' value='`$network-topology-operation-input.network-information.`' />
+                    <parameter name='service-data.networks.network[$nidx].network-data.network-request-input.' value='`$network-topology-operation-input.network-request-input.`' />
+                    <parameter name='service-data.networks.network_length' value='`$nidx+1`' />
+                </set>
+            </block>
+            <return status='success'>
+                <parameter name="ack-final-indicator" value="Y" />
+                <parameter name="error-code" value="200" />
+                <parameter name="error-message" value="`$error-message`" />
+            </return>
+        </block>
+    </method>
+</service-logic>
\ No newline at end of file