generic-resource-api DG enhancement
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-vf-module-mdsal-put.xml
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-mdsal-put.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-vf-module-mdsal-put.xml
new file mode 100644 (file)
index 0000000..76b6087
--- /dev/null
@@ -0,0 +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='GENERIC-RESOURCE-API' version='${project.version}'>\r
+    <method rpc='self-serve-vf-module-mdsal-put' mode='sync'>\r
+        <block atomic='true'>\r
+            <set>\r
+                <parameter name='vf.vf-module-id'\r
+    value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`' />\r
+                <parameter name='vf.vf-module-data.sdnc-request-header.'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.sdnc-request-header.`' />\r
+                <parameter name='vf.vf-module-data.request-information.'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.request-information.`' />\r
+                <parameter name='vf.vf-module-data.service-information.'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.`' />\r
+                <parameter name='vf.vf-module-data.vnf-information.'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.`' />\r
+                <parameter name='vf.vf-module-data.vf-module-information.'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-information.`' />\r
+                <parameter name='vf.vf-module-data.vf-module-topology.'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.`' />\r
+                <parameter name='vf.vf-module-data.vf-module-level-oper-status.'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-level-oper-status.`' />\r
+                <parameter name='vf.vf-module-data.vf-module-request-input.vf-module-input-parameters.'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.vf-module-input-parameters.`' />\r
+                <parameter name='vf.vf-module-data.vf-module-request-input.request-version'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.request-version`' />\r
+                <parameter name='vf.vf-module-data.vf-module-request-input.vf-module-name'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.vf-module-name`' />\r
+                <parameter name='vf.vf-module-data.vf-module-request-input.tenant'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.tenant`' />\r
+                <parameter name='vf.vf-module-data.vf-module-request-input.aic-cloud-region'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.aic-cloud-region`' />\r
+                <parameter name='vf.vf-module-data.vf-module-request-input.aic-clli'\r
+  value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-request-input.aic-clli`' />\r
+            </set>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+                <parameter name="source" value="`$prop.restapi.ss-vfmodule-assignments`"/>\r
+                <parameter name="outputPath" value="tmp.ss-vfmodule-url"/>\r
+                <parameter name="target" value="{service-instance-id}"/>\r
+                <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.service-instance-id`"/>\r
+            </execute>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+                <parameter name="source" value="`$tmp.ss-vfmodule-url`"/>\r
+                <parameter name="outputPath" value="tmp.ss-vfmodule-url"/>\r
+                <parameter name="target" value="{vnf-id}"/>\r
+                <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.vnf-id`"/>\r
+            </execute>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='replace' >\r
+                <parameter name="source" value="`$tmp.ss-vfmodule-url`"/>\r
+                <parameter name="outputPath" value="tmp.ss-vfmodule-url"/>\r
+                <parameter name="target" value="{vf-module-id}"/>\r
+                <parameter name="replacement" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-id`"/>\r
+            </execute>\r
+            <execute plugin='org.onap.ccsdk.sli.plugins.restapicall.RestapiCallNode' method='sendRequest' >\r
+                <parameter name='templateFileName' value="`$prop.restapi.templateDir + '/' + $prop.restapi.ss.vfmodule.templatefile`" />\r
+                <parameter name='restapiUrl' value='`$prop.controller.url + $tmp.ss-vfmodule-url`' />\r
+                <parameter name='restapiUser' value='`$prop.controller.user`' />\r
+                <parameter name='restapiPassword' value='`$prop.controller.pwd`' />\r
+                <parameter name='format' value='json' />\r
+                <parameter name='httpMethod' value='PUT' />\r
+                <parameter name="responsePrefix" value="mdsal-ss-vfmodule" />\r
+                <outcome value='failure'>\r
+                    <set>\r
+                        <parameter name="error-message" value="`'Failed to persist self-serve vf-module assignments during assign in MD-SAL. ' + $error-message`" />\r
+                    </set>\r
+                </outcome>\r
+                <outcome value='not-found'>\r
+                    <set>\r
+                        <parameter name="error-message" value="`'Failed to persist self-serve vf-module assignments during assign in MD-SAL. ' + $error-message`" />\r
+                    </set>\r
+                </outcome>\r
+            </execute>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file