Datachange DG to handle ESR third party event
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_esr-thirdparty-sdnc-discovery.xml
diff --git a/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-discovery.xml b/platform-logic/datachange/src/main/xml/DataChange_esr-thirdparty-sdnc-discovery.xml
new file mode 100644 (file)
index 0000000..ba2ea39
--- /dev/null
@@ -0,0 +1,67 @@
+<service-logic\r
+    xmlns='http://www.onap.org/sdnc/svclogic'\r
+    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.onap.org/sdnc/svclogic ./svclogic.xsd' module='DataChange' version='${project.version}'>\r
+    <method rpc='esr-thirdparty-sdnc-discovery' mode='sync'>\r
+        <block atomic="true">\r
+            <switch test="`$data-change-notification-input.aai-event-trigger`">\r
+                <outcome value='Update'>\r
+                    <block atomic="true">\r
+                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                            <parameter name="templateFileName" value="`$prop.restapi.templateDir + '/actokentemplate.json'`" />\r
+                            <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/controller/v2/tokens'`" />\r
+                            <parameter name="format" value="json"/>\r
+                            <parameter name="httpMethod" value="post"/>\r
+                            <parameter name="responsePrefix" value="token-result"/>\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                            <parameter name="trustStorePassword" value="adminadmin"/>\r
+                            <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                            <parameter name="keyStorePassword" value="adminadmin"/>\r
+                            <outcome value='success'>\r
+                                <set>\r
+                                    <parameter name='prop.sdncRestApi.token_id' value='`$token-result.data.token_id`' />\r
+                                </set>\r
+                            </outcome>\r
+                            <outcome value='failure'>\r
+                                <block></block>\r
+                            </outcome>\r
+                        </execute>\r
+                        <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                            <parameter name="restapiUrl" value="`$prop.sdncRestApi.thirdpartySdnc.url + '/restconf/data/ietf-network:networks'`" />\r
+                            <parameter name="restapiUser" value="`$prop.sdncRestApi.thirdpartySdnc.user`" />\r
+                            <parameter name="restapiPassword" value="`$prop.sdncRestApi.thirdpartySdnc.password`" />\r
+                            <parameter name="format" value="json"/>\r
+                            <parameter name="httpMethod" value="get"/>\r
+                            <parameter name="responsePrefix" value="topology"/>\r
+                            <parameter name="trustStoreFileName" value="/opt/onap/sdnc/data/stores/truststore.openecomp.client.jks"/>\r
+                            <parameter name="trustStorePassword" value="adminadmin"/>\r
+                            <parameter name="keyStoreFileName" value="/opt/onap/sdnc/data/stores/sdnc.p12"/>\r
+                            <parameter name="keyStorePassword" value="adminadmin"/>\r
+                            <parameter name='customHttpHeaders' value="`'X-ACCESS-TOKEN=' + $prop.sdncRestApi.token_id`" />\r
+                            <outcome value='success'>\r
+                                <block atomic="true"></block>\r
+                            </outcome>\r
+                            <outcome value='failure'>\r
+                                <return status='failure'>\r
+                                    <parameter name='ack-final' value='Y'/>\r
+                                    <parameter name="error-code" value="500" />\r
+                                    <parameter name="error-message" value="Error executing Create vpn rest api" />\r
+                                </return>\r
+                            </outcome>\r
+                        </execute>\r
+                        <for index='nidx' start='0' end='`$topology.networks.network_length`' >\r
+                            <block>\r
+                                <set>\r
+                                    <parameter name='network.' value='`$topology.networks.network[$nidx].`' />\r
+                                </set>\r
+                                <call module='DataChange' rpc='update-network-to-aai' mode='sync' ></call>\r
+                            </block>\r
+                        </for>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='delete'>\r
+                    <block atomic="true"></block>\r
+                </outcome>\r
+            </switch>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file