Update network topology to aai
[sdnc/oam.git] / platform-logic / datachange / src / main / xml / DataChange_update-network-to-aai.xml
index cdd0edb..740ace0 100644 (file)
@@ -1,69 +1,75 @@
-<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='update-network-to-aai' mode='sync'>\r
-        <block atomic="true">\r
-            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
-                <parameter name="source" value="`$network.network-id`"/>\r
-                <parameter name="outputPath" value="tmp.network-id"/>\r
-                <parameter name="target" value="/"/>\r
-                <parameter name="replacement" value="-"/>\r
-            </execute>\r
-            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='zone' \r
-      key='zone.zone-id = $tmp.network-id' >\r
-                <parameter name='zone-id' value='`$tmp.network-id`' />\r
-                <parameter name='zone-name' value='`$network.client-id`' />\r
-                <parameter name='design-type' value='`$network.te-topology-id`' />\r
-                <parameter name='zone-context' value='`$network.provider-id`' />\r
-            </save>\r
-            <for index='pidx' start='0' end='`$network.node_length`' >\r
-                <set>\r
-                    <parameter name='node.' value='`$network.node[$pidx].`' />\r
-                </set>\r
-                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf' \r
-      key='pnf.pnf-name = $node.node-id' >\r
-                    <parameter name='pnf-name' value='`$node.node-id`' />\r
-                    <parameter name='pnf-id' value='`$node.node-id`' />\r
-                    <parameter name='in-maint' value='true' />\r
-                </save>\r
-                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \r
-      key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">\r
-                    <parameter name="relationship-list.relationship[0].related-to" value="zone" />\r
-                    <parameter name="relationship-list.relationship[0].related-link" value="`'/network/zones/zone/' + $tmp.network-id`" />\r
-                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="zone.zone-id" />\r
-                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`" />\r
-                </save>\r
-                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list' \r
-      key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id' \r
-      force="true" pfx="tmp.AnAI-data">\r
-                    <parameter name="relationship-list.relationship[0].related-to" value="pnf" />\r
-                    <parameter name="relationship-list.relationship[0].related-link" value="`'/network/pnfs/pnf/' + $node.node-id`" />\r
-                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />\r
-                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$node.node-id`" />\r
-                </save>\r
-                <for index='tidx' start='0' end='`$node.termination-point_length`' >\r
-                    <set>\r
-                        <parameter name='tp.' value='`$node.termination-point[$tidx].`' />\r
-                    </set>\r
-                    <set>\r
-                        <parameter name='unique-ltpId' value="`'nodeId-' + $node.node-id + '-ltpId-' + $tp.te-tp-id`" />\r
-                    </set>\r
-                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='logical-link' \r
-      key='logical-link.link-name = $unique-ltpId' >\r
-                        <parameter name='link-name' value='`$unique-ltpId`' />\r
-                        <parameter name='link-type' value='VL' />\r
-                        <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />\r
-                        <parameter name='in-maint' value='`$tp.svc.supported-classification.transparent`' />\r
-                    </save>\r
-                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' \r
-      key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">\r
-                        <parameter name="relationship-list.relationship[0].related-to" value="logical-link" />\r
-                        <parameter name="relationship-list.relationship[0].related-link" value="`'/network/logical-links/logical-link/' + $unique-ltpId`" />\r
-                        <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="logical-link.link-name" />\r
-                        <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-ltpId`" />\r
-                    </save>\r
-                </for>\r
-            </for>\r
-        </block>\r
-    </method>\r
+<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='DataChange' version='${project.version}'>
+    <method rpc='update-network-to-aai' mode='sync'>
+        <block atomic="true">
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >
+                <parameter name="source" value="`$network.network-id`"/>
+                <parameter name="outputPath" value="tmp.network-id"/>
+                <parameter name="target" value="/"/>
+                <parameter name="replacement" value="-"/>
+            </execute>
+            <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='network-resource'  
+     key='network-resource.network-id = $tmp.network-id' >
+                <parameter name='network-id' value='`$tmp.network-id`' />
+                <parameter name='client-id' value='`$network.client-id`' />
+                <parameter name='te-topo-id' value='`$network.te-topology-id`' />
+                <parameter name='provider-id' value='`$network.provider-id`' />
+            </save>
+            <for index='pidx' start='0' end='`$network.node_length`' >
+                <set>
+                    <parameter name='node.' value='`$network.node[$pidx].`' />
+                </set>
+                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf' 
+      key='network-resource.network-id = $tmp.network-id
+      AND pnf.pnf-name = $node.node-id' >
+                    <parameter name='pnf-name' value='`$node.node-id`' />
+                    <parameter name='pnf-id' value='`$node.node-id`' />
+                    <parameter name='operational-status' value='`$node.te.oper-status`' />
+                    <parameter name='admin-status' value='`$node.te.te-node-attributes.admin-status`' />
+                    <parameter name='in-maint' value='true' />
+                </save>
+                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' 
+      key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">
+                    <parameter name="relationship-list.relationship[0].related-to" value="network-resource" />
+                    <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id`" />
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="network-resource.network-id" />
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$tmp.network-id`" />
+                </save>
+                <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='esr-thirdparty-sdnc:relationship-list' 
+      key='esr-thirdparty-sdnc.thirdparty-sdnc-id = $prop.sdncRestApi.thirdpartySdnc.id' 
+      force="true" pfx="tmp.AnAI-data">
+                    <parameter name="relationship-list.relationship[0].related-to" value="pnf" />
+                    <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id`" />
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="pnf.pnf-name" />
+                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$node.node-id`" />
+                </save>
+                <for index='tidx' start='0' end='`$node.termination-point_length`' >
+                    <set>
+                        <parameter name='tp.' value='`$node.termination-point[$tidx].`' />
+                    </set>
+                    <set>
+                        <parameter name='unique-ltpId' value="`'nodeId-' + $node.node-id + '-ltpId-' + $tp.te-tp-id`" />
+                    </set>
+                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='p-interface' 
+      key='network-resource.network-id = $tmp.network-id
+      AND pnf.pnf-name = $node.node-id
+      AND p-interface.interface-name = $unique-ltpId' >
+                        <parameter name='network-ref' value='`$tp.supporting-termination-point[0].network-ref`' />
+                        <parameter name='transparent' value='`$tp.svc.supported-classification.transparent`' />
+                        <parameter name='speed-value' value='`$tp.te.interface-switching-capability[0].max-lsp-bandwidth[0].te-bandwidth.eth-bandwidth`' />
+                        <parameter name='operational-status' value='`$tp.te.oper-status`' />
+                        <parameter name='in-maint' value="true" />
+                    </save>
+                    <save plugin='org.onap.ccsdk.sli.adaptors.aai.AAIService' resource='pnf:relationship-list' 
+      key='pnf.pnf-name = $node.node-id' force="true" pfx="tmp.AnAI-data">
+                        <parameter name="relationship-list.relationship[0].related-to" value="p-interface" />
+                        <parameter name="relationship-list.relationship[0].related-link" value="`'/network/network-resources/network-resource/' + $tmp.network-id + '/pnfs/pnf/' + $node.node-id '/p-interfaces/p-interface/' + $unique-ltpId`" />
+                        <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="p-interface.interface-name" />
+                        <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$unique-ltpId`" />
+                    </save>
+                </for>
+            </for>
+        </block>
+    </method>
 </service-logic>
\ No newline at end of file