Chore: Add gerrit maven verify GHA workflow
[sdnc/oam.git] / platform-logic / generic-resource-api / src / main / xml / GENERIC-RESOURCE-API_self-serve-aai-vf-module-put.xml
index acbda51..c64485b 100644 (file)
@@ -3,6 +3,15 @@
     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-name`'>\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-name is null" />\r
+                    </return>\r
+                </outcome>\r
+            </switch>\r
             <switch test='`$ss.capability-action`'>\r
                 <outcome value=''>\r
                     <return status="failure">\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
+                                            <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
+                                            <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
                                                     <parameter name='ss.param.loopback0-ipv4-address-index' value='`$bidx`' />\r
                                                 </set>\r
                                             </outcome>\r
-                                            <outcome value='aai-vf-module-put'>\r
+                                            <outcome value='ipv4-loopback0-address'>\r
                                                 <set>\r
-                                                    <parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />\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='nfc-naming-code'>\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.vlan-id-outer-index' value='`$bidx`' />\r
                                                 </set>\r
                                             </outcome>\r
+                                            <outcome value='availability_zone_0'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.availability-zone-0' 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.availability-zone-0-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='aai-vf-module-put'>\r
+                                                <block>\r
+                                                    <set>\r
+                                                        <parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />\r
+                                                    </set>\r
+                                                    <for silentFailure='true' index="kidx" 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[$bidx].resource-resolution-data.resource-key_length`">\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].resource-resolution-data.resource-key[$kidx].name`'>\r
+                                                            <outcome value='generic-vnf'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.generic-vnf' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='vf-module'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.vf-module' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='volume-group'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.volume-group' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='vnfc'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.vnfc' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='connection-points'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.connection-points' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='l-interface'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.l-interface' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='l3-netework'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.l3-network' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </for>\r
+                                                </block>\r
+                                            </outcome>\r
                                         </switch>\r
                                     </outcome>\r
                                 </execute>\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
+                        <switch test="`$ss.resource-key.generic-vnf`">\r
+                            <outcome value='generic-vnf'>\r
+                                <block atomic='true'>\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
+                                        <outcome value='failure'>\r
+                                            <block atomic='true'>\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
+                                                    <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
-                                        <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
+                                                <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='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
+                                                    <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
-                                        <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\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
+                                    <switch test="`$ss.param.ipv4-loopback0-address != ''`">\r
+                                        <outcome value='true'>\r
+                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
+                                                <parameter name='source' value='`$ss.param.ipv4-loopback0-address`' />\r
+                                                <parameter name='target' value='$' />\r
+                                                <outcome value='true'>\r
+                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                        <parameter name="logger" value="message-log"/>\r
+                                                        <parameter name="field1" value="__TIMESTAMP__"/>\r
+                                                        <parameter name="field2" value="`'ss.param.ipv4-loopback0-address = ' + $ss.param.ipv4-loopback0-address`"/>\r
+                                                        <parameter name="field3" value="__SKIP ipv4-loopback0-address update for generic-vnf in AnAI__"/>\r
+                                                    </record>\r
+                                                </outcome>\r
+                                                <outcome value='false'>\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
+                                                        <parameter name="ipv4-loopback0-address" value='`$ss.param.ipv4-loopback0-address`' />\r
+                                                        <outcome value='failure'>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='error-code' value='500' />\r
+                                                                <parameter name='error-message' value="`'Failed to update generic-vnf.ipv4-loopback0-address in AnAI with ipv4-loopback0-address=' + $ss.param.ipv4-loopback0-address + '; ' + $error-message`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                        <outcome value='not-found'>\r
+                                                            <return status='failure'>\r
+                                                                <parameter name='error-code' value='500' />\r
+                                                                <parameter name='error-message' value="`'Failed to update generic-vnf because vnf-id =' + $ss.param.vnf-id + ' is not found in AAI. ' + $error-message`" />\r
+                                                            </return>\r
+                                                        </outcome>\r
+                                                        <outcome value='success'>\r
+                                                            <set>\r
+                                                                <parameter name='ss.ipv4-loopback0-address-updated' value='true' />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                    </update>\r
+                                                </outcome>\r
+                                            </execute>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                    <switch test="`$ss.param.ipv4-oam-address != ''`">\r
+                                        <outcome value='true'>\r
+                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
+                                                <parameter name='source' value='`$ss.param.ipv4-oam-address`' />\r
+                                                <parameter name='target' value='$' />\r
+                                                <outcome value='true'>\r
+                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                        <parameter name="logger" value="message-log"/>\r
+                                                        <parameter name="field1" value="__TIMESTAMP__"/>\r
+                                                        <parameter name="field2" value="`'ss.param.ipv4-oam-address = ' + $ss.param.ipv4-oam-address`"/>\r
+                                                        <parameter name="field3" value="__SKIP ipv4-oam-address update for generic-vnf in AnAI__"/>\r
+                                                    </record>\r
+                                                </outcome>\r
+                                                <outcome value='false'>\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
+                                                        <parameter name="ipv4-oam-address" value='`$ss.param.ipv4-oam-address`' />\r
+                                                        <outcome value='failure'>\r
+                                                            <block atomic='true'>\r
+                                                                <block>\r
+                                                                    <switch test="`$ss.ipv4-loopback0-address-updated`">\r
+                                                                        <outcome value='true'>\r
+                                                                            <block>\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.ipv4-loopback0-address 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
+                                                                                </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
+                                                                                    <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-loopback0-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-loopback0-address update completed. '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                    </switch>\r
+                                                                </block>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='error-code' value='500' />\r
+                                                                    <parameter name='error-message' value="`'Failed to update generic-vnf.ipv4-oam-address in AnAI with ipv4-oam-address=' + $ss.param.ipv4-oam-address + '; ' + $error-message`" />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                        <outcome value='not-found'>\r
+                                                            <block atomic='true'>\r
+                                                                <block>\r
+                                                                    <switch test="`$ss.ipv4-loopback0-address-updated`">\r
+                                                                        <outcome value='true'>\r
+                                                                            <block>\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.ipv4-loopback0-address 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
+                                                                                </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
+                                                                                    <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-loopback0-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-loopback0-address update completed. '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                    </switch>\r
+                                                                </block>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='error-code' value='500' />\r
+                                                                    <parameter name='error-message' value="`'Failed to update generic-vnf because vnf-id =' + $ss.param.vnf-id + ' is not found in AAI' + '; ' + $error-message`" />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                        <outcome value='success'>\r
+                                                            <set>\r
+                                                                <parameter name='ss.ipv4-oam-address-updated' value='true' />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                    </update>\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
+                                            </execute>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                    <switch test="`$ss.param.as-number != ''`">\r
+                                        <outcome value='true'>\r
+                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
+                                                <parameter name='source' value='`$ss.param.as-number`' />\r
+                                                <parameter name='target' value='$' />\r
+                                                <outcome value='true'>\r
+                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                        <parameter name="logger" value="message-log"/>\r
+                                                        <parameter name="field1" value="__TIMESTAMP__"/>\r
+                                                        <parameter name="field2" value="`'ss.param.as-number = ' + $ss.param.as-number`"/>\r
+                                                        <parameter name="field3" value="__SKIP as-number update for generic-vnf in AnAI__"/>\r
+                                                    </record>\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
+                                                <outcome value='false'>\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="as-number" value='`$ss.param.as-number`' />\r
+                                                        <outcome value='failure'>\r
+                                                            <block atomic='true'>\r
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <switch test="`$ss.ipv4-loopback0-address-updated`">\r
+                                                                            <outcome value='true'>\r
+                                                                                <block>\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.ipv4-loopback0-address 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
+                                                                                    </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
+                                                                                        <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                        <outcome value='failure'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-loopback0-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-loopback0-address update completed. '`" />\r
+                                                                                            </set>\r
+                                                                                        </outcome>\r
+                                                                                    </update>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </block>\r
+                                                                    <switch test="`$ss.ipv4-oam-address-updated`">\r
+                                                                        <outcome value='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.ipv4-oam-address 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
+                                                                                </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
+                                                                                    <parameter name="ipv4-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-oam-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-oam-address update completed. '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                    </switch>\r
+                                                                </block>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='error-code' value='500' />\r
+                                                                    <parameter name='error-message' value="`'Failed to update generic-vnf.as-number in AnAI with as-number=' + $ss.param.as-number + '; ' + $error-message`" />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                        <outcome value='not-found'>\r
+                                                            <block atomic='true'>\r
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <switch test="`$ss.ipv4-loopback0-address-updated`">\r
+                                                                            <outcome value='true'>\r
+                                                                                <block>\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.ipv4-loopback0-address 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
+                                                                                    </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
+                                                                                        <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                        <outcome value='failure'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-loopback0-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-loopback0-address update completed. '`" />\r
+                                                                                            </set>\r
+                                                                                        </outcome>\r
+                                                                                    </update>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                        </switch>\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
+                                                                    <switch test="`$ss.ipv4-oam-address-updated`">\r
+                                                                        <outcome value='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.ipv4-oam-address 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
-                                                                        <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
+                                                                                </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-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-oam-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-oam-address update completed. '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                    </switch>\r
+                                                                </block>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='error-code' value='500' />\r
+                                                                    <parameter name='error-message' value="`'Failed to update generic-vnf because vnf-id =' + $ss.param.vnf-id + ' is not found in AAI. ' + $error-message`" />\r
+                                                                </return>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                        <outcome value='success'>\r
+                                                            <set>\r
+                                                                <parameter name='ss.as-number-updated' value='true' />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                    </update>\r
+                                                </outcome>\r
+                                            </execute>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                    <switch test="`$ss.param.vlan-id-outer != ''`">\r
+                                        <outcome value='true'>\r
+                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
+                                                <parameter name='source' value='`$ss.param.vlan-id-outer`' />\r
+                                                <parameter name='target' value='$' />\r
+                                                <outcome value='true'>\r
+                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                        <parameter name="logger" value="message-log"/>\r
+                                                        <parameter name="field1" value="__TIMESTAMP__"/>\r
+                                                        <parameter name="field2" value="`'ss.param.vlan-id-outer = ' + $ss.param.vlan-id-outer`"/>\r
+                                                        <parameter name="field3" value="__SKIP vlan-id-outer update for generic-vnf in AnAI__"/>\r
+                                                    </record>\r
+                                                </outcome>\r
+                                                <outcome value='false'>\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="vlan-id-outer" value='`$ss.param.vlan-id-outer`' />\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
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <switch test="`$ss.ipv4-loopback0-address-updated`">\r
+                                                                                <outcome value='true'>\r
+                                                                                    <block>\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.ipv4-loopback0-address 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
+                                                                                        </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
+                                                                                            <parameter name="ipv4-loopback0-address" value='`$tmp.aai.vnf.ipv4-loopback0-address`' />\r
+                                                                                            <outcome value='failure'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-loopback0-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-loopback0-address update completed. '`" />\r
+                                                                                                </set>\r
+                                                                                            </outcome>\r
+                                                                                        </update>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.ipv4-oam-address-updated`">\r
+                                                                            <outcome value='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.ipv4-oam-address 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-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                        <outcome value='failure'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-oam-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-oam-address update completed. '`" />\r
+                                                                                            </set>\r
+                                                                                        </outcome>\r
+                                                                                    </update>\r
+                                                                                </block>\r
                                                                             </outcome>\r
