self-serve DG for Casablanca
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml
diff --git a/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml b/platform-logic/generic-resource-api/src/main/xml/GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml
new file mode 100644 (file)
index 0000000..acbda51
--- /dev/null
@@ -0,0 +1,5022 @@
+<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-aai-vf-module-put' mode='sync'>\r
+        <block atomic="true">\r
+            <switch test='`$ss.capability-action`'>\r
+                <outcome value=''>\r
+                    <return status="failure">\r
+                        <parameter name="ack-final" value="Y" />\r
+                        <parameter name="error-code" value="500"/>\r
+                        <parameter name="error-message" value="ss.capability-action is null" />\r
+                    </return>\r
+                </outcome>\r
+                <outcome value='assign'>\r
+                    <block atomic='true'>\r
+                        <block>\r
+                            <set>\r
+                                <parameter name='nidx' value='0' />\r
+                            </set>\r
+                            <for silentFailure='true' index="bidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`" >\r
+                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='startsWith' emitsOutcome='true' >\r
+                                    <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`" />\r
+                                    <parameter name="target" value="sriov"/>\r
+                                    <outcome value='true'>\r
+                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='endsWith' emitsOutcome='true' >\r
+                                            <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`" />\r
+                                            <parameter name="target" value="_net_id"/>\r
+                                            <outcome value='true'>\r
+                                                <block>\r
+                                                    <set>\r
+                                                        <parameter name='ss.network[$nidx].netid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    </set>\r
+                                                    <set>\r
+                                                        <parameter name='nidx' value='`$nidx + 1`' />\r
+                                                    </set>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </execute>\r
+                                    </outcome>\r
+                                    <outcome value='false'>\r
+                                        <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`'>\r
+                                            <outcome value='vf_module_id'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vf-module-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vf_module_name'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vf-module-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='volume_group_id'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.volume-group-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='volume-group-name'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.volume-group-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='aic-cloud-region'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.aic-cloud-region' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vnfc-name'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vnfc-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.vnfc-name-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='oam-interface-name'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.oam-interface-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.oam-interface-name-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='=รข\80\9dlo0-interface-name'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.lo0-interface-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.lo0-interface-name-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='ipv4-oam-address'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.ipv4-oam-address' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.ipv4-oam-address-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='ipv4-oam-address-prefix'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.ipv4-oam-address-prefix' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.ipv4-oam-address-prefix-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='loopback0_ipv4_address'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.loopback0-ipv4-address' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.loopback0-ipv4-address-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='aai-vf-module-put'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='nfc-naming-code'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.nfc-naming-code' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.nfc-naming-code-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='nfc-function'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.nfc-function' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.nfc-function-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vnfc-model-customization-uuid'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vnfc-model-customization-uuid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.vnfc-model-customization-uuid-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vnfc-model-invariant-uuid'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vnfc-model-invariant-uuid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.vnfc-model-invariant-uuid-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vnfc-model-version'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vnfc-model-version' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.vnfc-model-version-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='ipv4-loopback0-address'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.ipv4-loopback0-address' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.ipv4-loopback0-address-index' value='`bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='as-number'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.as-number' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.as-number-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vlan-id-outer'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vlan-id-outer' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.vlan-id-outer-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </switch>\r
+                                    </outcome>\r
+                                </execute>\r
+                            </for>\r
+                            <set>\r
+                                <parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />\r
+                            </set>\r
+                        </block>\r
+                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id "\r
+       pfx="tmp.aai.vnf" >\r
+                            <outcome value='failure'>\r
+                                <block atomic='true'>\r
+                                    <set>\r
+                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                    </set>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`'Encountered error to get generic-vnf with vnf-id=' + $ss.param.vnf-id + ' from AnAI'`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <block atomic='true'>\r
+                                    <set>\r
+                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                    </set>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`'generic-vnf.vnf-name with vnf-id=' + $ss.param.vnf-id + ' not found in AAI'`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                        </get-resource>\r
+                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                            <parameter name="ipv4-loopback0-address" value='`$ss.param.ipv4-loopback0-address`' />\r
+                            <parameter name="ipv4-oam-address" value='`$ss.param.ipv4-oam-address`' />\r
+                            <parameter name="as-number" value='`$ss.param.as-number`' />\r
+                            <parameter name="vlan-id-outer" value='`$ss.param.vlan-id-outer`' />\r
+                            <outcome value='failure'>\r
+                                <block atomic='true'>\r
+                                    <set>\r
+                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                    </set>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name in AnAI with vnf-name=' + $ss.param.vnf-name`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <block atomic='true'>\r
+                                    <set>\r
+                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vnf-topology.vnf-parameters-data.param[$ss.param.aai-vnf-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                    </set>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`'Failed to update generic-vnf.vnf-name because generic-vnf with vnf-id =' + $ss.param.vnf-id + ' is not found in AAI'`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                        </update>\r
+                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id "\r
+       pfx="tmp.aai.vfmdoule" >\r
+                            <outcome value='failure'>\r
+                                <block atomic='true'>\r
+                                    <block atomic='true'>\r
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                            <parameter name="logger" value="message-log"/>\r
+                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                        </record>\r
+                                        <set>\r
+                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                        </set>\r
+                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                            <outcome value='failure'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='success'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </update>\r
+                                    </block>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`'Failed to get vf-module in AnAI with vf-module-id = ' + $ss.param.vf-module-id + $error-message`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <block atomic='true'>\r
+                                    <block atomic='true'>\r
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                            <parameter name="logger" value="message-log"/>\r
+                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                        </record>\r
+                                        <set>\r
+                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                        </set>\r
+                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                            <outcome value='failure'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='success'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </update>\r
+                                    </block>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`'vf-module not found in AnAI with vf-module-id=' + $ss.param.vf-module-id + $error-message`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                        </get-resource>\r
+                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                            <parameter name="vf-module-name" value='`$ss.param.vf-module-name`' />\r
+                            <outcome value='failure'>\r
+                                <block atomic='true'>\r
+                                    <block atomic='true'>\r
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                            <parameter name="logger" value="message-log"/>\r
+                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                        </record>\r
+                                        <set>\r
+                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                        </set>\r
+                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                            <outcome value='failure'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='success'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </update>\r
+                                    </block>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`'Failed to update vf-module-name with vf-module-id = ' + $ss.param.vf-module-id + ' in AnAI; ' + $error-message`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <block atomic='true'>\r
+                                    <block atomic='true'>\r
+                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                            <parameter name="logger" value="message-log"/>\r
+                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                        </record>\r
+                                        <set>\r
+                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                        </set>\r
+                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                            <outcome value='failure'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='success'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </update>\r
+                                    </block>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`'Failed to update vf-module-name with vf-module-id =' + $ss.param.vf-module-id + ' because vf-module is not found in AAI' + $error-message`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                        </update>\r
+                        <get-resource plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" \r
+       pfx="tmp.aai.volume-group" >\r
+                            <outcome value='failure'>\r
+                                <block atomic='true'>\r
+                                    <block>\r
+                                        <block atomic='true'>\r
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                <parameter name="logger" value="message-log"/>\r
+                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                            </record>\r
+                                            <set>\r
+                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                            </set>\r
+                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                <outcome value='failure'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </update>\r
+                                        </block>\r
+                                        <block atomic='true'>\r
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                <parameter name="logger" value="message-log"/>\r
+                                                <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                            </record>\r
+                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                <outcome value='failure'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </update>\r
+                                        </block>\r
+                                    </block>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`'Failed to get volume-group in AnAI with volume-group-id = ' + $ss.param.volume-group-id + $error-message`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <block atomic='true'>\r
+                                    <block>\r
+                                        <block atomic='true'>\r
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                <parameter name="logger" value="message-log"/>\r
+                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                            </record>\r
+                                            <set>\r
+                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                            </set>\r
+                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                <outcome value='failure'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </update>\r
+                                        </block>\r
+                                        <block atomic='true'>\r
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                <parameter name="logger" value="message-log"/>\r
+                                                <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                            </record>\r
+                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                <outcome value='failure'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </update>\r
+                                        </block>\r
+                                    </block>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`'volume-group not found in AnAI with volume-group-id=' + $ss.param.volume-group-id + $error-message`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                        </get-resource>\r
+                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                            <parameter name="volume-group-name" value='`$ss.param.volume-group-name`' />\r
+                            <parameter name="volume-group-id" value='`$ss.param.volume-group-id`' />\r
+                            <outcome value='failure'>\r
+                                <block atomic='true'>\r
+                                    <block>\r
+                                        <block atomic='true'>\r
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                <parameter name="logger" value="message-log"/>\r
+                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                            </record>\r
+                                            <set>\r
+                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                            </set>\r
+                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                <outcome value='failure'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </update>\r
+                                        </block>\r
+                                        <block atomic='true'>\r
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                <parameter name="logger" value="message-log"/>\r
+                                                <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                            </record>\r
+                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                <outcome value='failure'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </update>\r
+                                        </block>\r
+                                    </block>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`' Failed to update volume-group with volume-group-id =' + $ss.param.volume-group-id + ' and volume-group-name = ' + $ss.param.volume-group-name + ' in AnAI.' + $error-message`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <block atomic='true'>\r
+                                    <block>\r
+                                        <block atomic='true'>\r
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                <parameter name="logger" value="message-log"/>\r
+                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                            </record>\r
+                                            <set>\r
+                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                            </set>\r
+                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                <outcome value='failure'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </update>\r
+                                        </block>\r
+                                        <block atomic='true'>\r
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                <parameter name="logger" value="message-log"/>\r
+                                                <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                            </record>\r
+                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                <outcome value='failure'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </update>\r
+                                        </block>\r
+                                    </block>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`' Failed to update volume-group with volume-group-id =' + $ss.param.volume-group-id + ' and volume-group-name = ' + $ss.param.volume-group-name + ' in AnAI.' + $error-message`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                        </update>\r
+                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                            <parameter name="nfc-naming-code" value='`$ss.param.nfc-naming-code`' />\r
+                            <parameter name="nfc-function" value='`$ss.param.nfc-function`' />\r
+                            <parameter name="model-customization-id" value='`$ss.param.vnfc-model-customization-uuid`' />\r
+                            <parameter name="model-invariant-id" value='`$ss.param.vnfc-model-invariant-uuid`' />\r
+                            <parameter name="model-version-id" value='`$ss.param.vnfc-model-version`' />\r
+                            <outcome value='failure'>\r
+                                <block atomic='true'>\r
+                                    <block>\r
+                                        <block>\r
+                                            <block atomic='true'>\r
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                    <parameter name="logger" value="message-log"/>\r
+                                                    <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                </record>\r
+                                                <set>\r
+                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                </set>\r
+                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                    <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                    <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                    <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                    <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                    <outcome value='failure'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='not-found'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='success'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                </update>\r
+                                            </block>\r
+                                            <block atomic='true'>\r
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                    <parameter name="logger" value="message-log"/>\r
+                                                    <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                </record>\r
+                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                    <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                    <outcome value='failure'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='not-found'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='success'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                </update>\r
+                                            </block>\r
+                                        </block>\r
+                                        <block atomic='true'>\r
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                <parameter name="logger" value="message-log"/>\r
+                                                <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                            </record>\r
+                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                <outcome value='failure'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </update>\r
+                                        </block>\r
+                                    </block>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`' Failed to create vnfc with vnfc-name =' + $ss.param.vnfc-name + ' in AnAI.' + $error-message`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                            <outcome value='not-found'>\r
+                                <block atomic='true'>\r
+                                    <block>\r
+                                        <block>\r
+                                            <block atomic='true'>\r
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                    <parameter name="logger" value="message-log"/>\r
+                                                    <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                </record>\r
+                                                <set>\r
+                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                </set>\r
+                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                    <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                    <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                    <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                    <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                    <outcome value='failure'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='not-found'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='success'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                </update>\r
+                                            </block>\r
+                                            <block atomic='true'>\r
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                    <parameter name="logger" value="message-log"/>\r
+                                                    <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                </record>\r
+                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                    <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                    <outcome value='failure'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='not-found'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='success'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                </update>\r
+                                            </block>\r
+                                        </block>\r
+                                        <block atomic='true'>\r
+                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                <parameter name="logger" value="message-log"/>\r
+                                                <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                            </record>\r
+                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                <outcome value='failure'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='not-found'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                                <outcome value='success'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                    </set>\r
+                                                </outcome>\r
+                                            </update>\r
+                                        </block>\r
+                                    </block>\r
+                                    <return status='failure'>\r
+                                        <parameter name='error-code' value='500' />\r
+                                        <parameter name='error-message' value="`' Failed to create vnfc with vnfc-name =' + $ss.param.vnfc-name + ' in AnAI.' + $error-message`" />\r
+                                    </return>\r
+                                </block>\r
+                            </outcome>\r
+                        </save>\r
+                        <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="cp"\r
+               key="cp.cp-instance-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id \r
+               AND vnfc.vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                <parameter name="cp-instance-id" \r
+       value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id`' />\r
+                                <outcome value='failure'>\r
+                                    <block atomic='true'>\r
+                                        <block>\r
+                                            <block>\r
+                                                <block>\r
+                                                    <block atomic='true'>\r
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                            <parameter name="logger" value="message-log"/>\r
+                                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                        </record>\r
+                                                        <set>\r
+                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                        </set>\r
+                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                            <outcome value='failure'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='not-found'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='success'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </update>\r
+                                                    </block>\r
+                                                    <block atomic='true'>\r
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                            <parameter name="logger" value="message-log"/>\r
+                                                            <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                        </record>\r
+                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                            <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                            <outcome value='failure'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='not-found'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='success'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </update>\r
+                                                    </block>\r
+                                                </block>\r
+                                                <block atomic='true'>\r
+                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                        <parameter name="logger" value="message-log"/>\r
+                                                        <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                    </record>\r
+                                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                        <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                        <outcome value='failure'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                        <outcome value='not-found'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                        <outcome value='success'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                    </update>\r
+                                                </block>\r
+                                            </block>\r
+                                            <block atomic='true'>\r
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                    <parameter name="logger" value="message-log"/>\r
+                                                    <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                </record>\r
+                                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                    <outcome value='failure'>\r
+                                                        <block atomic='true'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                            </set>\r
+                                                            <switch test='`$tmp.return-failure`'>\r
+                                                                <outcome value='true'>\r
+                                                                    <block atomic='true'>\r
+                                                                        <set>\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                        </set>\r
+                                                                        <return status='failure'>\r
+                                                                            <parameter name='error-code' value='500' />\r
+                                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                                        </return>\r
+                                                                    </block>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                    <outcome value='not-found'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='success'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                </delete>\r
+                                            </block>\r
+                                        </block>\r
+                                        <return status='failure'>\r
+                                            <parameter name='error-code' value='500' />\r
+                                            <parameter name='error-message' value="`' Failed to create connection-point with cp-instance-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id + ' in AnAI.' + $error-message`" />\r
+                                        </return>\r
+                                    </block>\r
+                                </outcome>\r
+                                <outcome value='not-found'>\r
+                                    <block atomic='true'>\r
+                                        <block>\r
+                                            <block>\r
+                                                <block>\r
+                                                    <block atomic='true'>\r
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                            <parameter name="logger" value="message-log"/>\r
+                                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                        </record>\r
+                                                        <set>\r
+                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                        </set>\r
+                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                            <outcome value='failure'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='not-found'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='success'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </update>\r
+                                                    </block>\r
+                                                    <block atomic='true'>\r
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                            <parameter name="logger" value="message-log"/>\r
+                                                            <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                        </record>\r
+                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                            <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                            <outcome value='failure'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='not-found'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='success'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </update>\r
+                                                    </block>\r
+                                                </block>\r
+                                                <block atomic='true'>\r
+                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                        <parameter name="logger" value="message-log"/>\r
+                                                        <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                    </record>\r
+                                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                        <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                        <outcome value='failure'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                        <outcome value='not-found'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                        <outcome value='success'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                    </update>\r
+                                                </block>\r
+                                            </block>\r
+                                            <block atomic='true'>\r
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                    <parameter name="logger" value="message-log"/>\r
+                                                    <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                </record>\r
+                                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                    <outcome value='failure'>\r
+                                                        <block atomic='true'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                            </set>\r
+                                                            <switch test='`$tmp.return-failure`'>\r
+                                                                <outcome value='true'>\r
+                                                                    <block atomic='true'>\r
+                                                                        <set>\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                        </set>\r
+                                                                        <return status='failure'>\r
+                                                                            <parameter name='error-code' value='500' />\r
+                                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                                        </return>\r
+                                                                    </block>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                    <outcome value='not-found'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                    <outcome value='success'>\r
+                                                        <set>\r
+                                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                        </set>\r
+                                                    </outcome>\r
+                                                </delete>\r
+                                            </block>\r
+                                        </block>\r
+                                        <return status='failure'>\r
+                                            <parameter name='error-code' value='500' />\r
+                                            <parameter name='error-message' value="`' Failed to create connection-point with cp-instance-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id + ' in AnAI.' + $error-message`" />\r
+                                        </return>\r
+                                    </block>\r
+                                </outcome>\r
+                                <outcome value='success'>\r
+                                    <for silentFailure='true' index='j' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                            <parameter name="vlan-tag-id" \r
+       value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid`' />\r
+                                            <parameter name="vlan-tag-role" \r
+       value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-tag-description`' />\r
+                                            <parameter name="vlan-id-outer" \r
+       value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-tag-id`' />\r
+                                            <outcome value='failure'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                        </record>\r
+                                                                        <set>\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                        </set>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                        </record>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                            <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                    </record>\r
+                                                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                        <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                        <outcome value='failure'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </update>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                </record>\r
+                                                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                    <outcome value='failure'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                            <switch test='`$tmp.return-failure`'>\r
+                                                                                <outcome value='true'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                        </set>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='500' />\r
+                                                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                                                        </return>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='success'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </delete>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                            </record>\r
+                                                            <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </for>\r
+                                                            </for>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <parameter name='error-message' value="`' Failed to create vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />\r
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                        </record>\r
+                                                                        <set>\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                        </set>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                        </record>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                            <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                    </record>\r
+                                                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                        <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                        <outcome value='failure'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </update>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                </record>\r
+                                                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                    <outcome value='failure'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                            <switch test='`$tmp.return-failure`'>\r
+                                                                                <outcome value='true'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                        </set>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='500' />\r
+                                                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                                                        </return>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='success'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </delete>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                            </record>\r
+                                                            <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </for>\r
+                                                            </for>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <parameter name='error-message' value="`' Failed to create vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />\r
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                            <outcome value='success'>\r
+                                                <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag:relationship-list"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                    <parameter name="relationship-list.relationship[0].related-to" value="cp" />\r
+                                                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cp.cp-instance-id" />\r
+                                                    <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.connection-point-id`" />\r
+                                                    <outcome value='failure'>\r
+                                                        <block atomic='true'>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <block atomic='true'>\r
+                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                                    <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                                </record>\r
+                                                                                <set>\r
+                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                </set>\r
+                                                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                                    <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                    <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                    <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                    <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='not-found'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='success'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                            <block atomic='true'>\r
+                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                                    <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                                </record>\r
+                                                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                                    <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='not-found'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='success'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                        </block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                            </record>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                                <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                        </record>\r
+                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$tmp.return-failure`'>\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                </set>\r
+                                                                                                <return status='failure'>\r
+                                                                                                    <parameter name='error-code' value='500' />\r
+                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                </return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </delete>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                                    </record>\r
+                                                                    <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                        <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                        <switch test='`$tmp.return-failure`'>\r
+                                                                                            <outcome value='true'>\r
+                                                                                                <block atomic='true'>\r
+                                                                                                    <set>\r
+                                                                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                    </set>\r
+                                                                                                    <return status='failure'>\r
+                                                                                                        <parameter name='error-code' value='500' />\r
+                                                                                                        <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                    </return>\r
+                                                                                                </block>\r
+                                                                                            </outcome>\r
+                                                                                        </switch>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </delete>\r
+                                                                        </for>\r
+                                                                    </for>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='error-code' value='500' />\r
+                                                                <parameter name='error-message' value="`' Failed to create cp relationship for vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />\r
+                                                            </return>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                    <outcome value='not-found'>\r
+                                                        <block atomic='true'>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <block atomic='true'>\r
+                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                                    <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                                </record>\r
+                                                                                <set>\r
+                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                </set>\r
+                                                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                                    <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                    <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                    <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                    <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='not-found'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='success'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                            <block atomic='true'>\r
+                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                                    <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                                </record>\r
+                                                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                                    <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='not-found'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='success'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                        </block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                            </record>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                                <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                        </record>\r
+                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$tmp.return-failure`'>\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                </set>\r
+                                                                                                <return status='failure'>\r
+                                                                                                    <parameter name='error-code' value='500' />\r
+                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                </return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </delete>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                                    </record>\r
+                                                                    <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                        <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                        <switch test='`$tmp.return-failure`'>\r
+                                                                                            <outcome value='true'>\r
+                                                                                                <block atomic='true'>\r
+                                                                                                    <set>\r
+                                                                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                    </set>\r
+                                                                                                    <return status='failure'>\r
+                                                                                                        <parameter name='error-code' value='500' />\r
+                                                                                                        <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                    </return>\r
+                                                                                                </block>\r
+                                                                                            </outcome>\r
+                                                                                        </switch>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </delete>\r
+                                                                        </for>\r
+                                                                    </for>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='error-code' value='500' />\r
+                                                                <parameter name='error-message' value="`' Failed to create cp relationship for vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' in AnAI.' + $error-message`" />\r
+                                                            </return>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                </save>\r
+                                            </outcome>\r
+                                        </save>\r
+                                    </for>\r
+                                </outcome>\r
+                            </save>\r
+                        </for>\r
+                        <block atomic='true'>\r
+                            <switch test="`$ss.param.oam-interface-name != ''`">\r
+                                <outcome value='true'>\r
+                                    <block atomic='true'>\r
+                                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.oam-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                            <parameter name="interface-name" value='`$ss.param.oam-interface-name`' />\r
+                                            <parameter name="interface-role" value='OAM' />\r
+                                            <outcome value='failure'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                        </record>\r
+                                                                        <set>\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                        </set>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                        </record>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                            <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                    </record>\r
+                                                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                        <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                        <outcome value='failure'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </update>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                </record>\r
+                                                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                    <outcome value='failure'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                            <switch test='`$tmp.return-failure`'>\r
+                                                                                <outcome value='true'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                        </set>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='500' />\r
+                                                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                                                        </return>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='success'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </delete>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                            </record>\r
+                                                            <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </for>\r
+                                                            </for>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.oam-interface-name + ' in AnAI.' + $error-message`" />\r
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                        </record>\r
+                                                                        <set>\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                        </set>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                        </record>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                            <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                    </record>\r
+                                                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                        <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                        <outcome value='failure'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </update>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                </record>\r
+                                                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                    <outcome value='failure'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                            <switch test='`$tmp.return-failure`'>\r
+                                                                                <outcome value='true'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                        </set>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='500' />\r
+                                                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                                                        </return>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='success'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </delete>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                            </record>\r
+                                                            <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </for>\r
+                                                            </for>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.oam-interface-name + ' in AnAI.' + $error-message`" />\r
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </save>\r
+                                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l3-interface-ipv4-address-list"\r
+               key="l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address \r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id \r
+               AND l-interface.interface-name = $ss.param.oam-interface-name" >\r
+                                            <parameter name="l3-interface-ipv4-address" value='`$ss.param.ipv4-oam-address`' />\r
+                                            <parameter name="l3-interface-ipv4-prefix-length" value='`$ss.param.ipv4-oam-address-prefix`' />\r
+                                            <outcome value='failure'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                            </record>\r
+                                                                            <set>\r
+                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                            </set>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                                <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                            </record>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                        </record>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                            <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                    </record>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                                </record>\r
+                                                                <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                    <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$tmp.return-failure`'>\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                </set>\r
+                                                                                                <return status='failure'>\r
+                                                                                                    <parameter name='error-code' value='500' />\r
+                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                </return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </delete>\r
+                                                                    </for>\r
+                                                                </for>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                            </record>\r
+                                                            <switch test="`$ss.param.oam-interface-name != ''`">\r
+                                                                <outcome value='true'>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.oam-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address + ' in AnAI.' + $error-message`" />\r
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                            </record>\r
+                                                                            <set>\r
+                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                            </set>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                                <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                            </record>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                        </record>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                            <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                    </record>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                                </record>\r
+                                                                <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                    <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$tmp.return-failure`'>\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                </set>\r
+                                                                                                <return status='failure'>\r
+                                                                                                    <parameter name='error-code' value='500' />\r
+                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                </return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </delete>\r
+                                                                    </for>\r
+                                                                </for>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                            </record>\r
+                                                            <switch test="`$ss.param.oam-interface-name != ''`">\r
+                                                                <outcome value='true'>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.oam-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.ipv4-oam-address + ' in AnAI.' + $error-message`" />\r
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </save>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                            <switch test="`$ss.param.lo0-interface-name != ''`">\r
+                                <outcome value='true'>\r
+                                    <block atomic='true'>\r
+                                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.lo0-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                            <parameter name="interface-name" value='`$ss.param.lo0-interface-name`' />\r
+                                            <parameter name="interface-role" value='loopback' />\r
+                                            <outcome value='failure'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                            </record>\r
+                                                                            <set>\r
+                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                            </set>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                                <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                            </record>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                        </record>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                            <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                    </record>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                                </record>\r
+                                                                <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                    <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$tmp.return-failure`'>\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                </set>\r
+                                                                                                <return status='failure'>\r
+                                                                                                    <parameter name='error-code' value='500' />\r
+                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                </return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </delete>\r
+                                                                    </for>\r
+                                                                </for>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                            </record>\r
+                                                            <switch test="`$ss.param.oam-interface-name != ''`">\r
+                                                                <outcome value='true'>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.oam-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' in AnAI.' + $error-message`" />\r
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                            </record>\r
+                                                                            <set>\r
+                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                            </set>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                                <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                            </record>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                        </record>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                            <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                    </record>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                                </record>\r
+                                                                <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                    <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$tmp.return-failure`'>\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                </set>\r
+                                                                                                <return status='failure'>\r
+                                                                                                    <parameter name='error-code' value='500' />\r
+                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                </return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </delete>\r
+                                                                    </for>\r
+                                                                </for>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                            </record>\r
+                                                            <switch test="`$ss.param.oam-interface-name != ''`">\r
+                                                                <outcome value='true'>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.oam-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <parameter name='error-message' value="`' Failed to create l-interface with interface-name = ' + $ss.param.lo0-interface-name + ' in AnAI.' + $error-message`" />\r
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </save>\r
+                                        <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l3-interface-ipv4-address-list"\r
+               key="l3-interface-ipv4-address-list.l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address \r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id \r
+               AND l-interface.interface-name = $ss.param.lo0-interface-name" >\r
+                                            <parameter name="l3-interface-ipv4-address" value='`$ss.param.loopback0-ipv4-address`' />\r
+                                            <parameter name="l3-interface-ipv4-prefix-length" value='32' />\r
+                                            <outcome value='failure'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <block atomic='true'>\r
+                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                                    <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                                </record>\r
+                                                                                <set>\r
+                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                </set>\r
+                                                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                                    <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                    <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                    <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                    <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='not-found'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='success'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                            <block atomic='true'>\r
+                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                                    <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                                </record>\r
+                                                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                                    <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='not-found'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='success'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                        </block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                            </record>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                                <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                        </record>\r
+                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$tmp.return-failure`'>\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                </set>\r
+                                                                                                <return status='failure'>\r
+                                                                                                    <parameter name='error-code' value='500' />\r
+                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                </return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </delete>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                                    </record>\r
+                                                                    <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                        <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                        <switch test='`$tmp.return-failure`'>\r
+                                                                                            <outcome value='true'>\r
+                                                                                                <block atomic='true'>\r
+                                                                                                    <set>\r
+                                                                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                    </set>\r
+                                                                                                    <return status='failure'>\r
+                                                                                                        <parameter name='error-code' value='500' />\r
+                                                                                                        <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                    </return>\r
+                                                                                                </block>\r
+                                                                                            </outcome>\r
+                                                                                        </switch>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </delete>\r
+                                                                        </for>\r
+                                                                    </for>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                                </record>\r
+                                                                <switch test="`$ss.param.oam-interface-name != ''`">\r
+                                                                    <outcome value='true'>\r
+                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.oam-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$tmp.return-failure`'>\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                </set>\r
+                                                                                                <return status='failure'>\r
+                                                                                                    <parameter name='error-code' value='500' />\r
+                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                </return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </delete>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                            </record>\r
+                                                            <switch test="`$ss.param.lo0-interface-name != ''`">\r
+                                                                <outcome value='true'>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.lo0-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list with l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address + ' in AnAI.' + $error-message`" />\r
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <block atomic='true'>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <block atomic='true'>\r
+                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                                    <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                                </record>\r
+                                                                                <set>\r
+                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                </set>\r
+                                                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                                    <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                    <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                    <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                    <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='not-found'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='success'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                            <block atomic='true'>\r
+                                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                                    <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                                </record>\r
+                                                                                <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                                    <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='not-found'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                    <outcome value='success'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                        </block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                                <parameter name="logger" value="message-log"/>\r
+                                                                                <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                            </record>\r
+                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                                <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                        </record>\r
+                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$tmp.return-failure`'>\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                </set>\r
+                                                                                                <return status='failure'>\r
+                                                                                                    <parameter name='error-code' value='500' />\r
+                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                </return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </delete>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                                    </record>\r
+                                                                    <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                        <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                                <outcome value='failure'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                        </set>\r
+                                                                                        <switch test='`$tmp.return-failure`'>\r
+                                                                                            <outcome value='true'>\r
+                                                                                                <block atomic='true'>\r
+                                                                                                    <set>\r
+                                                                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                    </set>\r
+                                                                                                    <return status='failure'>\r
+                                                                                                        <parameter name='error-code' value='500' />\r
+                                                                                                        <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                    </return>\r
+                                                                                                </block>\r
+                                                                                            </outcome>\r
+                                                                                        </switch>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='not-found'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                                <outcome value='success'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </delete>\r
+                                                                        </for>\r
+                                                                    </for>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                                </record>\r
+                                                                <switch test="`$ss.param.oam-interface-name != ''`">\r
+                                                                    <outcome value='true'>\r
+                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.oam-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                            <outcome value='failure'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                    </set>\r
+                                                                                    <switch test='`$tmp.return-failure`'>\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block atomic='true'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                                </set>\r
+                                                                                                <return status='failure'>\r
+                                                                                                    <parameter name='error-code' value='500' />\r
+                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                                                </return>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </delete>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                            </record>\r
+                                                            <switch test="`$ss.param.lo0-interface-name != ''`">\r
+                                                                <outcome value='true'>\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.lo0-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <return status='failure'>\r
+                                                        <parameter name='error-code' value='500' />\r
+                                                        <parameter name='error-message' value="`' Failed to create l3-interface-ipv4-address-list with l3-interface-ipv4-address = $ss.param.loopback0-ipv4-address + ' in AnAI.' + $error-message`" />\r
+                                                    </return>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </save>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                        </block>\r
+                        <for silentFailure='true' index='n' start='0' end='`$nidx`' >\r
+                            <save plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf:relationship-list"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                <parameter name="relationship-list.relationship[0].related-to" value="l3-network" />\r
+                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" />\r
+                                <parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$ss.network[$n].netid`" />\r
+                                <outcome value='failure'>\r
+                                    <block atomic='true'>\r
+                                        <block>\r
+                                            <block>\r
+                                                <block>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                        </record>\r
+                                                                        <set>\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                        </set>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                        </record>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                            <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                    </record>\r
+                                                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                        <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                        <outcome value='failure'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </update>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                </record>\r
+                                                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                    <outcome value='failure'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                            <switch test='`$tmp.return-failure`'>\r
+                                                                                <outcome value='true'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                        </set>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='500' />\r
+                                                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                                                        </return>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='success'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </delete>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                            </record>\r
+                                                            <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </for>\r
+                                                            </for>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <block atomic='true'>\r
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                            <parameter name="logger" value="message-log"/>\r
+                                                            <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                        </record>\r
+                                                        <switch test="`$ss.param.oam-interface-name != ''`">\r
+                                                            <outcome value='true'>\r
+                                                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.oam-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                    <outcome value='failure'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                            <switch test='`$tmp.return-failure`'>\r
+                                                                                <outcome value='true'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                        </set>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='500' />\r
+                                                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                                                        </return>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='success'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </delete>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                </block>\r
+                                                <block atomic='true'>\r
+                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                        <parameter name="logger" value="message-log"/>\r
+                                                        <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                    </record>\r
+                                                    <switch test="`$ss.param.lo0-interface-name != ''`">\r
+                                                        <outcome value='true'>\r
+                                                            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.lo0-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                <outcome value='failure'>\r
+                                                                    <block atomic='true'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                        </set>\r
+                                                                        <switch test='`$tmp.return-failure`'>\r
+                                                                            <outcome value='true'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                    </set>\r
+                                                                                    <return status='failure'>\r
+                                                                                        <parameter name='error-code' value='500' />\r
+                                                                                        <parameter name='error-message' value='`$error-message`' />\r
+                                                                                    </return>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </block>\r
+                                                                </outcome>\r
+                                                                <outcome value='not-found'>\r
+                                                                    <set>\r
+                                                                        <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                                <outcome value='success'>\r
+                                                                    <set>\r
+                                                                        <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + '  completed.'`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                            </delete>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </block>\r
+                                            </block>\r
+                                            <block atomic='true'>\r
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                    <parameter name="logger" value="message-log"/>\r
+                                                    <parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>\r
+                                                </record>\r
+                                                <for silentFailure='true' index='n' start='0' end='`$nidx`' >\r
+                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+       resource="generic-vnf:relationship-list" \r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+               AND related-to = l3-network \r
+               AND l3-network.network-id = $ss.network[$n].netid" >\r
+                                                        <outcome value='failure'>\r
+                                                            <block atomic='true'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete VNF l3-network relationship for generic-vnf.vnfid = ' + $ss.param.vnf-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                </set>\r
+                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                    <outcome value='true'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <set>\r
+                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                            </set>\r
+                                                                            <return status='failure'>\r
+                                                                                <parameter name='error-code' value='500' />\r
+                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                            </return>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                        <outcome value='not-found'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' generic-vnf.vnfid = ' + $ss.param.vnf-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                        <outcome value='success'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                    </delete>\r
+                                                </for>\r
+                                            </block>\r
+                                        </block>\r
+                                        <return status='failure'>\r
+                                            <parameter name='error-code' value='500' />\r
+                                            <parameter name='error-message' value="`' Failed to create generic-vnf releationship for l3-network with network-id =' + $ss.network[$n].netid + ' in AnAI.' + $error-message`" />\r
+                                        </return>\r
+                                    </block>\r
+                                </outcome>\r
+                                <outcome value='not-found'>\r
+                                    <block atomic='true'>\r
+                                        <block>\r
+                                            <block>\r
+                                                <block>\r
+                                                    <block>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK generic-vnf update"/>\r
+                                                                        </record>\r
+                                                                        <set>\r
+                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                        </set>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="generic-vnf"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id " >\r
+                                                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                            <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                            <parameter name="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`' Failed to rollback generic-vnf update because generic-vnf with vnf-id=' + $ss.param.vnf-id + ' is not found in AAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                    <block atomic='true'>\r
+                                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                            <parameter name="logger" value="message-log"/>\r
+                                                                            <parameter name="field1" value="ROLLBACK vf-module update"/>\r
+                                                                        </record>\r
+                                                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vf-module"\r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+                       AND vf-module.vf-module-id = $ss.param.vf-module-id " >\r
+                                                                            <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                            <outcome value='failure'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' in AnAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='not-found'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback vf-module update with vf-module-id=' + $ss.param.vf-module-id + ' because vf-module not found in AAI. MANUAL ROLLBACK IS REQUIRED!'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                            <outcome value='success'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                </set>\r
+                                                                            </outcome>\r
+                                                                        </update>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <block atomic='true'>\r
+                                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                        <parameter name="logger" value="message-log"/>\r
+                                                                        <parameter name="field1" value="ROLLBACK volume-group update"/>\r
+                                                                    </record>\r
+                                                                    <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="volume-group"\r
+               key="cloud-region.cloud-owner = $prop.cloud-owner  \r
+                       AND cloud-region.cloud-region-id = $ss.param.aic-cloud-region \r
+                       AND cloud-region.cloud-owner = $prop.cloud-region.cloud-owner \r
+                       AND volume-group-id = $ss.param.volume-group-id" >\r
+                                                                        <parameter name="volume-group-name" value='`$tmp.aai.volume-group.volume-group-name`' />\r
+                                                                        <outcome value='failure'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </update>\r
+                                                                </block>\r
+                                                            </block>\r
+                                                            <block atomic='true'>\r
+                                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                    <parameter name="logger" value="message-log"/>\r
+                                                                    <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                                                </record>\r
+                                                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                                                    <outcome value='failure'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                            <switch test='`$tmp.return-failure`'>\r
+                                                                                <outcome value='true'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                        </set>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='500' />\r
+                                                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                                                        </return>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='success'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </delete>\r
+                                                            </block>\r
+                                                        </block>\r
+                                                        <block atomic='true'>\r
+                                                            <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                                <parameter name="logger" value="message-log"/>\r
+                                                                <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                                            </record>\r
+                                                            <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                                                <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                                                        <outcome value='failure'>\r
+                                                                            <block atomic='true'>\r
+                                                                                <set>\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                </set>\r
+                                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                                    <outcome value='true'>\r
+                                                                                        <block atomic='true'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                            </set>\r
+                                                                                            <return status='failure'>\r
+                                                                                                <parameter name='error-code' value='500' />\r
+                                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                                            </return>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='not-found'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                        <outcome value='success'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </delete>\r
+                                                                </for>\r
+                                                            </for>\r
+                                                        </block>\r
+                                                    </block>\r
+                                                    <block atomic='true'>\r
+                                                        <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                            <parameter name="logger" value="message-log"/>\r
+                                                            <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                        </record>\r
+                                                        <switch test="`$ss.param.oam-interface-name != ''`">\r
+                                                            <outcome value='true'>\r
+                                                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.oam-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                    <outcome value='failure'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <set>\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                            </set>\r
+                                                                            <switch test='`$tmp.return-failure`'>\r
+                                                                                <outcome value='true'>\r
+                                                                                    <block atomic='true'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                        </set>\r
+                                                                                        <return status='failure'>\r
+                                                                                            <parameter name='error-code' value='500' />\r
+                                                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                                                        </return>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='not-found'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                    <outcome value='success'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </delete>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                </block>\r
+                                                <block atomic='true'>\r
+                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                        <parameter name="logger" value="message-log"/>\r
+                                                        <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                                    </record>\r
+                                                    <switch test="`$ss.param.lo0-interface-name != ''`">\r
+                                                        <outcome value='true'>\r
+                                                            <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.lo0-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                                                <outcome value='failure'>\r
+                                                                    <block atomic='true'>\r
+                                                                        <set>\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                        </set>\r
+                                                                        <switch test='`$tmp.return-failure`'>\r
+                                                                            <outcome value='true'>\r
+                                                                                <block atomic='true'>\r
+                                                                                    <set>\r
+                                                                                        <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                                    </set>\r
+                                                                                    <return status='failure'>\r
+                                                                                        <parameter name='error-code' value='500' />\r
+                                                                                        <parameter name='error-message' value='`$error-message`' />\r
+                                                                                    </return>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </block>\r
+                                                                </outcome>\r
+                                                                <outcome value='not-found'>\r
+                                                                    <set>\r
+                                                                        <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                                <outcome value='success'>\r
+                                                                    <set>\r
+                                                                        <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + '  completed.'`" />\r
+                                                                    </set>\r
+                                                                </outcome>\r
+                                                            </delete>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </block>\r
+                                            </block>\r
+                                            <block atomic='true'>\r
+                                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                    <parameter name="logger" value="message-log"/>\r
+                                                    <parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>\r
+                                                </record>\r
+                                                <for silentFailure='true' index='n' start='0' end='`$nidx`' >\r
+                                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+       resource="generic-vnf:relationship-list" \r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+               AND related-to = l3-network \r
+               AND l3-network.network-id = $ss.network[$n].netid" >\r
+                                                        <outcome value='failure'>\r
+                                                            <block atomic='true'>\r
+                                                                <set>\r
+                                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete VNF l3-network relationship for generic-vnf.vnfid = ' + $ss.param.vnf-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                </set>\r
+                                                                <switch test='`$tmp.return-failure`'>\r
+                                                                    <outcome value='true'>\r
+                                                                        <block atomic='true'>\r
+                                                                            <set>\r
+                                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                            </set>\r
+                                                                            <return status='failure'>\r
+                                                                                <parameter name='error-code' value='500' />\r
+                                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                                            </return>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                        <outcome value='not-found'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' generic-vnf.vnfid = ' + $ss.param.vnf-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                        <outcome value='success'>\r
+                                                            <set>\r
+                                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                    </delete>\r
+                                                </for>\r
+                                            </block>\r
+                                        </block>\r
+                                        <return status='failure'>\r
+                                            <parameter name='error-code' value='500' />\r
+                                            <parameter name='error-message' value="`' Failed to create generic-vnf releationship for l3-network with network-id =' + $ss.network[$n].netid + ' in AnAI.' + $error-message`" />\r
+                                        </return>\r
+                                    </block>\r
+                                </outcome>\r
+                            </save>\r
+                        </for>\r
+                        <set>\r
+                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='SUCCESS' />\r
+                        </set>\r
+                    </block>\r
+                </outcome>\r
+                <outcome value='unassign'>\r
+                    <block atomic='true'>\r
+                        <block>\r
+                            <set>\r
+                                <parameter name='nidx' value='0' />\r
+                            </set>\r
+                            <for silentFailure='true' index="bidx" start="0" end="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param_length`" >\r
+                                <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='startsWith' emitsOutcome='true' >\r
+                                    <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`" />\r
+                                    <parameter name="target" value="sriov"/>\r
+                                    <outcome value='true'>\r
+                                        <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='endsWith' emitsOutcome='true' >\r
+                                            <parameter name="source" value="`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`" />\r
+                                            <parameter name="target" value="_net_id"/>\r
+                                            <outcome value='true'>\r
+                                                <block>\r
+                                                    <set>\r
+                                                        <parameter name='ss.network[$nidx].netid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    </set>\r
+                                                    <set>\r
+                                                        <parameter name='nidx' value='`$nidx + 1`' />\r
+                                                    </set>\r
+                                                </block>\r
+                                            </outcome>\r
+                                        </execute>\r
+                                    </outcome>\r
+                                    <outcome value='false'>\r
+                                        <switch test='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].name`'>\r
+                                            <outcome value='vf_module_id'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vf-module-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vf_module_name'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vf-module-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='volume_group_id'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.volume-group-id' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='volume-group-name'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.volume-group-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='aic-cloud-region'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.aic-cloud-region' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vnfc-name'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vnfc-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.vnfc-name-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='oam-interface-name'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.oam-interface-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.oam-interface-name-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='=รข\80\9dlo0-interface-name'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.lo0-interface-name' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.lo0-interface-name-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='ipv4-oam-address'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.ipv4-oam-address' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.ipv4-oam-address-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='ipv4-oam-address-prefix'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.ipv4-oam-address-prefix' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.ipv4-oam-address-prefix-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='loopback0_ipv4_address'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.loopback0-ipv4-address' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.loopback0-ipv4-address-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='aai-vf-module-put'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='nfc-naming-code'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.nfc-naming-code' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.nfc-naming-code-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='nfc-function'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.nfc-function' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.nfc-function-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vnfc-model-customization-uuid'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vnfc-model-customization-uuid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.vnfc-model-customization-uuid-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vnfc-model-invariant-uuid'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vnfc-model-invariant-uuid' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.vnfc-model-invariant-uuid-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vnfc-model-version'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vnfc-model-version' value='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.vnfc-model-version-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='ipv4-loopback0-address'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.ipv4-loopback0-address' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.ipv4-loopback0-address-index' value='`bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='as-number'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.as-number' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.as-number-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='vlan-id-outer'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.vlan-id-outer' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$bidx].value`' />\r
+                                                    <parameter name='ss.param.vlan-id-outer-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </switch>\r
+                                    </outcome>\r
+                                </execute>\r
+                            </for>\r
+                            <set>\r
+                                <parameter name='ss.param.vnf-id' value ='`$service-data.vnfs.vnf[$vnf-index].vnf-id`' />\r
+                            </set>\r
+                        </block>\r
+                        <set>\r
+                            <parameter name='tmp.return-failure' value ='true' />\r
+                        </set>\r
+                        <set>\r
+                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='DELETED' />\r
+                        </set>\r
+                        <block>\r
+                            <block atomic='true'>\r
+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                    <parameter name="logger" value="message-log"/>\r
+                                    <parameter name="field1" value="ROLLBACK vnfc save"/>\r
+                                </record>\r
+                                <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vnfc"\r
+               key="vnfc.vnfc-name = $ss.param.vnfc-name" >\r
+                                    <outcome value='failure'>\r
+                                        <block atomic='true'>\r
+                                            <set>\r
+                                                <parameter name='error-message' value="`$error-message + ' Failed to delete vnfc with vnfc-name=' + $ss.param.vnfc-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                            </set>\r
+                                            <switch test='`$tmp.return-failure`'>\r
+                                                <outcome value='true'>\r
+                                                    <block atomic='true'>\r
+                                                        <set>\r
+                                                            <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                        </set>\r
+                                                        <return status='failure'>\r
+                                                            <parameter name='error-code' value='500' />\r
+                                                            <parameter name='error-message' value='`$error-message`' />\r
+                                                        </return>\r
+                                                    </block>\r
+                                                </outcome>\r
+                                            </switch>\r
+                                        </block>\r
+                                    </outcome>\r
+                                    <outcome value='not-found'>\r
+                                        <set>\r
+                                            <parameter name='error-message' value="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                        </set>\r
+                                    </outcome>\r
+                                    <outcome value='success'>\r
+                                        <set>\r
+                                            <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                        </set>\r
+                                    </outcome>\r
+                                </delete>\r
+                            </block>\r
+                            <block atomic='true'>\r
+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                    <parameter name="logger" value="message-log"/>\r
+                                    <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
+                                </record>\r
+                                <for silentFailure='true' index='i' start='0' end='`$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data_length`' >\r
+                                    <for silentFailure='true' index='j' start='0' end='$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data_length`' >\r
+                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="vlan-tag"\r
+               key="vlan-tag.vlan-tag-id = $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid" >\r
+                                            <outcome value='failure'>\r
+                                                <block atomic='true'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                    <switch test='`$tmp.return-failure`'>\r
+                                                        <outcome value='true'>\r
+                                                            <block atomic='true'>\r
+                                                                <set>\r
+                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                </set>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='error-code' value='500' />\r
+                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </block>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`$error-message + ' vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + ' not found in AAI. Consider silent success!'`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='success'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of vlan-tag with vlan-tag-id =' + $service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-assignments.vms.vm[0].vm-names.vnfc-names[0].vnfc-networks.vnfc-network-data[$i].connection-point.vlan-data[$j].vlan-uuid + '  completed.'`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </delete>\r
+                                    </for>\r
+                                </for>\r
+                            </block>\r
+                            <block atomic='true'>\r
+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                    <parameter name="logger" value="message-log"/>\r
+                                    <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                </record>\r
+                                <switch test="`$ss.param.oam-interface-name != ''`">\r
+                                    <outcome value='true'>\r
+                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.oam-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                            <outcome value='failure'>\r
+                                                <block atomic='true'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                    <switch test='`$tmp.return-failure`'>\r
+                                                        <outcome value='true'>\r
+                                                            <block atomic='true'>\r
+                                                                <set>\r
+                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                </set>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='error-code' value='500' />\r
+                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </block>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.oam-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='success'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </delete>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </block>\r
+                            <block atomic='true'>\r
+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                    <parameter name="logger" value="message-log"/>\r
+                                    <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
+                                </record>\r
+                                <switch test="`$ss.param.lo0-interface-name != ''`">\r
+                                    <outcome value='true'>\r
+                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+       resource="l-interface"\r
+               key="l-interface.interface-name = $ss.param.lo0-interface-name\r
+               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\r
+                                            <outcome value='failure'>\r
+                                                <block atomic='true'>\r
+                                                    <set>\r
+                                                        <parameter name='error-message' value="`$error-message + ' Failed to delete l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                    </set>\r
+                                                    <switch test='`$tmp.return-failure`'>\r
+                                                        <outcome value='true'>\r
+                                                            <block atomic='true'>\r
+                                                                <set>\r
+                                                                    <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                                </set>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='error-code' value='500' />\r
+                                                                    <parameter name='error-message' value='`$error-message`' />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </block>\r
+                                            </outcome>\r
+                                            <outcome value='not-found'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`$error-message + ' l-interface.interface-name = ' + $ss.param.lo0-interface-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='success'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of l-interface with interface-name = ' + $ss.param.lo0-interface-name + '  completed.'`" />\r
+                                                </set>\r
+                                            </outcome>\r
+                                        </delete>\r
+                                    </outcome>\r
+                                </switch>\r
+                            </block>\r
+                            <block atomic='true'>\r
+                                <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                    <parameter name="logger" value="message-log"/>\r
+                                    <parameter name="field1" value="ROLLBACK VNF l3-network relationship"/>\r
+                                </record>\r
+                                <for silentFailure='true' index='n' start='0' end='`$nidx`' >\r
+                                    <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService" \r
+       resource="generic-vnf:relationship-list" \r
+               key="generic-vnf.vnf-id = $ss.param.vnf-id \r
+               AND related-to = l3-network \r
+               AND l3-network.network-id = $ss.network[$n].netid" >\r
+                                        <outcome value='failure'>\r
+                                            <block atomic='true'>\r
+                                                <set>\r
+                                                    <parameter name='error-message' value="`$error-message + ' Failed to delete VNF l3-network relationship for generic-vnf.vnfid = ' + $ss.param.vnf-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                </set>\r
+                                                <switch test='`$tmp.return-failure`'>\r
+                                                    <outcome value='true'>\r
+                                                        <block atomic='true'>\r
+                                                            <set>\r
+                                                                <parameter name='service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vf-module-topology.vf-module-parameters.param[$ss.param.aai-vf-module-put-index].resource-resolution-data.status' \r
+       value='FAILED' />\r
+                                                            </set>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='error-code' value='500' />\r
+                                                                <parameter name='error-message' value='`$error-message`' />\r
+                                                            </return>\r
+                                                        </block>\r
+                                                    </outcome>\r
+                                                </switch>\r
+                                            </block>\r
+                                        </outcome>\r
+                                        <outcome value='not-found'>\r
+                                            <set>\r
+                                                <parameter name='error-message' value="`$error-message + ' generic-vnf.vnfid = ' + $ss.param.vnf-id + ' not found in AAI. Consider silent success!'`" />\r
+                                            </set>\r
+                                        </outcome>\r
+                                        <outcome value='success'>\r
+                                            <set>\r
+                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />\r
+                                            </set>\r
+                                        </outcome>\r
+                                    </delete>\r
+                                </for>\r
+                            </block>\r
+                        </block>\r
+                    </block>\r
+                </outcome>\r
+            </switch>\r
+            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
+                <parameter name='filename' value='/var/tmp/ss.aai.vfmoduleput.log' />\r
+            </execute>\r
+        </block>\r
+    </method>\r
+</service-logic>
\ No newline at end of file