-                                                                        </update>\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 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
+                                                                    <switch test="`$ss.as-number-updated`">\r
+                                                                        <outcome value='true'>\r
+                                                                            <block>\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.as-number update"/>\r
+                                                                                </record>\r
                                                                                 <set>\r
-                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\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
-                                                                            </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
+                                                                                <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="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.as-number update 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 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="`$error-message + ' Rollback of generic-vnf.as-number update completed. '`" />\r
+                                                                                        </set>\r
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
                                                                         </outcome>\r
-                                                                    </update>\r
+                                                                    </switch>\r
                                                                 </block>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='error-code' value='500' />\r
+                                                                    <parameter name='error-message' value="`'Failed to update generic-vnf.vlan-id-outer in AnAI with as-number=' + $ss.param.as-number  + '; ' + $error-message`" />\r
+                                                                </return>\r
                                                             </block>\r
+                                                        </outcome>\r
+                                                        <outcome value='not-found'>\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
+                                                                <block>\r
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <switch test="`$ss.ipv4-loopback0-address-updated`">\r
                                                                                 <outcome value='true'>\r
-                                                                                    <block atomic='true'>\r
+                                                                                    <block>\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.ipv4-loopback0-address 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
+                                                                                            <outcome value='failure'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-loopback0-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-loopback0-address update completed. '`" />\r
+                                                                                                </set>\r
+                                                                                            </outcome>\r
+                                                                                        </update>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.ipv4-oam-address-updated`">\r
+                                                                            <outcome value='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.ipv4-oam-address 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-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                        <outcome value='failure'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-oam-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-oam-address update completed. '`" />\r
+                                                                                            </set>\r
+                                                                                        </outcome>\r
+                                                                                    </update>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </block>\r
+                                                                    <switch test="`$ss.as-number-updated`">\r
+                                                                        <outcome value='true'>\r
+                                                                            <block>\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.as-number 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="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                    <outcome value='failure'>\r
+                                                                                        <set>\r
+                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.as-number update 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 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='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
+                                                                                            <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf.as-number update completed. '`" />\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
+                                                                                    </outcome>\r
+                                                                                </update>\r
+                                                                            </block>\r
+                                                                        </outcome>\r
+                                                                    </switch>\r
+                                                                </block>\r
+                                                                <return status='failure'>\r
+                                                                    <parameter name='error-code' value='500' />\r
+                                                                    <parameter name='error-message' value="`'Failed to update generic-vnf because vnf-id =' + $ss.param.vnf-id + ' is not found in AAI. ' + $error-message`" />\r
+                                                                </return>\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>\r
+                                                        <outcome value='success'>\r
+                                                            <set>\r
+                                                                <parameter name='ss.vlan-id-outer-updated' value='true' />\r
+                                                            </set>\r
+                                                        </outcome>\r
+                                                    </update>\r
+                                                </outcome>\r
+                                            </execute>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                    <switch test="`$ss.param.availability-zone-0 != ''`">\r
+                                        <outcome value='true'>\r
+                                            <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliStringUtils' method='contains' emitsOutcome='true' >\r
+                                                <parameter name='source' value='`$ss.param.availability-zone-0`' />\r
+                                                <parameter name='target' value='$' />\r
+                                                <outcome value='true'>\r
+                                                    <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
+                                                        <parameter name="logger" value="message-log"/>\r
+                                                        <parameter name="field1" value="__TIMESTAMP__"/>\r
+                                                        <parameter name="field2" value="`'ss.param.availability-zone-0 = ' + $ss.param.availability-zone-0`"/>\r
+                                                        <parameter name="field3" value="__SKIP availability-zone-0 update for generic-vnf in AnAI__"/>\r
+                                                    </record>\r
+                                                </outcome>\r
+                                                <outcome value='false'>\r
+                                                    <block atomic='true'>\r
+                                                        <set>\r
+                                                            <parameter name='ss.availability-zone.related-link' \r
+       value="`'/aai/v$/cloud-infrastructure/cloud-regions/cloud-region/' + \r
+       $prop.cloud-region.cloud-owner + '/' + $ss.param.aic-cloud-region + \r
+       '/availability-zones/availability-zone/' + \r
+       $ss.param.availability-zone-0`" />\r
+                                                        </set>\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="availability-zone" />\r
+                                                            <parameter name="relationship-list.relationship[0].related-link" value="`$ss.availability-zone.related-link`" />\r
+                                                            <!--\r
+<parameter name="relationship-list.relationship[0].related-to" value="availability-zone" /><parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="cloud-region.cloud-owner" /><parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$prop.cloud-region.cloud-owner`" /><parameter name="relationship-list.relationship[0].relationship-data[1].relationship-key" value="cloud-region.cloud-region-id" /><parameter name="relationship-list.relationship[0].relationship-data[1].relationship-value" value="`$ss.param.aic-cloud-region`" /><parameter name="relationship-list.relationship[0].relationship-data[2].relationship-key" value="availability-zone.availability-zone-name" /><parameter name="relationship-list.relationship[0].relationship-data[2].relationship-value" value="`$ss.param.availability-zone-0`" />\r
+-->\r
+                                                            <outcome value='failure'>\r
+                                                                <block atomic='true'>\r
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <block>\r
+                                                                                <block>\r
+                                                                                    <switch test="`$ss.ipv4-loopback0-address-updated`">\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block>\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.ipv4-loopback0-address 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
+                                                                                                    <outcome value='failure'>\r
+                                                                                                        <set>\r
+                                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-loopback0-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-loopback0-address update completed. '`" />\r
+                                                                                                        </set>\r
+                                                                                                    </outcome>\r
+                                                                                                </update>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.ipv4-oam-address-updated`">\r
                                                                                     <outcome value='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.ipv4-oam-address 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
-                                                                                            <return status='failure'>\r
-                                                                                                <parameter name='error-code' value='500' />\r
-                                                                                                <parameter name='error-message' value='`$error-message`' />\r
-                                                                                            </return>\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-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                                <outcome value='failure'>\r
+                                                                                                    <set>\r
+                                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-oam-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-oam-address update completed. '`" />\r
+                                                                                                    </set>\r
+                                                                                                </outcome>\r
+                                                                                            </update>\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
+                                                                            <switch test="`$ss.as-number-updated`">\r
+                                                                                <outcome value='true'>\r
+                                                                                    <block>\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.as-number 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
+                                                                                        </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
+                                                                                            <parameter name="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                            <outcome value='failure'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.as-number update 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 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="`$error-message + ' Rollback of generic-vnf.as-number update completed. '`" />\r
+                                                                                                </set>\r
+                                                                                            </outcome>\r
+                                                                                        </update>\r
+                                                                                    </block>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.vlan-id-outer-updated`">\r
+                                                                            <outcome value='true'>\r
+                                                                                <block>\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.vlan-id-outer 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="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                                        <outcome value='failure'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.vlan-id-outer update 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 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="`$error-message + ' Rollback of generic-vnf.vlan-id-outer update completed. '`" />\r
+                                                                                            </set>\r
+                                                                                        </outcome>\r
+                                                                                    </update>\r
+                                                                                </block>\r
                                                                             </outcome>\r
-                                                                        </update>\r
+                                                                        </switch>\r
                                                                     </block>\r
+                                                                    <return status='failure'>\r
+                                                                        <parameter name='error-code' value='500' />\r
+                                                                        <parameter name='error-message' value="`'Failed to save availability-zone relationship for generic-vnf in AnAI with availability-zone-name =' + $ss.param.as-number + '; ' + $error-message`" />\r
+                                                                    </return>\r
                                                                 </block>\r
+                                                            </outcome>\r
+                                                            <outcome value='not-found'>\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
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <block>\r
+                                                                                <block>\r
+                                                                                    <switch test="`$ss.ipv4-loopback0-address-updated`">\r
+                                                                                        <outcome value='true'>\r
+                                                                                            <block>\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.ipv4-loopback0-address 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
+                                                                                                    <outcome value='failure'>\r
+                                                                                                        <set>\r
+                                                                                                            <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-loopback0-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-loopback0-address update completed. '`" />\r
+                                                                                                        </set>\r
+                                                                                                    </outcome>\r
+                                                                                                </update>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.ipv4-oam-address-updated`">\r
+                                                                                    <outcome value='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.ipv4-oam-address 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-oam-address" value='`$tmp.aai.vnf.ipv4-oam-address`' />\r
+                                                                                                <outcome value='failure'>\r
+                                                                                                    <set>\r
+                                                                                                        <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.ipv4-oam-address update 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 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="`$error-message + ' Rollback of generic-vnf.ipv4-oam-address update completed. '`" />\r
+                                                                                                    </set>\r
+                                                                                                </outcome>\r
+                                                                                            </update>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                            <switch test="`$ss.as-number-updated`">\r
                                                                                 <outcome value='true'>\r
-                                                                                    <block atomic='true'>\r
+                                                                                    <block>\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.as-number 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
-                                                                                        <return status='failure'>\r
-                                                                                            <parameter name='error-code' value='500' />\r
-                                                                                            <parameter name='error-message' value='`$error-message`' />\r
-                                                                                        </return>\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="as-number" value='`$tmp.aai.vnf.as-number`' />\r
+                                                                                            <outcome value='failure'>\r
+                                                                                                <set>\r
+                                                                                                    <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.as-number update 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 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="`$error-message + ' Rollback of generic-vnf.as-number update completed. '`" />\r
+                                                                                                </set>\r
+                                                                                            </outcome>\r
+                                                                                        </update>\r
                                                                                     </block>\r
                                                                                 </outcome>\r
                                                                             </switch>\r
                                                                         </block>\r
+                                                                        <switch test="`$ss.vlan-id-outer-updated`">\r
+                                                                            <outcome value='true'>\r
+                                                                                <block>\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.vlan-id-outer 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="vlan-id-outer" value='`$tmp.aai.vnf.vlan-id-outer`' />\r
+                                                                                        <outcome value='failure'>\r
+                                                                                            <set>\r
+                                                                                                <parameter name='error-message' value="`$error-message + ' Failed to rollback generic-vnf.vlan-id-outer update 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 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="`$error-message + ' Rollback of generic-vnf.vlan-id-outer update completed. '`" />\r
+                                                                                            </set>\r
+                                                                                        </outcome>\r
+                                                                                    </update>\r
+                                                                                </block>\r
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </block>\r
+                                                                    <return status='failure'>\r
+                                                                        <parameter name='error-code' value='500' />\r
+                                                                        <parameter name='error-message' value="`'Failed to create availability-zone relationship because generic-vnf with vnf-id =' + $ss.param.vnf-id + ' is not found in AAI. ' + $error-message`" />\r
+                                                                    </return>\r
+                                                                </block>\r
+                                                            </outcome>\r
+                                                            <outcome value='success'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.availability-zone-0-updated' value='true' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </save>\r
+                                                    </block>\r
+                                                </outcome>\r
+                                            </execute>\r
+                                        </outcome>\r
+                                    </switch>\r
+                                </block>\r
+                            </outcome>\r
+                        </switch>\r
+                        <switch test="`$ss.resource-key.vf-module`">\r
+                            <outcome value='vf-module'>\r
+                                <block atomic='true'>\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>\r
+                                                    <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                        <outcome value='generic-vnf'>\r
+                                                            <block>\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="`$error-message + ' 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="`$error-message + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\r
+                                                                            <parameter name='error-message' value="`$error-message + ' 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="`$error-message + ' Rollback (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
                                                                         </set>\r
                                                                     </outcome>\r
-                                                                </delete>\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 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
+                                                        </outcome>\r
+                                                    </switch>\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
+                                                <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>\r
+                                                    <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                        <outcome value='generic-vnf'>\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
+                                                                <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
+                                                                </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
+                                                                    <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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </update>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\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
+                                    <set>\r
+                                        <parameter name='ss.selflink' value="`'restconf/config/GENERIC-RESOURCE-API:services/service/' + \r
+$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.service-information.service-instance-id + \r
+'/service-data/vnfs/vnf/' + \r
+$service-data.vnfs.vnf[$vnf-index].vnf-data.vf-modules.vf-module[$vf-module-index].vf-module-data.vnf-information.vnf-id + \r
+'/vnf-data/vf-modules/vf-module/' + \r
+$ss.param.vf-module-id + \r
+'/vf-module-data/vf-module-topology/'`" />\r
+                                    </set>\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
+                                        <parameter name="vf-module-name" value='`$ss.param.vf-module-name`' />\r
+                                        <parameter name="selflink" value='`$ss.selflink`' />\r
+                                        <outcome value='failure'>\r
+                                            <block atomic='true'>\r
+                                                <block>\r
+                                                    <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                        <outcome value='generic-vnf'>\r
+                                                            <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </update>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\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>\r
+                                                    <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                        <outcome value='generic-vnf'>\r
+                                                            <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                        </set>\r
+                                                                    </outcome>\r
+                                                                </update>\r
+                                                            </block>\r
+                                                        </outcome>\r
+                                                    </switch>\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
+                                </block>\r
+                            </outcome>\r
+                        </switch>\r
+                        <switch test="`$ss.resource-key.volume-group`">\r
+                            <outcome value='volume-group'>\r
+                                <block atomic='true'>\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
-                                                                                <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
+                       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>\r
+                                                        <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                            <outcome value='generic-vnf'>\r
+                                                                <block>\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
+                                                                        <parameter name="field1" value="ROLLBACK generic-vnf update"/>\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
+                                                                    <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
+                                                                    </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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf 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 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
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                    <switch test="`$ss.resource-key.vf-module`">\r
+                                                        <outcome value='vf-module'>\r
                                                             <block>\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
+                                                                    <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                        </outcome>\r
+                                                    </switch>\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>\r
+                                                        <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                            <outcome value='generic-vnf'>\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
+                                                                    <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
+                                                                    </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
+                                                                        <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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </update>\r
+                                                                </block>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                    <switch test="`$ss.resource-key.vf-module`">\r
+                                                        <outcome value='vf-module'>\r
+                                                            <block>\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
+                                                                    <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                    <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                        </outcome>\r
+                                                    </switch>\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='`$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
+                                        <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>\r
+                                                        <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                            <outcome value='generic-vnf'>\r
+                                                                <block>\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
+                                                                        <parameter name="field1" value="ROLLBACK generic-vnf update"/>\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
+                                                                    <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
+                                                                    </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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </update>\r
                                                                 </block>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                    <switch test="`$ss.resource-key.vf-module`">\r
+                                                        <outcome value='vf-module'>\r
+                                                            <block>\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
+                                                                    <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
-                                                            <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
+                                                        </outcome>\r
+                                                    </switch>\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>\r
-                                                        <block>\r
-                                                            <block>\r
+                                                        <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                            <outcome value='generic-vnf'>\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
+                                                                    <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
+                                                                    </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
+                                                                        <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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                            </set>\r
+                                                                        </outcome>\r
+                                                                    </update>\r
                                                                 </block>\r
-                                                                <block atomic='true'>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                    <switch test="`$ss.resource-key.vf-module`">\r
+                                                        <outcome value='vf-module'>\r
+                                                            <block>\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
+                                                                    <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                        </outcome>\r
+                                                    </switch>\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
+                                    </update>\r
+                                </block>\r
+                            </outcome>\r
+                        </switch>\r
+                        <switch test="`$ss.resource-key.vnfc`">\r
+                            <outcome value='vnfc'>\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>\r
+                                                        <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                            <outcome value='generic-vnf'>\r
+                                                                <block>\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
+                                                                        <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="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
+       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="`$error-message + ' Failed to UPDATE volume-group with volume-group-id=' + $ss.param.volume-group-id + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
+                                                                                <parameter name='error-message' value="`$error-message + ' 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="`$error-message + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\r
+                                                                                <parameter name='error-message' value="`$error-message + ' 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="`$error-message + ' Rollback of volume_group completed.'`" />\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
                                                                             </set>\r
                                                                         </outcome>\r
                                                                     </update>\r
                                                                 </block>\r
-                                                            </block>\r
-                                                            <block atomic='true'>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                    <switch test="`$ss.resource-key.vf-module`">\r
+                                                        <outcome value='vf-module'>\r
+                                                            <block>\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
+                                                                    <parameter name="field1" value="ROLLBACK vf-module update"/>\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
+                                                                <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
+                                                                    <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                        <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 + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\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 (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                            <parameter name='error-message' value="`$error-message + ' Rollback of vf-module update completed.'`" />\r
                                                                         </set>\r
                                                                     </outcome>\r
-                                                                </delete>\r
+                                                                </update>\r
                                                             </block>\r
-                                                        </block>\r
-                                                        <block atomic='true'>\r
+                                                        </outcome>\r
+                                                    </switch>\r
+                                                </block>\r
+                                                <switch test="`$ss.resource-key.volume-group`">\r
+                                                    <outcome value='volume-group'>\r
+                                                        <block>\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
+                                                                <parameter name="field1" value="ROLLBACK volume-group update"/>\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
+                                                            <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
+                                                    </outcome>\r
+                                                </switch>\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>\r
+                                                        <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                            <outcome value='generic-vnf'>\r
+                                                                <block>\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
-                                                                                            <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
+                                                                    </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="`$error-message + ' 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="`$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
+                                                                                <parameter name='error-message' value="`$error-message + ' 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="`$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
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
                                                                             </set>\r
                                                                         </outcome>\r
-                                                                    </delete>\r
-                                                                </for>\r
-                                                            </for>\r
-                                                        </block>\r
+                                                                    </update>\r
+                                                                </block>\r
+                                                            </outcome>\r
+                                                        </switch>\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
+                                                    <switch test="`$ss.resource-key.vf-module`">\r
+                                                        <outcome value='vf-module'>\r
+                                                            <block>\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
+                                                                    <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                        </outcome>\r
+                                                    </switch>\r
                                                 </block>\r
-                                            </outcome>\r
-                                            <outcome value='not-found'>\r
+                                                <switch test="`$ss.resource-key.volume-group`">\r
+                                                    <outcome value='volume-group'>\r
+                                                        <block>\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
+                                                    </outcome>\r
+                                                </switch>\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
+                            </outcome>\r
+                        </switch>\r
+                        <switch test="`$ss.resource-key.connection-points`">\r
+                            <outcome value='connection-points'>\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-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 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
+                                                                <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                    <outcome value='generic-vnf'>\r
+                                                                        <block>\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
+                                                                            </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
+                                                                                <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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                    </set>\r
+                                                                                </outcome>\r
+                                                                            </update>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                            </block>\r
+                                                            <switch test="`$ss.resource-key.vf-module`">\r
+                                                                <outcome value='vf-module'>\r
+                                                                    <block>\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
                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
+                                                                            <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
                                                                             </outcome>\r
                                                                         </update>\r
                                                                     </block>\r
-                                                                </block>\r
-                                                                <block atomic='true'>\r
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                        <switch test="`$ss.resource-key.volume-group`">\r
+                                                            <outcome value='volume-group'>\r
+                                                                <block>\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
                                                                         </outcome>\r
                                                                     </update>\r
                                                                 </block>\r
-                                                            </block>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                    <switch test="`$ss.resource-key.vnfc`">\r
+                                                        <outcome value='vnfc'>\r
                                                             <block atomic='true'>\r
                                                                 <record plugin="org.onap.ccsdk.sli.core.sli.recording.Slf4jRecorder">\r
                                                                     <parameter name="logger" value="message-log"/>\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
+                                                        </outcome>\r
+                                                    </switch>\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
+                                                <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 atomic='true'>\r
                                                     <block>\r
                                                         <block>\r
                                                             <block>\r
-                                                                <block>\r
-                                                                    <block>\r
-                                                                        <block atomic='true'>\r
+                                                                <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                    <outcome value='generic-vnf'>\r
+                                                                        <block>\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
                                                                                 <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
+                                                                                        <parameter name='error-message' value="`$error-message + ' 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="`$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
+                                                                                        <parameter name='error-message' value="`$error-message + ' 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="`$error-message + ' Rollback of vf-module update completed.'`" />\r
+                                                                                        <parameter name='error-message' value="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
                                                                                     </set>\r
                                                                                 </outcome>\r
                                                                             </update>\r
                                                                         </block>\r
-                                                                    </block>\r
-                                                                    <block atomic='true'>\r
+                                                                    </outcome>\r
+                                                                </switch>\r
+                                                            </block>\r
+                                                            <switch test="`$ss.resource-key.vf-module`">\r
+                                                                <outcome value='vf-module'>\r
+                                                                    <block>\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
+                                                                            <parameter name="field1" value="ROLLBACK vf-module 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
+       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
+                                                                            <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                    <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 + ' volume-group with volume-group-id = ' + $ss.param.volume-group-id + ' not found in AAI. Consider silent success!'`" />\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 volume_group completed.'`" />\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
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                        <switch test="`$ss.resource-key.volume-group`">\r
+                                                            <outcome value='volume-group'>\r
+                                                                <block>\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
+                                                                        <parameter name="field1" value="ROLLBACK volume-group update"/>\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
+                                                                    <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
-                                                                            <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
+                                                                            <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 + ' vnfc with vnfc-name=' + $ss.param.vnfc-name + ' not found in AAI. Consider silent success!'`" />\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 (delete) of vnfc with vnfc-name=' + $ss.param.vnfc-name + '  completed.'`" />\r
+                                                                                <parameter name='error-message' value="`$error-message + ' Rollback of volume_group completed.'`" />\r
                                                                             </set>\r
                                                                         </outcome>\r
-                                                                    </delete>\r
+                                                                    </update>\r
                                                                 </block>\r
-                                                            </block>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </block>\r
+                                                    <switch test="`$ss.resource-key.vnfc`">\r
+                                                        <outcome value='vnfc'>\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
+                                                                    <parameter name="field1" value="ROLLBACK vnfc 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
+                                                                <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 + ' 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
+                                                                                        </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
+                                                        </outcome>\r
+                                                    </switch>\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='success'>\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
+                                                            <set>\r
+                                                                <parameter name='ss.cp.related-link' \r
+       value="`'/aai/v$/network/vnfcs/vnfc/' + \r
+       $ss.param.vnfc-name + \r
+       '/cps/cp/' + \r
+       $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
+                                                            </set>\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].related-link" value="`$ss.cp.related-link`" />\r
+                                                                <outcome value='failure'>\r
+                                                                    <block atomic='true'>\r
+                                                                        <block>\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>\r
+                                                                                    <block>\r
+                                                                                        <block>\r
+                                                                                            <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                                <outcome value='generic-vnf'>\r
+                                                                                                    <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                                </set>\r
+                                                                                                            </outcome>\r
+                                                                                                        </update>\r
+                                                                                                    </block>\r
+                                                                                                </outcome>\r
+                                                                                            </switch>\r
+                                                                                        </block>\r
+                                                                                        <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                            <outcome value='vf-module'>\r
+                                                                                                <block>\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
+                                                                                                        <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                            </outcome>\r
+                                                                                        </switch>\r
+                                                                                    </block>\r
+                                                                                    <switch test="`$ss.resource-key.volume-group`">\r
+                                                                                        <outcome value='volume-group'>\r
+                                                                                            <block>\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
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.resource-key.vnfc`">\r
+                                                                                    <outcome value='vnfc'>\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
+                                                                                            <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
+                                                                                                                    </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
                                                                                     </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
+                                                                            <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
-                                                            </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
+                                                                <outcome value='not-found'>\r
+                                                                    <block atomic='true'>\r
+                                                                        <block>\r
+                                                                            <block atomic='true'>\r
+                                                                                <block>\r
+                                                                                    <block>\r
+                                                                                        <block>\r
+                                                                                            <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                                <outcome value='generic-vnf'>\r
+                                                                                                    <block>\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
+                                                                                                        </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
+                                                                                                            <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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                                </set>\r
+                                                                                                            </outcome>\r
+                                                                                                        </update>\r
+                                                                                                    </block>\r
+                                                                                                </outcome>\r
+                                                                                            </switch>\r
+                                                                                        </block>\r
+                                                                                        <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                            <outcome value='vf-module'>\r
+                                                                                                <block>\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
+                                                                                                        <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                                        <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                            </outcome>\r
+                                                                                        </switch>\r
+                                                                                    </block>\r
+                                                                                    <switch test="`$ss.resource-key.volume-group`">\r
+                                                                                        <outcome value='volume-group'>\r
+                                                                                            <block>\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
+                                                                                                    <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
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.resource-key.vnfc`">\r
+                                                                                    <outcome value='vnfc'>\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
+                                                                                                <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
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\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
+                                                                                <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
+                                                        </block>\r
+                                                    </outcome>\r
+                                                    <outcome value='failure'>\r
+                                                        <block atomic='true'>\r
+                                                            <block>\r
+                                                                <block atomic='true'>\r
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <block>\r
+                                                                                <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                    <outcome value='generic-vnf'>\r
+                                                                                        <block>\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
-                                                                                            <return status='failure'>\r
-                                                                                                <parameter name='error-code' value='500' />\r
-                                                                                                <parameter name='error-message' value='`$error-message`' />\r
-                                                                                            </return>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                    </set>\r
+                                                                                                </outcome>\r
+                                                                                            </update>\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
+                                                                            <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                <outcome value='vf-module'>\r
+                                                                                    <block>\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
+                                                                                            <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\r
+                                                                                            <outcome value='failure'>\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
+                                                                                                    <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
-                                                                                                <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
+                                                                                            <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
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.resource-key.volume-group`">\r
+                                                                            <outcome value='volume-group'>\r
+                                                                                <block>\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
-                                                                                    </switch>\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
                                                                             </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
+                                                                        </switch>\r
+                                                                    </block>\r
+                                                                    <switch test="`$ss.resource-key.vnfc`">\r
+                                                                        <outcome value='vnfc'>\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
+                                                                                <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='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
+                                                                                                <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
-                                                                                            <return status='failure'>\r
-                                                                                                <parameter name='error-code' value='500' />\r
-                                                                                                <parameter name='error-message' value='`$error-message`' />\r
-                                                                                            </return>\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
-                                                                                </switch>\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
                                                                         </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
+                                                                    </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 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
-                                                                                    <set>\r
-                                                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
-                                                                                    </set>\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="`' 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
+                                                                                        <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=" Rollback of generic-vnf update completed. " />\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
-                                                                            </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
+                                                                            </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 atomic='true'>\r
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <block>\r
+                                                                                <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                    <outcome value='generic-vnf'>\r
+                                                                                        <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                    </set>\r
+                                                                                                </outcome>\r
+                                                                                            </update>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                            <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                <outcome value='vf-module'>\r
+                                                                                    <block>\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
+                                                                                            <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                            <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.resource-key.volume-group`">\r
+                                                                            <outcome value='volume-group'>\r
+                                                                                <block>\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
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </block>\r
+                                                                    <switch test="`$ss.resource-key.vnfc`">\r
+                                                                        <outcome value='vnfc'>\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
+                                                                        </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 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
-                                                                                    <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
+                                                                                    <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 + ' 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
+                                                                                        <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 of vf-module update completed.'`" />\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
-                                                                            </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
+                                                                            </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
+                                                </save>\r
+                                            </for>\r
+                                        </outcome>\r
+                                    </save>\r
+                                </for>\r
+                            </outcome>\r
+                        </switch>\r
+                        <switch test="`$ss.resource-key.l-interface`">\r
+                            <outcome value='l-interface'>\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 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
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <block>\r
+                                                                                <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                    <outcome value='generic-vnf'>\r
+                                                                                        <block>\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
-                                                                                            <return status='failure'>\r
-                                                                                                <parameter name='error-code' value='500' />\r
-                                                                                                <parameter name='error-message' value='`$error-message`' />\r
-                                                                                            </return>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                    </set>\r
+                                                                                                </outcome>\r
+                                                                                            </update>\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
+                                                                            <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                <outcome value='vf-module'>\r
+                                                                                    <block>\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
+                                                                                            <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\r
+                                                                                            <outcome value='failure'>\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
+                                                                                                    <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
-                                                                                                <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
+                                                                                            <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
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.resource-key.volume-group`">\r
+                                                                            <outcome value='volume-group'>\r
+                                                                                <block>\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
-                                                                                    </switch>\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
                                                                             </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
+                                                                        </switch>\r
+                                                                    </block>\r
+                                                                    <switch test="`$ss.resource-key.vnfc`">\r
+                                                                        <outcome value='vnfc'>\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
+                                                                                <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='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
+                                                                                                <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
-                                                                                            <return status='failure'>\r
-                                                                                                <parameter name='error-code' value='500' />\r
-                                                                                                <parameter name='error-message' value='`$error-message`' />\r
-                                                                                            </return>\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
-                                                                                </switch>\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
                                                                         </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
+                                                                    </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 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
-                                                                                    <set>\r
-                                                                                        <parameter name='error-message' value="`' Failed to rollback generic-vnf update in AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
-                                                                                    </set>\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="`' 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
+                                                                                        <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=" Rollback of generic-vnf update completed. " />\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
-                                                                            </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
+                                                                            </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 atomic='true'>\r
+                                                                    <block>\r
+                                                                        <block>\r
+                                                                            <block>\r
+                                                                                <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                    <outcome value='generic-vnf'>\r
+                                                                                        <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                    </set>\r
+                                                                                                </outcome>\r
+                                                                                            </update>\r
+                                                                                        </block>\r
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                            <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                <outcome value='vf-module'>\r
+                                                                                    <block>\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
+                                                                                            <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                            <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.resource-key.volume-group`">\r
+                                                                            <outcome value='volume-group'>\r
+                                                                                <block>\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
+                                                                            </outcome>\r
+                                                                        </switch>\r
+                                                                    </block>\r
+                                                                    <switch test="`$ss.resource-key.vnfc`">\r
+                                                                        <outcome value='vnfc'>\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
+                                                                        </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 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
-                                                                                    <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
+                                                                                    <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 + ' 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
+                                                                                        <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 of vf-module update completed.'`" />\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
-                                                                            </update>\r
-                                                                        </block>\r
-                                                                    </block>\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 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
+                                                                        <block>\r
+                                                                            <block>\r
+                                                                                <block>\r
+                                                                                    <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                        <outcome value='generic-vnf'>\r
+                                                                                            <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                        </set>\r
+                                                                                                    </outcome>\r
+                                                                                                </update>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                    <outcome value='vf-module'>\r
+                                                                                        <block>\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
+                                                                                                <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                            <switch test="`$ss.resource-key.volume-group`">\r
+                                                                                <outcome value='volume-group'>\r
+                                                                                    <block>\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
+                                                                                            <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
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.resource-key.vnfc`">\r
+                                                                            <outcome value='vnfc'>\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
+                                                                                        <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
+                                                                            </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 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='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
+                                                                                                <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
+                                                                <switch test="`$ss.resource-key.l-interface`">\r
+                                                                    <outcome value='l-interface'>\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
-                                                                                            <return status='failure'>\r
-                                                                                                <parameter name='error-code' value='500' />\r
-                                                                                                <parameter name='error-message' value='`$error-message`' />\r
-                                                                                            </return>\r
+                                                                                        </outcome>\r
+                                                                                    </delete>\r
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                    </outcome>\r
+                                                                </switch>\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.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 atomic='true'>\r
+                                                                        <block>\r
+                                                                            <block>\r
+                                                                                <block>\r
+                                                                                    <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                        <outcome value='generic-vnf'>\r
+                                                                                            <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                        </set>\r
+                                                                                                    </outcome>\r
+                                                                                                </update>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                    <outcome value='vf-module'>\r
+                                                                                        <block>\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
+                                                                                                <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
                                                                                     </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
+                                                                            <switch test="`$ss.resource-key.volume-group`">\r
+                                                                                <outcome value='volume-group'>\r
+                                                                                    <block>\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
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.resource-key.vnfc`">\r
+                                                                            <outcome value='vnfc'>\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
+                                                                                    <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='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
+                                                                                                    <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
-                                                                                                <return status='failure'>\r
-                                                                                                    <parameter name='error-code' value='500' />\r
-                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
-                                                                                                </return>\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
-                                                                                    </switch>\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
                                                                             </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
+                                                                        </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 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='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
+                                                                                                <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
-                                                                                            <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
+                                                                                            <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
-                                                                                <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
+                                                                                                        </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="`' 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
+                                                                                            <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=" Rollback of generic-vnf update completed. " />\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
-                                                                                </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
+                                                                                </delete>\r
+                                                                            </for>\r
+                                                                        </for>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <switch test="`$ss.resource-key.l-interface`">\r
+                                                                    <outcome value='l-interface'>\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
+                                                                    </outcome>\r
+                                                                </switch>\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.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 atomic='true'>\r
+                                                                        <block>\r
+                                                                            <block>\r
+                                                                                <block>\r
+                                                                                    <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                        <outcome value='generic-vnf'>\r
+                                                                                            <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                        </set>\r
+                                                                                                    </outcome>\r
+                                                                                                </update>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                    <outcome value='vf-module'>\r
+                                                                                        <block>\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
+                                                                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                                <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
                                                                                     </outcome>\r
-                                                                                </update>\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 volume-group update"/>\r
-                                                                            </record>\r
-                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                            <switch test="`$ss.resource-key.volume-group`">\r
+                                                                                <outcome value='volume-group'>\r
+                                                                                    <block>\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
+                                                                                            <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
                                                                                 </outcome>\r
-                                                                            </update>\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 vnfc save"/>\r
-                                                                        </record>\r
-                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                        <switch test="`$ss.resource-key.vnfc`">\r
+                                                                            <outcome value='vnfc'>\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
+                                                                                        <outcome value='failure'>\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
+                                                                                                    <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
-                                                                                                <return status='failure'>\r
-                                                                                                    <parameter name='error-code' value='500' />\r
-                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
-                                                                                                </return>\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
-                                                                                    </switch>\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
                                                                             </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
+                                                                        </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 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
+                                                                    <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
+                                                                                    <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 + ' 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
+                                                                                            <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
-                                                                                        <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
+                                                                                    </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
-                                                                    </for>\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 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
+                                                                <switch test="`$ss.resource-key.l-interface`">\r
+                                                                    <outcome value='l-interface'>\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
+                                                                                        <outcome value='failure'>\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
+                                                                                                    <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
-                                                                                                <return status='failure'>\r
-                                                                                                    <parameter name='error-code' value='500' />\r
-                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
-                                                                                                </return>\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
-                                                                                    </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 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
                                                                     </outcome>\r
                                                                 </switch>\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
-                                                            <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 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
+                                                                            <block>\r
+                                                                                <block>\r
+                                                                                    <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                        <outcome value='generic-vnf'>\r
+                                                                                            <block>\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
+                                                                                                </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
+                                                                                                    <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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                        </set>\r
+                                                                                                    </outcome>\r
+                                                                                                </update>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                    <outcome value='vf-module'>\r
+                                                                                        <block>\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
+                                                                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                                <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                            <switch test="`$ss.resource-key.volume-group`">\r
+                                                                                <outcome value='volume-group'>\r
+                                                                                    <block>\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
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.resource-key.vnfc`">\r
+                                                                            <outcome value='vnfc'>\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
+                                                                            </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 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
-                                                                                        <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
+                                                                                        <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 + ' 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
+                                                                                            <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 of vf-module update completed.'`" />\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
-                                                                                </update>\r
-                                                                            </block>\r
-                                                                        </block>\r
+                                                                                </delete>\r
+                                                                            </for>\r
+                                                                        </for>\r
+                                                                    </block>\r
+                                                                </block>\r
+                                                                <switch test="`$ss.resource-key.l-interface`">\r
+                                                                    <outcome value='l-interface'>\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
+                                                                                <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\r
                                                                             </record>\r
-                                                                            <update plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\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
+                                                                    </outcome>\r
+                                                                </switch>\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.ipv4-loopback0-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.ipv4-loopback0-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 atomic='true'>\r
+                                                                            <block>\r
+                                                                                <block>\r
+                                                                                    <block>\r
+                                                                                        <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                            <outcome value='generic-vnf'>\r
+                                                                                                <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                            </set>\r
+                                                                                                        </outcome>\r
+                                                                                                    </update>\r
+                                                                                                </block>\r
+                                                                                            </outcome>\r
+                                                                                        </switch>\r
+                                                                                    </block>\r
+                                                                                    <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                        <outcome value='vf-module'>\r
+                                                                                            <block>\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
+                                                                                                    <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.resource-key.volume-group`">\r
+                                                                                    <outcome value='volume-group'>\r
+                                                                                        <block>\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
+                                                                                                <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
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                            <switch test="`$ss.resource-key.vnfc`">\r
+                                                                                <outcome value='vnfc'>\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
+                                                                                            <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
+                                                                                </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 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='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
+                                                                                                    <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
-                                                                                                <return status='failure'>\r
-                                                                                                    <parameter name='error-code' value='500' />\r
-                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
-                                                                                                </return>\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
-                                                                                    </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
+                                                                                        <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>\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
+                                                                    <switch test="`$ss.resource-key.l-interface`">\r
+                                                                        <outcome value='l-interface'>\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='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
+                                                                                                        <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
-                                                                                                    <return status='failure'>\r
-                                                                                                        <parameter name='error-code' value='500' />\r
-                                                                                                        <parameter name='error-message' value='`$error-message`' />\r
-                                                                                                    </return>\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
-                                                                                        </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
+                                                                                            <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
+                                                                        </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.oam-interface-name != ''`">\r
-                                                                    <outcome value='true'>\r
-                                                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                                                                <switch test="`$ss.resource-key.l-interface`">\r
+                                                                    <outcome value='l-interface'>\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.oam-interface-name\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.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\r
-                                                                                    </set>\r
-                                                                                    <switch test='`$tmp.return-failure`'>\r
-                                                                                        <outcome value='true'>\r
+                                                                                        <outcome value='failure'>\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
+                                                                                                    <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
-                                                                                                <return status='failure'>\r
-                                                                                                    <parameter name='error-code' value='500' />\r
-                                                                                                    <parameter name='error-message' value='`$error-message`' />\r
-                                                                                                </return>\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
-                                                                                    </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 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
                                                                     </outcome>\r
                                                                 </switch>\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
-                                                            <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
+                                                                    <block>\r
+                                                                        <block atomic='true'>\r
+                                                                            <block>\r
+                                                                                <block>\r
+                                                                                    <block>\r
+                                                                                        <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                            <outcome value='generic-vnf'>\r
+                                                                                                <block>\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
+                                                                                                    </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
+                                                                                                        <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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                            </set>\r
+                                                                                                        </outcome>\r
+                                                                                                    </update>\r
+                                                                                                </block>\r
+                                                                                            </outcome>\r
+                                                                                        </switch>\r
+                                                                                    </block>\r
+                                                                                    <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                        <outcome value='vf-module'>\r
+                                                                                            <block>\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
+                                                                                                    <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                                    <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.resource-key.volume-group`">\r
+                                                                                    <outcome value='volume-group'>\r
+                                                                                        <block>\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
+                                                                                                <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
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                            <switch test="`$ss.resource-key.vnfc`">\r
+                                                                                <outcome value='vnfc'>\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
+                                                                                            <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
                                                                                 </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
+                                                                        <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
+                                                                                        <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
+                                                                    <switch test="`$ss.resource-key.l-interface`">\r
+                                                                        <outcome value='l-interface'>\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
+                                                                                <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
-                                                                                        <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
+                                                                                        <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
+                                                                                                                </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
                                                                         </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
+                                                                    </switch>\r
+                                                                </block>\r
+                                                                <switch test="`$ss.resource-key.l-interface`">\r
+                                                                    <outcome value='l-interface'>\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
+                                                                            <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
-                                                                                    <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
+                                                                                    <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
+                                                                                                            </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
                                                                     </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
+                                                                </switch>\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
+                            </outcome>\r
+                        </switch>\r
+                        <switch test="`$ss.resource-key.l3-network`">\r
+                            <outcome value='l3-netework'>\r
+                                <for silentFailure='true' index='n' start='0' end='`$nidx`' >\r
+                                    <block atomic='true'>\r
+                                        <set>\r
+                                            <parameter name='ss.l3-network.related-link' \r
+       value="`'/aai/v$/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />\r
+                                        </set>\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].related-link" value="`$ss.l3-network.related-link`" />\r
+                                            <!--\r
+<parameter name="relationship-list.relationship[0].relationship-data[0].relationship-key" value="l3-network.network-id" /><parameter name="relationship-list.relationship[0].relationship-data[0].relationship-value" value="`$ss.network[$n].netid`" />\r
+-->\r
+                                            <outcome value='failure'>\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>\r
+                                                        <block>\r
+                                                            <block>\r
+                                                                <block>\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>\r
+                                                                            <block>\r
+                                                                                <block>\r
+                                                                                    <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                        <outcome value='generic-vnf'>\r
+                                                                                            <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                        </set>\r
+                                                                                                    </outcome>\r
+                                                                                                </update>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                    <outcome value='vf-module'>\r
+                                                                                        <block>\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
+                                                                                                <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                            <switch test="`$ss.resource-key.volume-group`">\r
+                                                                                <outcome value='volume-group'>\r
+                                                                                    <block>\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
+                                                                                </outcome>\r
+                                                                            </switch>\r
+                                                                        </block>\r
+                                                                        <switch test="`$ss.resource-key.vnfc`">\r
+                                                                            <outcome value='vnfc'>\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
+                                                                                    <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
+                                                                                                            </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
                                                                             </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
+                                                                        <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
+                                                                <switch test="`$ss.resource-key.l-interface`">\r
+                                                                    <outcome value='l-interface'>\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
+                                                                            <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
+                                                                                                            </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
                                                                     </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
+                                                            <switch test="`$ss.resource-key.l-interface`">\r
+                                                                <outcome value='l-interface'>\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
+                                                                            <parameter name="field1" value="ROLLBACK l-interface (oam) save"/>\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
+                                                                        <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
+                                                                </outcome>\r
+                                                            </switch>\r
+                                                        </block>\r
+                                                        <switch test="`$ss.resource-key.l3-network`">\r
+                                                            <outcome value='l3-netework'>\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
+                                                                        <set>\r
+                                                                            <parameter name='tmp.related-link' value="`'/aai/v$/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />\r
+                                                                            <!--\r
+<parameter name='tmp.related-link' value="`'/aai/' + $prop.aai.version + '/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />\r
+-->\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
+                                                                        <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 relationship.related-link = $tmp.related-link" >\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
+                                                                                <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="`' 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
+                                                                                    <parameter name='error-message' value="`$error-message + ' l3-network relationship with related-path = ' + $tmp.related-path  + ' not found in AAI. Consider silent success!'`" />\r
                                                                                 </set>\r
                                                                             </outcome>\r
                                                                             <outcome value='success'>\r
                                                                                 <set>\r
-                                                                                    <parameter name='error-message' value=" Rollback of generic-vnf update completed. " />\r
+                                                                                    <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />\r
                                                                                 </set>\r
                                                                             </outcome>\r
-                                                                        </update>\r
-                                                                    </block>\r
+                                                                        </delete>\r
+                                                                    </for>\r
+                                                                </block>\r
+                                                            </outcome>\r
+                                                        </switch>\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 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
+                                                                        <block>\r
+                                                                            <block>\r
+                                                                                <block>\r
+                                                                                    <switch test="`$ss.resource-key.generic-vnf`">\r
+                                                                                        <outcome value='generic-vnf'>\r
+                                                                                            <block>\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="`$error-message + ' 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="`$error-message + ' 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="`$error-message + ' Rollback of generic-vnf update completed. '`" />\r
+                                                                                                        </set>\r
+                                                                                                    </outcome>\r
+                                                                                                </update>\r
+                                                                                            </block>\r
+                                                                                        </outcome>\r
+                                                                                    </switch>\r
+                                                                                </block>\r
+                                                                                <switch test="`$ss.resource-key.vf-module`">\r
+                                                                                    <outcome value='vf-module'>\r
+                                                                                        <block>\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
+                                                                                                <parameter name="vf-module-name" value='`$tmp.aai.vfmdoule.vf-module-name`' />\r
+                                                                                                <parameter name="selflink" value='`$tmp.aai.vfmdoule.selflink`' />\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
+                                                                                    </outcome>\r
+                                                                                </switch>\r
+                                                                            </block>\r
+                                                                            <switch test="`$ss.resource-key.volume-group`">\r
+                                                                                <outcome value='volume-group'>\r
+                                                                                    <block>\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
+                                                                                            <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
                                                                                 </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
+                                                                        <switch test="`$ss.resource-key.vnfc`">\r
+                                                                            <outcome value='vnfc'>\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
+                                                                            </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 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
+                                                                                    <outcome value='failure'>\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
+                                                                                                <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
-                                                                                            <return status='failure'>\r
-                                                                                                <parameter name='error-code' value='500' />\r
-                                                                                                <parameter name='error-message' value='`$error-message`' />\r
-                                                                                            </return>\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
-                                                                                </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
+                                                                                    <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
+                                                                <switch test="`$ss.resource-key.l-interface`">\r
+                                                                    <outcome value='l-interface'>\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
+                                                                                        <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
+                                                                                                            </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
                                                                     </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
+                                                                </switch>\r
+                                                            </block>\r
+                                                            <switch test="`$ss.resource-key.l-interface`">\r
+                                                                <outcome value='l-interface'>\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
+                                                                                    <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
+                                                                                                        </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
                                                                 </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
+                                                            </switch>\r
+                                                        </block>\r
+                                                        <switch test="`$ss.resource-key.l3-network`">\r
+                                                            <outcome value='l3-netework'>\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
+                                                                        <set>\r
+                                                                            <parameter name='tmp.related-link' value="`'/aai/v$/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />\r
+                                                                            <!--\r
+<parameter name='tmp.related-link' value="`'/aai/' + $prop.aai.version + '/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />\r
+-->\r
+                                                                        </set>\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
+               AND relationship.related-link = $tmp.related-link" >\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
+                                                                                                </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 + ' l3-network relationship with related-path = ' + $tmp.related-path  + ' 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
+                                                            </outcome>\r
+                                                        </switch>\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
                                     </block>\r
-                                </outcome>\r
-                            </save>\r
-                        </for>\r
+                                </for>\r
+                            </outcome>\r
+                        </switch>\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
+                            <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].value' \r
        value='SUCCESS' />\r
                         </set>\r
                     </block>\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
+                                            <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
                                                     <parameter name='ss.param.loopback0-ipv4-address-index' value='`$bidx`' />\r
                                                 </set>\r
                                             </outcome>\r
-                                            <outcome value='aai-vf-module-put'>\r
+                                            <outcome value='ipv4-loopback0-address'>\r
                                                 <set>\r
-                                                    <parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />\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='nfc-naming-code'>\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.vlan-id-outer-index' value='`$bidx`' />\r
                                                 </set>\r
                                             </outcome>\r
+                                            <outcome value='availability_zone_0'>\r
+                                                <set>\r
+                                                    <parameter name='ss.param.availability-zone-0' 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.availability-zone-0-index' value='`$bidx`' />\r
+                                                </set>\r
+                                            </outcome>\r
+                                            <outcome value='aai-vf-module-put'>\r
+                                                <block>\r
+                                                    <set>\r
+                                                        <parameter name='ss.param.aai-vf-module-put-index' value='`$bidx`' />\r
+                                                    </set>\r
+                                                    <for silentFailure='true' index="kidx" 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[$bidx].resource-resolution-data.resource-key_length`">\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].resource-resolution-data.resource-key[$kidx].name`'>\r
+                                                            <outcome value='generic-vnf'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.generic-vnf' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='vf-module'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.vf-module' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='volume-group'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.volume-group' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='vnfc'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.vnfc' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='connection-points'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.connection-points' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='l-interface'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.l-interface' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                            <outcome value='l3-netework'>\r
+                                                                <set>\r
+                                                                    <parameter name='ss.resource-key.l3-network' 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].resource-resolution-data.resource-key[$kidx].value`' />\r
+                                                                </set>\r
+                                                            </outcome>\r
+                                                        </switch>\r
+                                                    </for>\r
+                                                </block>\r
+                                            </outcome>\r
                                         </switch>\r
                                     </outcome>\r
                                 </execute>\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
+                        <block atomic='true'>\r
+                            <switch test="`$ss.resource-key.vnfc`">\r
+                                <outcome value='vnfc'>\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
+                                                        <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
                                             </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
+                                                    <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 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
+                                                    <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
-                                    </for>\r
-                                </for>\r
-                            </block>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\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
+                                    <parameter name="field1" value="ROLLBACK vlan-tag save"/>\r
                                 </record>\r
-                                <switch test="`$ss.param.oam-interface-name != ''`">\r
-                                    <outcome value='true'>\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="l-interface"\r
-               key="l-interface.interface-name = $ss.param.oam-interface-name\r
-               AND generic-vnf.vnf-id = $ss.param.vnf-id" >\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 l-interface.interface-name = ' + $ss.param.oam-interface-name + ' from AnAI. MANUAL ROLLBACK IS REQUIRED! '`" />\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
                                             </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
+                                                    <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 l-interface with interface-name = ' + $ss.param.oam-interface-name + '  completed.'`" />\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
-                                    </outcome>\r
-                                </switch>\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.lo0-interface-name != ''`">\r
-                                    <outcome value='true'>\r
-                                        <delete plugin="org.onap.ccsdk.sli.adaptors.aai.AAIService"\r
+                            <switch test="`$ss.resource-key.l-interface`">\r
+                                <outcome value='l-interface'>\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.lo0-interface-name\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.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
+                                                    <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.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
+                                                                        </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
-                                        </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
+                                        </switch>\r
+                                    </block>\r
+                                </outcome>\r
+                            </switch>\r
+                            <switch test="`$ss.resource-key.l-interface`">\r
+                                <outcome value='l-interface'>\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='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
+                                                                <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
-                                                            <return status='failure'>\r
-                                                                <parameter name='error-code' value='500' />\r
-                                                                <parameter name='error-message' value='`$error-message`' />\r
-                                                            </return>\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
-                                                </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
+                                                    <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
+                                </outcome>\r
+                            </switch>\r
+                            <switch test="`$ss.resource-key.l3-network`">\r
+                                <outcome value='l3-netework'>\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
                                             <set>\r
-                                                <parameter name='error-message' value="`$error-message + ' Rollback (delete) of generic-vnf l3-network relationships completed.'`" />\r
+                                                <parameter name='tmp.related-link' value="`'/aai/v$/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />\r
+                                                <!--\r
+<parameter name='tmp.related-link' value="`'/aai/' + $prop.aai.version + '/network/l3-networks/l3-network/' + $ss.network[$n].netid`" />\r
+-->\r
                                             </set>\r
-                                        </outcome>\r
-                                    </delete>\r
-                                </for>\r
-                            </block>\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 relationship.related-link = $tmp.related-link" >\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 + ' l3-network relationship with related-path = ' + $tmp.related-path  + ' 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
+                                </outcome>\r
+                            </switch>\r
                         </block>\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
                 </outcome>\r
             </switch>\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].value' \r
+       value='SUCCESS' />\r
+            </set>\r
             <execute plugin='org.onap.ccsdk.sli.core.slipluginutils.SliPluginUtils' method='printContext' >\r
-                <parameter name='filename' value='/var/tmp/ss.aai.vfmoduleput.log' />\r
+                <parameter name='filename' value='/var/tmp/ss-aai-vfput.log' />\r
             </execute>\r
         </block>\r
     </method>\r
-</service-logic>
\ No newline at end of file
+</service-logic>\r